この戦略は,2つのEMAクロスオーバーアプローチを取引信号として採用しており,高速EMAは65の期間,遅いEMAは240の期間を有する.また,ボリュームをフィルター条件として使用し,現在のボリュームが指定された
この戦略は,シグナル信頼性を向上させるため,ボリュームフィルター条件と組み合わせて,トレンド決定の基礎として65/240のダブルEMAクロスオーバーを使用している.固定リスクポジションサイジングと固定価格ストップ損失/取利益設定は,ある程度リスクを制御し,リスク・リターン比率を有利な方向に傾けることができる.しかし,この戦略は,比較的遅れのトレンド検出,ポジションサイジングに十分な柔軟性がないこと,およびストップ損失と取利益レベルのダイナミックな調整の欠如などの問題に直面している.将来の最適化および改善は,マルチEMAシステムを構築し,ポジショニングのサイジングを最適化し,ダイナミックなストップ損失と取利益メカニズムを実装し,より安定的かつ信頼性の高い取引パフォーマンスを達成するためにヘッジ指標を組み込むことに焦点を当てることができる.
/*backtest start: 2024-05-06 00:00:00 end: 2024-05-13 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy with 1:3 RR, Volume Filter, and Custom Stop Loss/Take Profit (BTC)", overlay=true, currency="USD", initial_capital=100) // Define EMA lengths ema_length_fast = 65 ema_length_slow = 240 // Calculate EMAs ema_fast = ta.ema(close, ema_length_fast) ema_slow = ta.ema(close, ema_length_slow) // Define crossover conditions bullish_crossover = ta.crossover(ema_fast, ema_slow) bearish_crossover = ta.crossunder(ema_fast, ema_slow) // Plot EMAs plot(ema_fast, color=color.blue, title="Fast EMA") plot(ema_slow, color=color.red, title="Slow EMA") // Define volume filter volume_threshold = 1000 // Adjust as needed // Define risk amount per trade risk_per_trade = 0.5 // $10 USD // Calculate position size based on risk amount stop_loss_distance = 100 take_profit_distance = 1500 position_size = risk_per_trade / syminfo.mintick / stop_loss_distance // Execute trades based on crossovers and volume filter if (bullish_crossover and volume > volume_threshold) strategy.entry("Buy", strategy.long, qty=position_size) strategy.exit("Exit", "Buy", stop=close - stop_loss_distance, limit=close + take_profit_distance) if (bearish_crossover and volume > volume_threshold) strategy.entry("Sell", strategy.short, qty=position_size) strategy.exit("Exit", "Sell", stop=close + stop_loss_distance, limit=close - take_profit_distance)