この戦略は,トレンドフォロー取引を実施するために,異なる期間の4つのEMAラインの比較に基づいています.高速EMAラインが中間EMAラインの上を横切ると,中間EMAラインがスローEMAライン上を横切ると,スローEMAラインが最もスローEMAライン上を横切ると長くなります.逆の交差関係が発生すると短くなります.この戦略は日付フィルター条件も組み込み,指定された日付範囲内で取引するだけです.
この戦略のコアロジックは4つのEMA線の比較に基づいています.EMA線は価格データを効果的にスムーズにし,主要なトレンドを強調することができます.速いEMA線は価格変化を最も速く反映し,中間EMAはいくつかの遅れ,遅いEMAはより遅い,最も遅いEMAは最も遅い.速いEMAが中間EMAを超越したとき,中間EMAが遅いEMAを超越したとき,そして遅いEMAが最も遅いEMAを超越したとき,それは上昇傾向を示し,戦略は長くなります.逆のクロスシーケンスが起こると,それはダウントレンドを示し,戦略はショートになります.
この戦略は日付フィルター条件も使用し,2018-06-01から2019-12-31までの指定日付範囲内で取引するのみです. これにより,この期間の外での異常波動が戦略に影響を及ぼすことは避けられます.
具体的には,4つのEMAラインの期間はそれぞれ8,13,21,34日である.短期および中期トレンドを把握するために比較的短期的である.この戦略は,価格データが指定された日付範囲内でEMA交差関係を満たす場合にのみ取引信号を生成する.
この4EMAトレンド戦略の利点は以下の通りである.
この戦略にはいくつかのリスクもあります:
上記のリスクを軽減するために,いくつかの最適化方向は以下の通りです.
主な最適化方向は以下の通りである.
パラメータ最適化: EMA 期間を異なるサイクルや製品に合わせて調整し,傾向をより良く判断する.
リスク管理取引先は,その取引先の取引先と取引先の取引先の取引先の取引先の取引先の取引先と取引先の取引先の取引先と取引先の取引先の取引先の取引先と取引先の取引先の取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先との取引先の取引先との取引先との取引先との取引先との取引先との取引先の取引先との取引先の
シグナルフィルタリング: 明確なトレンドのないシグナル,例えばRSIやMACDフィルターを避けるために他の補助指標を追加します.
利益 を 得る: 利得を固定し,リトラセシオンを避けるために適切な利益の取り決めルールを設定します.
自動取引: 戦略をパラメータ化し,自動取引システムと統合して適用性を拡大します.
これは4EMA線比較に基づくシンプルで実践的なトレンドフォロー戦略である.迅速に対応し,良いバックテスト結果で短期・中期トレンドを効果的に追跡する.リスクを軽減し効率を高めるためにパラメータを調整し,フィルターを追加し,ストップ損失を最適化することができる.パラメータ化と自動化もまた,より広範な適用性を可能にする重要な方向である.結論として,4EMA戦略は,さらなる研究と最適化に値する堅牢で汎用的な量子取引戦略である.
/*backtest start: 2022-12-19 00:00:00 end: 2023-12-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("4 EMA TREND Strategy ", overlay=true) length1 = input(8, minval=1) outFAST = ema(close,length1) plot(outFAST, color=green ,linewidth=3) length2 = input(13, minval=1) outM = ema(close, length2) plot(outM, color=yellow,linewidth=3) length3 = input(21, minval=1) outSLOW = ema(close, length3) plot(outSLOW, color=red,linewidth=3) length4 = input(34, minval=1) outSLOWEST = ema(close, length4) plot(outSLOWEST, color=black,linewidth=3) price = close yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( (outFAST>outM) and (outM > outSLOW) and(outSLOW>outSLOWEST)) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( (outFAST<outM) and (outM<outSLOW) and (outSLOW <outSLOWEST)) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")