如何在开仓位置找到wma的数据?

How to find data of wma at the open position?

我有这个情节:

WMA_point = wma(close, 9)

plot(WMA_point, title='WMA', color=#000000)

它在图表上画了一条线。当价格上涨时,线向上移动,反之,当价格下跌时,线向下移动。

我知道这取决于“关闭”数据。

我想在(close == open)时找到这个wma的价格数据

编辑:

我的意思是:我想在 (close == open) 出现新蜡烛时获取收盘线 wma(close, 9) 的第一个数据。我不需要开线 wma(open, 9)

的数据

尝试使用 open 作为您的来源:

WMA_point = wma(open, 9)

plot(WMA_point, title='WMA', color=#000000)

干杯,祝您交易和编码好运

因此,当您的条件为 true 时,您需要将价格存储在 var 中。

var float p = na
WMA_point = wma(close, 9)

if (open == close)
    p := WMA_point  // This will have the wma value of the last time open == close

plot(WMA_point, title='WMA', color=#000000)

您可以使用 WMA_point[1],这通常是当前柱的开盘价。如果您想考虑缺口,您需要使用 n-1 个历史收盘价和当前柱的开盘价计算 wma。

//@version=5
indicator("wma open", overlay = true)

len = input.int(10)
     
float wtd_close_sum = 0.0
int denom = 0

for i = 1 to len - 1
    wt = len - i
    wtd_close_sum += close[i] * wt
    denom += wt

wtd_close_sum += open * len
denom += len

wma_open = wtd_close_sum / denom

plot(wma_open)

作为函数:

f_wma_open(_open, _close, _len) =>
    float _wtd_close_sum = 0.0
    int _denom = 0

    for i = 1 to _len - 1
        _wt = _len - i
        _wtd_close_sum += _close[i] * _wt
        _denom += _wt

    _wtd_close_sum += _open * _len
    _denom += _len

    _wma_open = _wtd_close_sum / _denom
    _wma_open