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

アダプティブ・EMA・ダイナミック・ポジション・ブレイクアウト・トレード・戦略

作者: リン・ハーンチャオチャン開催日:2024年12月20日16時33分20秒
タグ:エイマTP収益率

img

概要

この戦略は,二重移動平均システムに基づく適応型取引システムで,高速移動平均 (EMA25) とスロー移動平均 (EMA100) のクロスオーバーを通じて購入信号を特定し,ダイナミックストップ損失と利益目標と組み合わせて取引パフォーマンスを最適化します.この戦略は,中長期トレンド取引に適したリスク管理に焦点を当て,ブレークアウト取引アプローチを採用しています.

戦略原則

戦略の基本論理には3つの重要な要素が含まれます.

  1. シグナルシステム: EMA25が EMA100を横切って長信号を生成し,通常上向きの開始を示します.
  2. リスク管理: EMA100 の下にある最新の赤いキャンドルの最低点をストップ・ロストポイントとして使用し,誤ったブレイクによる損失を効果的に防止する.
  3. 利益管理: 利益目標に対して1:3のリスク/報酬比を採用し,2%の利益に達するとストップ・ロスを自動的にブレイク・ペインに調整し,リスクフリーポジション保有を達成する.

戦略 の 利点

  1. 高い信号信頼性: 傾向の確認のためにゆっくりとしたEMAを使用すると,誤った信号を効果的にフィルターします.
  2. 総合的なリスク管理: ダイナミックなストップ・ロース設定とブレイク・コンファレーションメカニズムにより取引リスクが軽減されます.
  3. 安定したリターン特性: 合理的なリスク・リターン比設定は戦略の期待回報を向上させる.
  4. 高自動化レベル: 完全な信号生成,ストップ・ロスト/テイク・プロフィート,ポジション管理ロジックを含む.
  5. 適応力: 異なる市場状況に応じてパラメータを調整できます.

戦略リスク

  1. 振動型市場リスク:横向市場では頻繁にストップ・ロスを引き起こす可能性があります.
  2. 転機リスク:高変動期間の実行の転機に直面する可能性があります.
  3. 偽ブレイクリスク: 移動平均クロスオーバー信号は偽ブレイクを引き起こす可能性があります.
  4. パラメータ敏感性: 移動平均期間の設定は戦略のパフォーマンスに大きく影響する.

戦略の最適化方向

  1. 音量確認を組み込む: 音量指標をシグナルシステムに追加して,ブレイクアウトの信頼性を向上させる.
  2. ストップ・ロスのメカニズムを最適化:より適性のあるため,ATRのダイナミックストップ・ロスを導入することを検討する.
  3. トレンド強度フィルタリングを追加します.エントリータイミングを最適化するために,ADXのようなトレンド強度インジケーターを含みます.
  4. パーフェクト・ポジション・マネジメント: 波動性に基づいてポジションサイズを動的に調整する.
  5. 市場環境の評価を含める: 異なる市場環境で異なるパラメータの設定を採用するための市場体制の識別メカニズムを導入する.

概要

戦略は,動向平均クロスオーバーを通じてトレンド開始点を把握し,ダイナミックなストップ・ロストと利益管理メカニズムと組み合わせ,有利なリスク・リターン特性を達成する.戦略設計は,実用的な要件を完全に考慮し,強力な実用性を示している.提案された最適化方向性を通じて,戦略の安定性と適応性がさらに強化される.中長期の安定したリターンを追求する強いリスク耐性を持つトレーダーに適している.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover with TP and SL (Buy only) and Break-even", overlay=true)

// EMA sozlamalari
emaFastLength = input.int(25, title="Fast EMA Length")
emaSlowLength = input.int(100, title="Slow EMA Length")

// Hisoblash
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)

// Kesishishni aniqlash
bullishCross = ta.crossover(emaFast, emaSlow) // EMA 25 EMA 100 ni yuqoriga kesib o'tganda

// EMA 100 tagidagi oxirgi qizil shamning tagini olish
lastRedCandleLow = ta.valuewhen(close < open and close < emaSlow, low, 0) // EMA 100 pastidagi qizil shamning tagi

// TP va SL darajalarini hisoblash
longSL = lastRedCandleLow
longTP = close + 3 * (close - longSL) // TP SL ga nisbatan 1:2 masofada

// Savdoni ochish va 2% foyda bo'lganda SLni break-even ga o‘zgartirish
if (bullishCross)
    strategy.entry("Buy", strategy.long)  // Buy pozitsiyasini ochish
    strategy.exit("Exit Buy", "Buy", stop=longSL, limit=longTP)  // SL va TP qo'yish

    // 2% foyda bo'lganda SLni break-even ga o'zgartirish
    if (strategy.position_size > 0)
        profitPercentage = (close - strategy.position_avg_price) / strategy.position_avg_price * 100
        if (profitPercentage >= 2)
            strategy.exit("Exit Buy BE", "Buy", stop=strategy.position_avg_price) // SLni break-even ga o'zgartirish

// Signalni ko'rsatish
plotshape(bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// // TP va SL chizish
// if (bullishCross)
//     line.new(x1=bar_index, y1=longSL, x2=bar_index+1, y2=longSL, color=color.red, width=1, extend=extend.none)
//     line.new(x1=bar_index, y1=longTP, x2=bar_index+1, y2=longTP, color=color.green, width=1, extend=extend.none)
//     label.new(bar_index, longSL, text="SL: " + str.tostring(longSL), style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
//     label.new(bar_index, longTP, text="TP: " + str.tostring(longTP), style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)

// EMA chizish
plot(emaFast, color=color.blue, title="Fast EMA (25)")
plot(emaSlow, color=color.orange, title="Slow EMA (100)")

// Alert qo'shish
alertcondition(bullishCross, title="Buy Signal Alert", message="EMA 25 crossed above EMA 100! Buy Signal!")


関連性

もっと