0

第一次在这里写,但我花了很多时间从这里阅读线程。我是 pinescript 的新手,我真的需要你的帮助。

所以,我正在尝试回测 Ichimoku 策略,即使我认为代码写得很好(没有任何错误),它也不会给我任何交易。目前我只设置了长期策略,但我确信当值为真时,会有不止一个实例。请在下面找到代码:

@version=5

strategy(title="Trading Strategi Ichi", shorttitle="Trading v1", overlay=true)

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="Displacement")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))

conversionLine = donchian(conversionPeriods)

baseLine = donchian(basePeriods)

leadLine1 = math.avg(conversionLine, baseLine)

leadLine2 = donchian(laggingSpan2Periods)

plot(conversionLine, color=#2962FF, title="Conversion Line")

plot(baseLine, color=#B71C1C, title="Base Line")

plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")

p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
     title="Leading Span A")

p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
     title="Leading Span B")

fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

start = timestamp (2021,1,1,0,0)

end = timestamp (2021,12,29,0,0)

//Strategy

LongEntry =  0

if (conversionLine > baseLine and leadLine1 > leadLine2 and close > math.max (leadLine1[9],leadLine2[9]))

    LongEntry := 1

if time >= start and time < end

    strategy.entry (id="Long", direction= strategy.long, qty=5000, limit = close + 2 * (close - math.min (leadLine1[9],leadLine2[9])), stop = math.min (leadLine1[9],leadLine2[9]), when = LongEntry)

非常感谢您的时间和帮助:)!

4

0 回答 0