이 전략은 거래 위험을 제어하기 위해 구성 가능한 비율로 추적되는 중지 메커니즘을 구현한다. 그것은 긴 포지션과 짧은 포지션의 중지 비율을 설정하고, 입문 가격에서 시작하여 지속적으로 우호적인 방향으로 최고 가격 또는 최저 가격을 추적하여 동적인 중지를 구현한다.
이 전략의 주요 논리는 다음과 같습니다.
전략은 사용자 지정된 중지 손실 비율을 허용합니다. 예를 들어 10%로 설정합니다. 긴 포지션이 있으면 최저 가격의 10% 이상으로 실시간으로 중지 손실 라인을 계산합니다. 짧은 포지션이 있으면 최고 가격의 10% 이하로 중지 손실 라인을 계산합니다.
이렇게 하면 스톱 라인이 지속적으로 유리한 방향으로 움직여 동적으로 스톱을 추적하여 수익을 최대한 보호하고 동시에 위험을 통제할 수 있습니다.
어떻게 대처해야 할까요?
이 전략은 다음과 같이 개선될 수 있습니다.
이 전략은 작동하는 비율로 손실을 추적하는 방법을 제공하며, 손실 경계를 동적으로 조정할 수 있습니다. 그것은 이익을 최대한 보호 할 수 있으며, 위험을 효과적으로 제어 할 수 있습니다. 매개 변수 최적화, 지표 통합과 같은 방법으로 손실 전략을 더 지능화하고 최적화 할 수 있습니다.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © theCrypster
//@version=4
strategy("Percent Trailing Stop %", overlay=true)
//ENTER SOME SETUP TRADES FOR TSL EXAMPLE
longCondition = crossover(sma(close, 10), sma(close, 20))
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
shortCondition = crossunder(sma(close, 10), sma(close, 20))
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)
//TRAILING STOP CODE
trailStop = input(title="Long Trailing Stop (%)", type=input.float, minval=0.0, step=0.1, defval=10) * 0.01
longStopPrice = 0.0
shortStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
stopValue = close * (1 - trailStop)
max(stopValue, longStopPrice[1])
else
0
shortStopPrice := if strategy.position_size < 0
stopValue = close * (1 + trailStop)
min(stopValue, shortStopPrice[1])
else
999999
//PLOT TSL LINES
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Long Trail Stop", offset=1, title="Long Trail Stop")
plot(series=strategy.position_size < 0 ? shortStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Short Trail Stop", offset=1, title="Short Trail Stop")
//EXIT TRADE @ TSL
if strategy.position_size > 0
strategy.exit(id="Close Long", stop=longStopPrice)
if strategy.position_size < 0
strategy.exit(id="Close Short", stop=shortStopPrice)