松脚本中的移动平均线

时间:2020-09-02 08:39:14

标签: pine-script algorithmic-trading

我想根据历史数据计算为期两天的简单移动平均线。 我正在使用以下代码来获取前一天的高低收盘价。

// Getting previous 2 days day high low close
prev_daily_high = security(syminfo.tickerid, 'D', high)
prev_daily_low = security(syminfo.tickerid, 'D', low)
prev_daily_close = security(syminfo.tickerid, 'D', close)

但是上面的代码仅获取前一天的数据来计算移动平均线,我需要两天的数据。

cp=(prev_daily_high+prev_daily_low+prev_daily_close)/3
bc=(prev_daily_high+prev_daily_low)/2
tc=2*cp-bc

下面的代码计算两天的SMA(简单移动平均线),但我正在获取的数据是一天的时间”。如何获取两天的数据并获取正确的SMA值?

// two days moving average for the central pivot, top central, bottom central
MAC = sma(cp, 2)
MAB = sma(bc, 2)
MAT = sma(tc, 2)

1 个答案:

答案 0 :(得分:1)

您需要让security()在其HTF上下文中进行计算。在这里,我们使用一个元组通过一次调用获取所有3个值:

MAC = sma(hlc3, 2)
MAB = sma(hl2, 2)
MAT = sma(2*hlc3-hl2, 2)
[dMAC, dMAB, dMAT] = security(syminfo.tickerid, 'D', [MAC, MAB, MAT])

请参阅:
https://www.tradingview.com/pine-script-reference/v4/#var_hlc3
https://www.tradingview.com/pine-script-reference/v4/#var_hl2