问题描述
我有这段代码可用于在基于秒的时间范围内绘制5分钟图表移动平均值,而在较高的时间范围内则不行:
//@version=4
study("5min MAs",overlay=true)
plot(timeframe.isseconds ? security(syminfo.tickerid,'5',ema(close[1],9),lookahead=barmerge.lookahead_on) : ema(close,title="9EMA",color=#ff6d00,linewidth=1)
plot(timeframe.isseconds ? security(syminfo.tickerid,20),title="20EMA",color=#ffeb3b,sma(close[1],200),lookahead=barmerge.lookahead_on) : sma(close,title="200SMA",color=#ff2fbb,linewidth=1)
我希望代码也能够在1分钟和2分钟图表上绘制基于5分钟的MA,以及秒时间范围。
我尝试使用timeframe.isinTraday
而不是timeframe.isseconds
函数,但是基于5分钟的MA也会绘制在我不希望的5分钟以上的时间范围内(例如30min,60min等)。
有没有办法只隔离1分钟和2分钟的时间范围?
我想我需要用timeframe.period
声明一个变量,但不确定如何将其集成。
谢谢, 埃里克
解决方法
我设法弄清楚了
//@version=4
study("5min MAs",overlay=true)
plot(timeframe.isseconds or (timeframe.isintraday and (timeframe.multiplier <= 2)) ? security(syminfo.tickerid,'5',ema(close[1],9),lookahead=barmerge.lookahead_on) : ema(close,title="9EMA",color=#ff6d00,linewidth=1)
plot(timeframe.isseconds or (timeframe.isintraday and (timeframe.multiplier <= 2)) ? security(syminfo.tickerid,20),title="20EMA",color=#ffeb3b,sma(close[1],200),lookahead=barmerge.lookahead_on) : sma(close,title="200SMA",color=#ff2fbb,linewidth=1)