이 전략은 시장의 단기 동력을 포착하기 위해 서로 다른 기간을 가진 두 개의 기하급수적인 이동 평균 (EMA) 의 교차 신호를 사용합니다. 빠른 EMA가 아래에서 느린 EMA를 넘어서면 긴 포지션을 열고 빠른 EMA가 위에서 느린 EMA를 넘어서면 짧은 포지션을 열고 있습니다. 스톱 로스 (stop loss) 및 영리 레벨은 위험을 제어하고 이익을 잠금하도록 설정됩니다. 이것은 동력 효과에 기반한 간단하고 고전적인 단기 거래 전략입니다.
EMA 크로스오버 모멘텀 스칼핑 전략은 초보자가 빠르게 연습하고 양적 거래 프로세스를 익숙해지기 위해 적합하고 사용하기 쉽고 간단한 단기 거래 전략입니다. 전략은 단기 모멘텀 효과를 캡처하고 시장 트렌드 방향을 따르며 위험을 제어하기 위해 일정한 비율의 스톱 로즈와 토크 이윤을 설정 할 수 있습니다. 그러나 전략에는 빈번한 거래, 낮은 위험-이익 비율 및 후퇴 트렌드 인식과 같은 위험도 있습니다. 전략의 위험-이익 및 안정성을 향상시키기 위해 전략의 위험-이익 및 안정성을 향상시키기 위해 전략이 최적화되고 개선 될 수 있습니다.
/*backtest start: 2023-06-08 00:00:00 end: 2024-06-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Scalping Strategy", overlay=true) // Parameters length_fast = input.int(9, title="Fast EMA Length", minval=1) length_slow = input.int(21, title="Slow EMA Length", minval=1) stop_loss_pct = 0.7 // Risk 0.7% of capital take_profit_pct = 0.5 // Target 0.5% of capital // Calculate EMAs ema_fast = ta.ema(close, length_fast) ema_slow = ta.ema(close, length_slow) // Plot EMAs plot(ema_fast, color=color.blue, title="Fast EMA") plot(ema_slow, color=color.red, title="Slow EMA") // Trading logic long_condition = ta.crossover(ema_fast, ema_slow) short_condition = ta.crossunder(ema_fast, ema_slow) // Calculate stop loss and take profit levels stop_loss_long = strategy.position_avg_price * (1 - stop_loss_pct / 100) take_profit_long = strategy.position_avg_price * (1 + take_profit_pct / 100) stop_loss_short = strategy.position_avg_price * (1 + stop_loss_pct / 100) take_profit_short = strategy.position_avg_price * (1 - take_profit_pct / 100) // Enter and exit trades if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) // Exit long trades if (strategy.position_size > 0) strategy.exit("Take Profit Long", "Long", limit=take_profit_long) strategy.exit("Stop Loss Long", "Long", stop=stop_loss_long) // Exit short trades if (strategy.position_size < 0) strategy.exit("Take Profit Short", "Short", limit=take_profit_short) strategy.exit("Stop Loss Short", "Short", stop=stop_loss_short)