双 EMA クロスオーバー ブレイクアウト 戦略

作者: リン・ハーンチャオチャン,日付: 2023年11月28日 15:39:37
タグ:

img

概要

ダブルEMAクロスオーバーブレイクストラテジーは,取引量ブレイクアウト,キャンドルスタックパターン,価格ブレイクアウトフィルターと組み合わせて,高速および遅いEMAラインのクロスオーバーに基づいて購入および販売シグナルを生成し,信頼性を向上させる.複数の技術指標を統合することで,リスクを制御しながらトレンドを特定することを目的としている.

原則

ダブルEMAクロスオーバーブレイクアウト戦略の核心論理は,2つのEMAのゴールデンクロスオーバー理論にあります.この理論は,短期EMAが長期EMAを超えると上昇傾向を示し,それゆえロングポジションを確立すべきであると信じています.短期EMAが長期EMAを下回ると下落傾向を示し,それゆえショートポジションを確立する必要があります.

戦略は,まず9期と21期EMAを計算する. 9-EMAが21期EMAを超えると,信号が生成される. 9-EMAが21期EMAを下回ると,信号が生成される. 偽信号をフィルタリングするには,以下の条件をチェックする.

  1. ボリューム条件 - 最近のキャンドルのボリュームは,以前の5キャンドルの平均ボリュームの85%を超えておくべきです.これは,取引量が不十分なシグナルをフィルターします.

  2. 価格ブレイク条件 - 入場確認として価格が 9-EMA 以上にブレイクする必要があります.

  3. キャンドルスタイクパターンの状態 - 側向市場でのウィップソーを避けるため,上昇または下落の逆転パターンを特定します.

ロングポジションでは,価格が9EMAを下回ると出口が起動し,ショートポジションでは,価格が9EMAを下回ると出口が起動します.

利点分析

複数の技術指標からの信号を組み合わせることで,ダブルEMAクロスオーバーブレイクアウト戦略は,動向を効果的に特定し,勝利率を向上させることができます.主な利点は以下の通りです.

  1. 主なトレンド方向を決定するために二重EMAを使用することは非常に信頼性があります.

  2. 音量フィルターを追加すると,音量が十分でないときに誤った信号が伝わらない.

  3. キャンドルスタイクパターンのフィルターを追加することで 範囲限定市場からのノイズが 排除されます

  4. 価格の上昇後 EMA に入ると 傾向が確認されます

  5. ストップ・ロスのメカニズムは リスクを積極的に制御します

リスク分析

この戦略にはまだいくつかのリスクがあります

  1. EMAは,不安定な市場中に誤った信号を生成し,損失を引き起こす可能性があります.全体的な傾向判断は,ポジション開設を決定するのに役立ちます.

  2. 固定EMA期間が変化する市場に適応できない場合もあります.適応型EMAはテストできます.

  3. 誤ったキャンドルスタイクパターンを識別する確率はまだあります

  4. この戦略は,いくつかの価格動きを見逃し,不完全なトレンドトラッキングを有することがあります.パラメータ調整または他の戦略との組み合わせが役立ちます.

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

主な最適化方向は以下の通りである.

  1. 最適なパラメータを見つけるために EMAの組み合わせをテストします

  2. 変化する市場状況に基づいて適応可能な EMA を追加します.

  3. ポジションのサイズを異なる市場条件に最適化する.

  4. MACDやKDJなどの指標を組み込み 戦略を組み立てます

  5. 機械学習モデルを導入して 安定性を向上させる

結論

ダブルEMAクロスオーバーブレイクストラテジーは,ダブルEMA方向分析を使用してトレンドを効果的に特定し,リスクを制御しながら効率性を向上させるために複数のボリューム/価格/パターンフィルターを追加する.最適化柔軟性で実装しやすいため,推奨されるブレイクアウトトレンドフォロー戦略です.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author: Andrew Shubitowski
strategy("Buy/Sell Strat", overlay = true)

//Define EMAs & Crossovers (Feature 2)
a = ta.ema(close, 9)
b = ta.ema(close, 21)
crossUp = ta.crossover(a, b)
crossDown = ta.crossunder(a, b)


//Define & calc volume averages (Feature 1)
float volAvg = 0
for i = 1 to 5
    volAvg := volAvg + volume[i]
volAvg := volAvg / 5

//Define candlestick pattern recongition (Feature 4)
bool reversalPatternUp = false
bool reversalPatternDown = false
if (close > close[1] and close[1] > close [2] and close[3] > close[2] and close > close[3])
    reversalPatternUp := true
    
if (close < close[1] and close[1] < close [2] and close[3] < close[2] and close < close[3])
    reversalPatternDown := true

//Execute trade (Feature 3 + 5)
if (crossUp)
    strategy.entry("long", strategy.long, when = ((volume * 0.85) > volAvg and close > a and reversalPatternUp == true))
    
if (crossDown)
    strategy.entry("short", strategy.short, when = ((volume * 0.85) > volAvg and close < a and reversalPatternDown == true))
    
//Exit strategy (New Feature)
close_condition_long = close < a
close_condition_short = close > a
if (close_condition_long)
    strategy.close("long")

if (close_condition_short)
    strategy.close("short")

//plot the EMAs
plot(a, title = "Fast EMA", color = color.green)
plot(b, title = "Slow EMA", color = color.blue)


//Some visual validation parameters
//plotchar(volAvg, "Volume", "", location.top, color.aqua) //*TEST* volume calc check
//plotshape(reversalPatternUp, style = shape.arrowup, color = color.aqua) //*TEST* reversal check
//plotshape(reversalPatternDown, style = shape.arrowup, location = location.belowbar, color = color.red) //*TEST* reversal check

もっと