Pine script 如何只执行strategy.entry命令一次,然后等待条件重新进入

Pine script 如何只执行strategy.entry命令一次,然后等待条件重新进入,pine-script,Pine Script,我对Pine比较陌生,所以这可能非常简单,但无法解决。我基本上是在尝试应用Ichimoku策略,在价格退出云计算(不一定是在云计算之后,也可能是在云计算之后)和其他条件满足时输入买入/卖出订单。 我的问题是,我只想进行一次交易,然后等到价格回到云端才能进行另一次交易 有人能帮我做第二部分吗 目前,我添加了“PriceinCloud”变量和一个if语句来输入交易,但只在交易后立即满足条件时起作用,我希望在满足条件之前保持打开状态。一旦交易完成,我不知道如何等待价格回到云端,以便能够进入新的交易 谢

我对Pine比较陌生,所以这可能非常简单,但无法解决。我基本上是在尝试应用Ichimoku策略,在价格退出云计算(不一定是在云计算之后,也可能是在云计算之后)和其他条件满足时输入买入/卖出订单。 我的问题是,我只想进行一次交易,然后等到价格回到云端才能进行另一次交易

有人能帮我做第二部分吗

目前,我添加了“PriceinCloud”变量和一个if语句来输入交易,但只在交易后立即满足条件时起作用,我希望在满足条件之前保持打开状态。一旦交易完成,我不知道如何等待价格回到云端,以便能够进入新的交易

谢谢

// © jsmarco

//@version=4
strategy("Ichimoku Strategy", overlay=true)

// Compute the indicators

conversionPeriods = input(9, minval=1, title="Conversion Line Length")
basePeriods = input(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Length")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
laggingSpan = close, offset = -displacement + 1
PriceinCloud = (((close > leadLine1[displacement - 1]) and (close < leadLine2[displacement-1])) or ((close > leadLine2[displacement-1]) and (close < leadLine1[displacement-1])))

// Plot the indicators

plot(conversionLine, color=color.blue, linewidth=2, title="Conversion Line")
plot(baseLine, color=color.white, linewidth=2, title="Base Line")
plot(laggingSpan, offset = -displacement + 1, color=color.yellow, linewidth=1, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=color.green,
     title="Lead 1")
p2 = plot(leadLine2, offset = displacement - 1, color=color.red,
     title="Lead 2")
fill(p1, p2, transp=30, color = leadLine1 > leadLine2 ? color.green : color.red)


// Trading Logic

EnterLong = (close > leadLine2[displacement - 1]) and (close > baseLine) and (conversionLine > baseLine) and (leadLine1 > leadLine2) and (laggingSpan > leadLine2[laggingSpan2Periods - 1]) and (laggingSpan > leadLine1[laggingSpan2Periods - 1])
ExitLong = crossunder(close,baseLine)

// Execution Logic - Placing Trades

if (PriceinCloud)
    strategy.entry("Long",strategy.long,1000,when=EnterLong)

strategy.close("Long",when=ExitLong)
/©jsmarco
//@版本=4
策略(“Ichimoku策略”,overlay=true)
//计算指标
conversionPeriods=输入(9,minval=1,title=“转换行长度”)
basePeriods=输入(26,minval=1,title=“基线长度”)
滞后跨度2周期=输入(52,最小值=1,title=“滞后跨度2长度”)
位移=输入(26,最小值=1,title=“位移”)
唐奇安(len)=>平均值(最低(len),最高(len))
conversionLine=donchian(转换期)
基线=donchian(基期)
leadLine1=平均值(在线、基线)
leadLine2=donchian(滞后期2)
滞后跨度=闭合,偏移量=-位移+1
价格包含=((关闭>引线1[displacement-1])和(关闭<引线2[displacement-1])或((关闭>引线2[displacement-1])和(关闭<引线1[displacement-1]))
//绘制指标
绘图(在线转换,颜色=color.blue,线宽=2,title=“转换线”)
绘图(基线,颜色=color.white,线宽=2,title=“基线”)
绘图(滞后跨度,偏移量=-displacement+1,color=color.yellow,线宽=1,title=“滞后跨度”)
p1=绘图(引线1,偏移量=位移-1,颜色=颜色。绿色,
title=“Lead 1”)
p2=绘图(引线2,偏移量=位移-1,颜色=颜色.red,
title=“潜在客户2”)
填充(p1,p2,传输=30,颜色=引线1>引线2?颜色。绿色:颜色。红色)
//交易逻辑
输入long=(close>leadLine2[displacement-1])和(close>baseLine)和(conversionLine>baseLine)和(leadLine1>leadLine2)和(laggingSpan>leadLine2[laggingSpan2Periods-1])和(laggingSpan>leadLine1[laggingSpan2Periods-1])
ExitLong=交叉(关闭,基线)
//执行逻辑-配售交易
如果(价格包括在内)
strategy.entry(“Long”,strategy.Long,1000,when=EnterLong)
策略关闭(“长”,当=退出长)