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

トリプル・スーパートレンドと指数関数移動平均トレンド

作者: リン・ハーンチャオチャン開催日:2024年12月27日 15:56:53
タグ:エイマATR

img

概要

この戦略は,トレンドフォローのために3つのスーパートレンド指標と指数関数移動平均 (EMA) を組み合わせます. 異なるセンシビリティを持つ3つのスーパートレンドラインと1つのEMAラインを使用して,多次元確認を通じて市場のトレンドを把握します. この戦略は,動的サポート/レジスタンスレベルを計算するためにATR (平均真区間) を利用し,これらのラインに対する価格ポジションに基づいてトレンド方向と取引信号を決定します.

戦略原則

戦略は以下の基本要素で構成されています.

  1. 50期間のEMAは全体的なトレンド方向を決定し,EMAの上の価格が上昇傾向を示し,下の価格が下落傾向を示します.
  2. 3つのスーパートレンドラインが10期ATRを用いて計算され,倍数は3.0,2.0,1.0で,感度が低下する.
  3. エントリーシグナル: 価格がEMAより高く,3つのスーパートレンドラインがすべてバリーシグナルを示し,価格がEMAより低く,3つのスーパートレンドラインがすべてベアシグナルを示し,ショート.
  4. 出口シグナル:第3のスーパートレンドライン (最も敏感でない) が方向を逆転するとポジションを閉じる.

戦略 の 利点

  1. 多重確認メカニズムは信号の信頼性を向上させ 偽信号を減少させる.
  2. 短期と長期の傾向指標を組み合わせて 迅速な対応と安定性を確保します
  3. 市場変動に自動的に調整する ダイナミックストップ・ロスの設定
  4. 調整可能なパラメータで 明確な戦略の論理
  5. 複数の市場サイクルにわたって適用され,普遍性も良好です.

戦略リスク

  1. 取引コストを増加させるため,様々な市場で頻繁な取引を生む可能性があります. 解決策:信号フィルターを追加するか,移動平均期を延長します.

  2. トレンド逆転の開始時の潜在的な遅延 解決策: 支援のために動力指標を組み込む.

  3. 複数の確認が必要な場合 収益性の高い機会を逃すかもしれません 解決策: 市場特性を考慮して確認条件を調整する.

戦略の最適化方向

  1. 追加的な確認のために,音量指標を組み込む.
  2. 市場状況に動的に適応する適応性パラメータメカニズムを開発する.
  3. 波動性の高い期間にポジションサイズを調整するために波動性フィルターを追加します.
  4. ストップ・ロスのメカニズムを最適化し 遅いストップを考慮する
  5. 最大抽出制限を持つ抽出制御モジュールを追加する.

概要

これは論理的に厳格で安定したトレンドフォロー戦略である.複数の技術指標を組み合わせることで,良質なリスク制御能力を維持しながら信号の信頼性を確保する.戦略パラメータは高度に調整可能で,異なる市場条件に最適化することができる.固有の遅延がある一方で,適切な最適化はリスクと利益の間の良いバランスを達成することができる.


/*backtest
start: 2024-12-19 00:00:00
end: 2024-12-26 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend EMA Strategy", overlay=true)

// Input Parameters
ema_length = input(50, title="EMA Length")
supertrend_atr_period = input(10, title="ATR Period")
supertrend_multiplier1 = input.float(3.0, title="Supertrend Multiplier 1")
supertrend_multiplier2 = input.float(2.0, title="Supertrend Multiplier 2")
supertrend_multiplier3 = input.float(1.0, title="Supertrend Multiplier 3")

// Calculations
emaValue = ta.ema(close, ema_length)

[supertrend1, SupertrendDirection1] = ta.supertrend(supertrend_multiplier1, supertrend_atr_period)
[supertrend2, SupertrendDirection2] = ta.supertrend(supertrend_multiplier2, supertrend_atr_period)
[supertrend3, SupertrendDirection3] = ta.supertrend(supertrend_multiplier3, supertrend_atr_period)

// Plot Indicators
plot(emaValue, title="EMA", color=color.blue, linewidth=2)
plot(supertrend1, title="Supertrend 1 (10,3)", color=(SupertrendDirection1 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line)
plot(supertrend2, title="Supertrend 2 (10,2)", color=(SupertrendDirection2 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line)
plot(supertrend3, title="Supertrend 3 (10,1)", color=(SupertrendDirection3 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line)

// Entry Conditions
long_condition = (SupertrendDirection1 == -1 and SupertrendDirection2 == -1 and SupertrendDirection3 == -1 and close > emaValue)
short_condition = (SupertrendDirection1 == 1 and SupertrendDirection2 == 1 and SupertrendDirection3 == 1 and close < emaValue)

// Exit Conditions
long_exit = (SupertrendDirection3 == 1)
short_exit = (SupertrendDirection3 == -1)

// Execute Strategy
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

if (long_exit)
    strategy.close("Long")
if (short_exit)
    strategy.close("Short")


関連性

もっと