我想在交易视图的 RTH 图表上根据 ETH 数据绘制 20 EMA。
我的脚本目前如下:
// Input for EMA length
emaLength = input(20, title="EMA Length")
// Get the extended hours close prices
extendedTicker = ticker.new(syminfo.prefix, syminfo.ticker, session.extended)
extendedHoursClose = request.security(extendedTicker, timeframe.period, close, lookahead = barmerge.lookahead_on )
// Calculate the EMA based on extended hours data
extendedEma = ta.ema(extendedHoursClose, emaLength)
plot(extendedEma, color=color.red, title="Extended Hours EMA")
然而,这并没有做它应该做的事情,而是在 RTH 图表上绘制常规 RTH EMA。
您应该直接将
ema()
传递给 security()
,而不是获取收盘价并将其用于计算。
extendedEma_2 = request.security(extendedTicker, timeframe.period, ta.ema(close, emaLength), lookahead = barmerge.lookahead_on)
plot(extendedEma_2, color=color.white, title="Extended Hours EMA")
下面是两张图表。
顶部是 RTH,EMA20 为黄线。您的原始输出为红线(与黄线相同),白线是您直接将
ema()
传递到 security()
时得到的结果。
下图是 ETH 与 EMA20。