この戦略の主な目的は,週間の時間枠から日々の取引までの EMA指標をマッピングすることであり,長期的なトレンドから支持を得,日々の取引決定を導くことです.
この戦略は,まず日表上の6日,12日,26日,52日 EMAと,週間のEMAパラメータ設定に対応する42日,84日,182日,364日 EMAを計算する.
次に,42日間のEMAと84日間のEMAの交差値が長期トレンドを決定するために使用され,84日間のEMAと182日間のEMAの交差値が中期トレンドを決定するために使用されます.
短期間 EMA が長期間 EMA を越えるときは,ロング;短期間 EMA が長期間 EMA を越えるときは,閉じる.
このマッピング方法によって 日々の取引で 週間のレベル EMA インジケーターからサポートを得ます 雑音をフィルターし より大きなトレンド機会を捉えるのに役立ちます
この戦略は,日々の取引の柔軟性と週間のEMAの安定性を組み合わせ,以下の利点があります.
週間の EMA は,市場騒音を効果的にフィルターし,実際のトレンド動きを識別できます.日々のトレードでは,日々の形成に基づいてより正確なエントリを選択できます.
週間の EMA パラメータはより安定し,短期的な価格変動の影響は少なくなります.同時に,日々の形成とトレンド判断は,より迅速な出口をもたらします.
EMAクロスは周期的なトレンド逆転点を明確に識別できます. 日常取引を通じてそれらを利用することで,比較的高い勝率を得ることができます.
異なる期間の EMA の組み合わせは,長期,中期,短期間のトレンド機会を把握します.
この戦略は,取引頻度が低く,長期保有に適しています.過剰な取引によるスライプコストを削減します.
この戦略の主なリスクは,
週間のEMAエントリーシグナルが遅れており,最早の価格変動タイミングを把握できなくなります.
エクシットは EMA 交差値に依存し,形状,変動等を考慮せずに,早期の退出につながる可能性があります.
EMAの交差値が少ない場合,一方的な保有が長引く傾向があります.
ストップ・ロスは不要で 引き上げリスクが高く 人工的な管理が必要です
粗いパラメータ調節,異なるコインで最適なパフォーマンスのために調整する必要があります.
リスクは以下によって軽減できます.
他の指標でエントリー形成を特定し EMA信号より先を行く
オーバーホールディングを避けるために ストップ・ロスト,利益を取ることなど
EMA期間を最適化し 異なるコインに適した期間コンボをテストします
多層取引,各階層のポジションのEMAが異なる,一方的な保有リスクが低い.
この戦略は,次の側面においてさらに最適化することができる.
雑音をフィルタリングするために,日々の入力に関するルール,例えば構成,音量などを追加します.
ストックとMACDを組み合わせて 買い過ぎ/売過ぎを判断して より良い入口/出口をします
ストップ・ロスを加え 利益を取って 引き下げを減らして 利益を固定します
EMA期間を最適化し 異なる期間をテストします
DEMA,TEMAのような EMAを試して 順調なパラメータを測ります
異なるEMA信号に基づいて位置サイズを追加します.
異なる取引対の調査パラメータ
ダイナミック EMA 最適化のための機械学習方法を探求する.
これは,長期保有に適した優れたトレンドフォロー戦略です. 週間のトレンド判断と日々の実行を巧みに組み合わせます. 適切な強化により,非常に実用的なマルチタイムフレーム取引システムになることができます.
/*backtest start: 2023-08-20 00:00:00 end: 2023-09-19 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=1 strategy("Investing Weekly mapped to Daily", overlay=true, pyramiding=100) // === PLOTTING EMA === plot(ema(close, 6), color=aqua, transp=0, linewidth=2, title="ema6") plot(ema(close, 12), color=white, transp=0, linewidth=2, title="ema12") plot(ema(close, 26), color=#9802FF, transp=0, linewidth=2, title="ema26") plot(ema(close, 52), color=orange, transp=0, linewidth=2, title="ema52") plot(ema(close, 42), color=aqua, transp=0, linewidth=5, title="W-ema6") plot(ema(close, 84), color=white, transp=0, linewidth=5, title="W-ema12") plot(ema(close, 182), color=#9802FF, transp=0, linewidth=5, title="W-ema26") plot(ema(close, 364), color=orange, transp=0, linewidth=5, title="W-ema52") // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2017, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" // === STRATEGY FOR CRYPTO === ema42= ema(close, 42) ema84= ema(close, 84) ema182= ema(close, 182) enterLong1 = cross(ema42, ema84) and ema42 > ema84 exitLong1 = cross(ema42, ema84) and ema42 < ema84 enterLong2 = cross(ema84, ema182) and ema84 > ema182 exitLong2 = cross(ema84, ema182) and ema84 < ema182 strategy.entry(id="Entry_1", long=true, when=enterLong1) strategy.entry(id="Entry_2", long=true, when=enterLong2) strategy.entry(id="Exit_1", long=false, when=exitLong1) strategy.entry(id="Exit_2", long=false, when=exitLong2)