이 전략은 5주기 및 15주기 기하급수적 이동 평균 (EMA) 의 크로스오버를 기반으로 하는 양적 거래 시스템이다. 합리적인 스톱 로스 및 영리 레벨을 통해 자본을 보호하면서 안정적인 수익을 달성하는 것을 목표로 한다. 이 전략은 고전적인 이동 평균 크로스오버 신호를 사용하여 시장 트렌드 변화를 식별하고 각 거래의 위험 보상 비율을 제어하기 위해 위험 관리 메커니즘과 결합한다.
이 전략의 핵심은 빠른 이동 평균 (5주기 EMA) 와 느린 이동 평균 (15주기 EMA) 사이의 교차를 모니터링하는 것입니다. 5주기 EMA가 15주기 EMA를 넘을 때 긴 신호가 생성되며, 5주기 EMA가 15주기 EMA를 넘을 때 짧은 신호가 생성됩니다. 각 거래 신호에 대해 시스템은 자동으로 1.5%의 스톱 로스 레벨과 3%의 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영업 영
이 전략은 명확한 논리를 가진 잘 구성된 양적 거래 전략이다. 이동 평균 크로스오버를 통해 트렌드 역전 지점을 포착하고 고정 스톱 로스 및 영리 레벨로 리스크 통제를 구현한다. 전략은 사용하기 쉽고 초보자에게 적합하며 추가 최적화에 좋은 기반을 제공한다. 트레이더들은 라이브 구현 전에 철저한 백테스팅을 실시하고 특정 시장 특성에 따라 매개 변수를 최적화하는 것이 좋습니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-26 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true) // Define EMAs ema5 = ta.ema(close, 5) ema15 = ta.ema(close, 15) // Plot EMAs on the chart plot(ema5, title="5 EMA", color=color.blue) plot(ema15, title="15 EMA", color=color.red) // Crossover conditions longCondition = ta.crossover(ema5, ema15) shortCondition = ta.crossunder(ema5, ema15) // Stop-loss and take-profit percentage stopLossPercent = 1.5 // Stop-loss at 1.5% takeProfitPercent = 3.0 // Take-profit at 3% // Calculate stop-loss and take-profit levels for long and short positions longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // Enter long position with stop-loss and take-profit if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit) // Enter short position with stop-loss and take-profit if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit) // Plot stop-loss and take-profit levels plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr) plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)