在绘图指示器中指定时间范围

问题描述

我有这段代码可用于在基于秒的时间范围内绘制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)