資源の読み込みに... 荷物...

マルチタイムフレームトレンド 200 EMA フィルター付きの戦略をフォローする - 長期のみ

作者: リン・ハーンチャオチャン開催日:2024年5月23日 18:07:50
タグ:エイマ

img

概要

この戦略は,マルチタイムフレーム指数関数移動平均値 (EMA) と200期EMAフィルターに基づくトレンドフォロー戦略である.主なアイデアは,異なるタイムフレームでEMAを使用して市場のトレンド方向を特定し,トレンドが上昇し,価格が200期EMAを超えるとロングポジションを確立することである.これは,強い上昇傾向の間にのみ取引を行うことを保証し,定義されたストップ・ロストとテイク・プロフィートメカニズムでリスクを管理しながら持続的な上昇動きを捉えることを目的としている.

この戦略は5分,15分,30分という3つのタイムフレームを使用し,それぞれに速いEMAと遅いEMAを計算する.各タイムフレームの速いEMAと遅いEMAを比較することで,トレンド方向を決定することができる. 3つのタイムフレームからのトレンド信号は,組み合わせたトレンド信号を得るために合計される. 組み合わせたトレンド信号が3 (すべてのタイムフレームに上昇傾向を示す) で,現在の閉値が5分のタイムフレームで200期EMAを超えると,戦略はロングポジションに入ります. 組み合わせたトレンド信号が3を下回り,または価格が5分の200期EMAを下回るとポジションは閉鎖されます.

戦略の原則

  1. 5分,15分,および30分間の時間枠で高速EMA (デフォルト9期) と遅いEMA (デフォルト21期) を計算する.
  2. 傾向フィルターとして 5 分間の時間枠で 200 期間の EMA を計算する.
  3. 各タイムフレームで,速いEMAと遅いEMAを比較する.遅いより速いEMAは上昇傾向 (+1) を示し,速いより遅いEMAは下落傾向 (-1) を示します.
  4. 3つのタイムフレームからのトレンド信号を合計して,範囲 [-3, 3] のトレンド信号を組み合わせます.
  5. トレンドシグナルが3 (強い上昇傾向) となり,現在の閉場価格が5分間の200期 EMAを超えるとロングポジションを入れます.
  6. 合同トレンド・シグナルが3を下回る (上昇傾向の弱化) または価格が5分間の200期EMAを下回るときにポジションを閉じる.
  7. ストップ・ロスは入場価格より 1%低く,テイク・プロフィートは入場価格より 3%高く設定します.

利点

  1. 複数のタイムフレームからのトレンド・シグナルを利用することで,戦略は市場のトレンドをより包括的に評価し,誤った信号を減らすことができます.
  2. 200期間のEMAフィルターは,強烈な上昇傾向のときにのみ取引を行うことを保証し,成功率を高めます.
  3. ストップ・ロストとテイク・プロフィートの加わりに 厳格なエントリー・エクジット条件は リスクを制御し リスク・リターン比を向上させるのに役立ちます
  4. 調整可能なパラメータにより,戦略は異なる市場や取引スタイルに適応できます.

リスク

  1. 戦略はトレンドターニングポイントにゆっくり反応し,最適なエントリー機会を逃す可能性があります.
  2. 頻繁な入出が取引コストを増加させる可能性があります.
  3. 固定ストップ・ロスのレベルは,非常に不安定な市場で早急に退場につながる可能性があります.
  4. トレンド決定は過去データに基づいているため,予期せぬ出来事による急激な価格変動に迅速に対応しない可能性があります.

オプティマイゼーションの方向性

  1. より多くの時間枠を導入するか,既存の時間枠の選択を最適化して,傾向の特定の正確性とタイミングを向上させる.
  2. ストップ・ロストとテイク・プロフィートのレベルを最適化し,トライリング・ストップやダイナミック・テイク・プロフィートを導入し,異なる市場状況に適応する.
  3. 戦略の安定性を高めるため,多要素のエントリーと出口条件を形成するために,ボリューム,インパルス,などなどの追加の信号をトレンド信号と一緒に組み込む.
  4. パラメータを最適化して 現在の市場に最適な組み合わせを見つけます
  5. この戦略の適用性を拡大するために,ショートセールメカニズムを追加することを検討します.

概要

この戦略は,トレンドフィルターとして200期EMAを使用しながら,複数のタイムフレームでEMAを比較することによってトレンド方向を決定する.トレンドが明らかに上昇し,価格は長期移動平均値を超える場合,強い上昇傾向を捉えることを目的としてロングポジションを確立する.厳しいエントリーと出口条件と固定ストップ・ロストとテイク・プロフィートレベルはリスクを管理するのに役立ちます.しかし,戦略はトレンドターニングポイントにゆっくり反応し,固定ストップ・ロストとテイク・プロフィートレベルによる急激な市場変動に対処する上で制限があります. ストップ・ロストとテイク・プロフィートのレベルを最適化し,追加の取引信号を組み込み,パラメータを最適化し,市場機会をよりうまく把握し,リスクを制御することで,将来的には戦略の適応性と強度が向上することができる.


/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
fast_length = input.int(9, title="Fast EMA Length", minval=1)
slow_length = input.int(21, title="Slow EMA Length", minval=1)
filter_length_200 = input.int(200, title="200 EMA Length", minval=1)
stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100
take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100

// Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes
ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

// Calculate 200 EMA for the 5-minute timeframe
ema_200_5min = ta.ema(close, filter_length_200)

// Determine the trend for each timeframe
trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1
trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1
trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1

// Combine trend signals
combined_trend = trend_5min + trend_15min + trend_30min

// Define entry and exit conditions with 200 EMA filter
enter_long = combined_trend == 3 and close > ema_200_5min
exit_long = combined_trend < 3 or close < ema_200_5min

// Plot EMAs for the 5-minute timeframe
plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min")
plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min")
plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min")

// Strategy execution
if (enter_long)
    strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc))
if (exit_long)
    strategy.close("Long")


関連性

もっと