松脚本。动态止损
Pine Script. Dynamic Stop Loss
思路:开仓后,我们记住最大蜡烛读数,并在每根新蜡烛后寻找最高价。根据最高价格,我们设置止损。例如,比当前蜡烛的收盘价低 25 点,但不高。请帮我。
enter image description here
有关 Pine's execution model 的详细信息,请参阅此处。
请注意此处如何使用 var
仅在第一个柱上初始化变量,这具有将它们的值从柱传播到柱的次要效果。
我们在这里使用两次 ATR(7) 作为从入场时的 low
和之后的最高 in-trade 高位减去的值。
//@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)
思路:开仓后,我们记住最大蜡烛读数,并在每根新蜡烛后寻找最高价。根据最高价格,我们设置止损。例如,比当前蜡烛的收盘价低 25 点,但不高。请帮我。 enter image description here
有关 Pine's execution model 的详细信息,请参阅此处。
请注意此处如何使用 var
仅在第一个柱上初始化变量,这具有将它们的值从柱传播到柱的次要效果。
我们在这里使用两次 ATR(7) 作为从入场时的 low
和之后的最高 in-trade 高位减去的值。
//@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)