
이 전략은 기술 분석에 기반한 트렌드 추적 시스템으로, 주로 50주기 지수 이동 평균 ((EMA) 와 200주기 간단한 이동 평균 ((MA) 의 교차 신호를 사용하여 시장의 트렌드를 포착한다. 전략은 동적 중지 손실 장치를 통합하여 미리 설정된 중지 손실과 중지 지점을 통해 위험을 제어하고 수익을 잠금합니다. 이 조합은 전략이 큰 트렌드를 파악할 수 있게 하고, 시장이 역전될 때 적시에 손실을 멈출 수 있게 한다.
이 전략의 핵심 논리는 두 개의 평행선의 교차 판단에 기초한다: 50 주기 EMA가 200 주기 MA를 상향으로 통과할 때, 시스템은 다중 신호를 발생시킨다; 50 주기 EMA가 200 주기 MA를 상향으로 통과할 때, 시스템은 공백 신호를 발생시킨다. 매번 포지션 개시 후, 시스템은 자동으로 중지 손실 입점 (시장 가격에서 3 포인트 아래) 과 중지 입점 (시장 가격에서 7.5 포인트 아래) 을 설정한다. 또한 역전 신호가 발생했을 때, 시스템은 자동으로 현재 포지션을 평정하여 포지션 취지 방향과 시장 추세와 상반되는 것을 방지한다.
이 전략은 고전적인 쌍평선 교차 시스템과 동적 스톱스톱스 메커니즘을 결합하여 완전한 트렌드 추적 거래 시스템을 구축한다. 전략의 장점은 체계화도가 높고, 위험 관리가 완벽하지만, 실제 적용에서는 특정 시장 환경과 자금 규모에 따라 최적화된 조정이 필요하다. 더 많은 기술 지표와 재원 관리 방법을 개선함으로써 전략의 안정성과 수익성을 향상시킬 여지가 있다. 안정적인 수익을 추구하는 투자자에게는 참고할 만한 기본 전략 프레임워크이다.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-24 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("200 MA & 50 EMA Crossover Strategy with **Estimated** SL & TP", overlay=true)
// Parameters for the 200 MA and 50 EMA
ma200 = ta.sma(close, 200) // 200-period simple moving average
ema50 = ta.ema(close, 50) // 50-period exponential moving average
// Plot the MA and EMA on the chart
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ema50, color=color.red, linewidth=2, title="50 EMA")
// Define **estimated** stop loss and take profit values
// SL = 3 points, TP = 7.5 points from the entry price
sl_points = 3
tp_points = 7.5
// Buy signal: when the 50 EMA crosses above the 200 MA (bullish crossover)
if (ta.crossover(ema50, ma200))
strategy.entry("Buy", strategy.long)
// Set **estimated** stop loss and take profit strategy.exit("Take Profit/Stop Loss", "Buy", stop=strategy.position_avg_price - sl_points, limit=strategy.position_avg_price + tp_points)
// Sell signal: when the 50 EMA crosses below the 200 MA (bearish crossover)
if (ta.crossunder(ema50, ma200))
strategy.entry("Sell", strategy.short)
// Set **estimated** stop loss and take profit strategy.exit("Take Profit/Stop Loss", "Sell", stop=strategy.position_avg_price + sl_points, limit=strategy.position_avg_price - tp_points)
// Optional: Close the position when an opposite signal appears
if (strategy.position_size > 0 and ta.crossunder(ema50, ma200))
strategy.close("Buy")
if (strategy.position_size < 0 and ta.crossover(ema50, ma200))
strategy.close("Sell")