この戦略は,トレンドを決定し,潜在的な買取・販売機会を特定するために,移動平均の黄金十字と死亡十字を使用する. 急速な移動平均と遅い移動平均の両方を使用し,そのクロスオーバーに基づいて取引信号を生成する.
この戦略は,異なるタイムフレームを持つ2つの移動平均を採用する.最初のMAは,短期的な価格動向を把握するために20日に設定された短いタイムフレームを有する.第二のMAは,長期的トレンドを測定するために120日に設定された長いタイムフレームを有する.
より速いMAがより遅いMAを超えると,短期間の上昇傾向を示す黄金十字が発生し,買い信号が生成される.より速いMAがより遅いMAを下回ると,短期間の下落傾向を示す死亡十字が発生し,売り信号が生成される.
この戦略は,MAsのクロスオーバーを検出するためにta.crossoverとta.crossunderを使用します.クロスオーバーが特定されると,対応する購入または販売信号が起動します.
この戦略の最大の利点は,そのシンプルさである.移動平均値は,最も一般的な技術分析ツールの一つであり,非プロフェッショナルでも理解しやすい.MAsはまた,効果的に市場のノイズをフィルタリングし,トレンドの方向性を識別する.
より複雑な指標と比較して,MAは戦略に実装するのは比較的簡単です.堅牢なシステムを作成するには,MA期間を最適化する必要があります.
さらに,MA戦略は柔軟性があります.パラメータは,長期から短期まで,異なる製品と時間枠に調整できます.
主なリスクは,傾向が振動するときに頻繁に誤った信号を生成するウィップソーです.この場合は,騒音をフィルタリングするためにMA期間を適切に調整する必要があります.
もう一つの潜在的なリスクは,MAsの遅延性です.新しい傾向を反映するためにMAsには時間がかかります.これは滑り込みを引き起こす可能性があります.
また,戦略は,主要なニュースのような突然の出来事の影響も考慮していない.これらはMAsの有効性を無効にすることができる.リスクを制御するために停止が実施されるべきである.
戦略は以下を通じてさらに強化できます.
バランスバインド市場での 誤った信号を避けるため 音量などのフィルターを追加します
適性MAsを使用し,波動性に基づいて期間を調整します.
MACDやストキャスティックなどの指標を組み合わせて 信号を確認します
価格チャネルを確立し 突破の信号のみを考慮します
ストップ・ロスを導入し 利益を引き出すことで 安定性を高める
MAクロスオーバー戦略は,高速および遅いMAをクロスすることでシグナルを生成する.使いやすくてトレンドを識別できるが,誤ったシグナルと遅延のリスクも伴う.最適化されたパラメータ,追加されたフィルター,インジケーターの組み合わせにより,持続可能性が大幅に向上することができる.全体として,MA戦略は,トレーダーのために研究し適用する価値のある実践的なトレンドフォローリングシステムである.
/*backtest start: 2022-09-21 00:00:00 end: 2023-09-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © brandlabng //@version=5 //study(title="Holly Grail FX", overlay = true) strategy('HG|E30m', overlay=true) src = input(close, title='Source') price = request.security(syminfo.tickerid, timeframe.period, src) ma1 = input(20, title='1st MA Length') type1 = input.string('EMA', '1st MA Type', options=['EMA']) ma2 = input(120, title='2nd MA Length') type2 = input.string('EMA', '2nd MA Type', options=['EMA']) price1 = if type1 == 'EMA' ta.ema(price, ma1) price2 = if type2 == 'EMA' ta.ema(price, ma2) //plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0) plot(series=price1, style=plot.style_line, title='1st MA', color=color.new(#219ff3, 0), linewidth=2) plot(series=price2, style=plot.style_line, title='2nd MA', color=color.new(color.purple, 0), linewidth=2) longCondition = ta.crossover(price1, price2) if longCondition strategy.entry('Long', strategy.long) shortCondition = ta.crossunder(price1, price2) if shortCondition strategy.entry('Short', strategy.short)