この戦略は,異なる期間の2つの移動平均値 (MA) を使って取引信号を生成する.短期MAが下から長期MAを超えると,購入信号を生成する.短期MAが上から長期MAを下に突破すると,販売信号を生成する.この戦略の背後にある主なアイデアは,MAのトレンド追跡特性を活用し,MAクロスオーバーを通じてトレンド変化を取引目的で捉えることです.
双動平均クロスオーバー戦略は,異なる期間の2つのMAのクロスオーバーを通じてトレンド変化を把握するシンプルで使いやすいトレンドトラッキング戦略である.この戦略の利点は明確な論理,明示的な信号,トレンド市場への適性である.しかし,不安定な市場で,この戦略はより多くの偽信号を生み出し,取引を損なう可能性がある.したがって,実用的な応用では,トレンドフィルターを追加し,利益とストップロスを最適化し,パラメータを動的に最適化し,適応性と安定性を高めるために他の信号と組み合わせることで戦略のパフォーマンスを改善することができる.
/*backtest start: 2023-05-22 00:00:00 end: 2024-05-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Combined Strategy", overlay=true) // Moving Averages Length Inputs short_length = input.int(20, "Short MA Length") long_length = input.int(50, "Long MA Length") // Moving Averages ma_short = ta.sma(close, short_length) ma_long = ta.sma(close, long_length) // Buy Condition (Moving Average Crossover) buy_condition = ta.crossover(ma_short, ma_long) plotshape(series=buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) // Sell Condition (Moving Average Crossover) sell_condition = ta.crossunder(ma_short, ma_long) plotshape(series=sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Strategy Entry and Exit if (buy_condition) strategy.entry("Buy", strategy.long) if (sell_condition) strategy.entry("Sell", strategy.short) // Debug statements if (buy_condition) label.new(x=bar_index, y=low, text="Buy Signal", color=color.green, style=label.style_label_up) if (sell_condition) label.new(x=bar_index, y=high, text="Sell Signal", color=color.red, style=label.style_label_down)