我如何实现基于进场百分比的止损?


//@version=5
strategy("3 Minute", overlay=true)
// Add momentum indicator
source = close
length = input.int(20, minval=1)
mom = ta.mom(source, length)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = ta.crossover(source, lower)
sellEntry = ta.crossunder(source, upper)
if (ta.crossover(source, lower))
strategy.entry("Buy Calls", strategy.long, oca_name="BollingerBands", oca_type=strategy.oca.cancel, comment="Buy Calls")
else
strategy.cancel(id="BBandLE")
if (ta.crossunder(source, upper))
strategy.entry("Buy Puts", strategy.short, oca_name="BollingerBands", oca_type=strategy.oca.cancel, comment="Buy Puts")
else
strategy.cancel(id="BBandSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
// Add plot for momentum
plot(mom, title="Momentum", color=color.blue)

我试过了,并不是我得到了一个错误,它只是似乎不影响任何事情。我只是需要帮助实现基于入场的止损,而不是跟踪止损。

您应该使用strategy.position_avg_price内置变量来获得您的平均头寸价格,然后在此基础上计算您的获利和止损。

下面是你做多的例子:

tp_per = 5 * 0.01 // 5%
sl_per = 2 * 0.01 // 2%
long_tp_price = strategy.position_avg_price + (1 * tp_per)
long_sl_price = strategy.position_avg_price - (1 * sl_per)
if (strategy.position_size > 0)
strategy.exit("Calls Exit", "Buy Calls", stop=long_sl_price, limit=long_tp_price)

最新更新