如何在Pinescript中编写Ichimoku多头条件(含Chikou Span取值)
Ichimoku云指标多头持仓条件:正确获取Chikou Span(延迟线)数值
你需要实现的多头持仓条件是当前收盘价同时满足:
- 高于Tenkan sen(转换线)
- 低于Chikou span(延迟线)
你在计算Chikou span时遇到了问题,之前尝试的两种方法(close < high[displacement]、ta.mom(close, displacement - 1) < 0)都无法正确获取该指标数值。
解决方案
Chikou span(延迟线)的定义是当前收盘价向后偏移指定周期(displacement)的数值,正确的变量赋值方式如下:
LagSpan = close[displacement]
完整修改后代码
//Ichimoku Code conversionPeriods = input.int(9, minval=1, title="Conversion Line Length") basePeriods = input.int(26, minval=1, title="Base Line Length") laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length") displacement = input.int(26, minval=1, title="Lagging Span") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = math.avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) //-----Calculating Lagging Span-----// LagSpan = close[displacement] // 正确的Chikou Span计算方式 //-----Ichimoku Buy Condition-----// IchiLong = close > conversionLine and close < LagSpan ? 1 : 0
之前方法错误原因
- 方法a用
high[displacement]:Chikou span基于收盘价而非最高价,偏移周期对应的是收盘价序列,因此该取值逻辑错误 - 方法b用
ta.mom(close, displacement - 1):动量指标计算的是当前收盘价与N周期前收盘价的差值,和Chikou span直接偏移取值的逻辑完全不同
内容的提问来源于stack exchange,提问作者samir7399
相关产品推荐
相关产品推荐

