Pine script 松树脚本。动态停止损耗

Pine script 松树脚本。动态停止损耗,pine-script,Pine Script,想法:开仓后,我们会记住最大蜡烛读数,并在每支新蜡烛后寻找最高价格。根据最高价格,我们设定止损。例如,下跌25点,但不高于当前蜡烛的收盘价。请帮帮我。 有关详细信息,请参见此处 请注意,此处如何仅在第一个条上初始化变量,这具有将其值从一个条传播到另一个条的次要效果 我们在这里使用两倍的ATR(7)作为从进入时的低点和之后的交易高点中减去的值 //@version=4 study("", "", true) entry = rising(close, 5)

想法:开仓后,我们会记住最大蜡烛读数,并在每支新蜡烛后寻找最高价格。根据最高价格,我们设定止损。例如,下跌25点,但不高于当前蜡烛的收盘价。请帮帮我。

有关详细信息,请参见此处

请注意,此处如何仅在第一个条上初始化变量,这具有将其值从一个条传播到另一个条的次要效果

我们在这里使用两倍的ATR(7)作为从进入时的
低点和之后的交易高点中减去的值

//@version=4
study("", "", true)
entry = rising(close, 5)
myAtr = 2 * atr(7)

var inTrade = false
var float stop = na
var float inTradeHi = na
if entry and not inTrade
    // Enter.
    inTradeHi := high
    inTrade := true
    stop := low - myAtr
if inTrade
    if close < stop[1]
        // Exit.
        inTrade := false
    else
        // In a trade; update stop.
        inTradeHi := max(inTradeHi, high)
        stop := inTradeHi - myAtr

tradeEntry = not inTrade[1] and inTrade
tradeExit = inTrade[1] and not inTrade
plotchar(tradeEntry, "tradeEntry", "▲", location.belowbar, color.lime, size = size.tiny)
plotchar(tradeExit,  "tradeExit",  "▼", location.abovebar, color.fuchsia, size = size.tiny)
plot(inTrade ? stop : na, "Stop", color.fuchsia, 1, plot.style_circles)
/@version=4
研究(“,”,真)
入口=上升(关闭,5)
myAtr=2*atr(7)
var inTrade=假
var浮动停止=na
var浮点数=na
如果输入而不是内部编码
//进入。
inTradeHi:=高
内部编码:=真
停止:=低-myAtr
如果内部编码
如果关闭<停止[1]
//退出。
内部编码:=假
其他的
//在行业中;更新停止。
inTradeHi:=最大值(inTradeHi,高)
停止:=inTradeHi-myAtr
tradeEntry=非内部编码[1]和内部编码
tradeExit=inTrade[1]而不是inTrade
plotchar(贸易条目,“贸易条目”▲", location.belowbar,color.lime,size=size.tiny)
plotchar(tradeExit,“tradeExit”,“▼,location.overbar,color.fuchsia,size=size.tiny)
绘图(图内?停止:na,“停止”,颜色。紫红色,1,绘图。样式\u圆)

这不是一个指标编写服务。这是一个论坛,Pine编码人员可以在这里互相帮助解决编码难题,这通常需要他们有代码来显示他们遇到的困难。我实际上编写了代码,但没有给出任何结果。解决这个问题的想法是我们记住蜡烛和com之前的最大值将其与当前脚本进行比较,但要开始执行此操作,我们需要在循环外定义具有最小值的“maxPrice”变量。事实上,我们的整个脚本是一个循环(如果我理解正确,那么每一个新蜡烛或每一个记号,我们的脚本都会完全运行),因此,如果我们用最小值定义一个变量,然后更改它,那么下一个蜡烛或记号,我们的变量将再次重置,并且我们将丢失该值,对吗?第二个选项:您可以设置一个条件,即在第一次迭代中不定义该变量,即类似于if(maxPrice==null)例如在Java中。这似乎是合乎逻辑的,但不幸的是,我还没有在Pine脚本中找到替代方案。从逻辑上编写搜索最大值并不困难,但在这种语言中,不幸的是,我想不出解决此问题的方法。如果我在某些方面有错误,请纠正我。这很好!非常感谢!)