이 전략은 빠른 EMA (9주기) 와 느린 EMA (21주기) 의 크로스오버를 입력 신호로 사용하며, 수익을 차단하고 과도한 마감을 피하기 위해 후속 스톱 로스를 포함합니다.
빠른 EMA가 아래에서 느린 EMA를 넘을 때, 구매 신호가 생성됩니다. 빠른 EMA가 위에서 느린 EMA를 넘을 때, 판매 신호가 유발됩니다.
일단 입력되면, 전략은 실시간으로 가장 높은 최고치를 추적하고 현재 가격이 가장 높은 최고치보다 2% 떨어지면 수익을 잠금합니다.
위험 해결 방법:
이 전략은 트렌드 식별과 위험 통제의 장점을 통합합니다. 매개 변수 조정 및 최적화로 다른 시장 유형 및 거래 도구에 적응 할 수 있으며 추가 테스트와 연습 가치가 있습니다.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-19 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA Crossover with Trailing Stop-Loss", overlay=true) fastEMA = ema(close, 9) slowEMA = ema(close, 21) // Entry conditions longCondition = crossover(fastEMA, slowEMA) shortCondition = crossunder(fastEMA, slowEMA) // Trailing stop-loss calculation var float trailingStop = na var float highestHigh = na if (longCondition) highestHigh := na trailingStop := na if (longCondition and high > highestHigh) highestHigh := high if (strategy.position_size > 0) trailingStop := highestHigh * (1 - 0.02) // Adjust the trailing percentage as needed // Execute trades strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) // Apply trailing stop-loss to long positions strategy.exit("Long", from_entry="Long", loss=trailingStop) // Plot EMAs and Trailing Stop-Loss plot(fastEMA, color=color.green, title="Fast EMA") plot(slowEMA, color=color.red, title="Slow EMA") plot(trailingStop, color=color.orange, title="Trailing Stop-Loss", linewidth=2)