ダブルEMAクロスオーバーブレイクストラテジーは,取引量ブレイクアウト,キャンドルスタックパターン,価格ブレイクアウトフィルターと組み合わせて,高速および遅いEMAラインのクロスオーバーに基づいて購入および販売シグナルを生成し,信頼性を向上させる.複数の技術指標を統合することで,リスクを制御しながらトレンドを特定することを目的としている.
ダブルEMAクロスオーバーブレイクアウト戦略の核心論理は,2つのEMAのゴールデンクロスオーバー理論にあります.この理論は,短期EMAが長期EMAを超えると上昇傾向を示し,それゆえロングポジションを確立すべきであると信じています.短期EMAが長期EMAを下回ると下落傾向を示し,それゆえショートポジションを確立する必要があります.
戦略は,まず9期と21期EMAを計算する. 9-EMAが21期EMAを超えると,
ボリューム条件 - 最近のキャンドルのボリュームは,以前の5キャンドルの平均ボリュームの85%を超えておくべきです.これは,取引量が不十分なシグナルをフィルターします.
価格ブレイク条件 - 入場確認として価格が 9-EMA 以上にブレイクする必要があります.
キャンドルスタイクパターンの状態 - 側向市場でのウィップソーを避けるため,上昇または下落の逆転パターンを特定します.
ロングポジションでは,価格が9EMAを下回ると出口が起動し,ショートポジションでは,価格が9EMAを下回ると出口が起動します.
複数の技術指標からの信号を組み合わせることで,ダブルEMAクロスオーバーブレイクアウト戦略は,動向を効果的に特定し,勝利率を向上させることができます.主な利点は以下の通りです.
主なトレンド方向を決定するために二重EMAを使用することは非常に信頼性があります.
音量フィルターを追加すると,音量が十分でないときに誤った信号が伝わらない.
キャンドルスタイクパターンのフィルターを追加することで 範囲限定市場からのノイズが 排除されます
価格の上昇後 EMA に入ると 傾向が確認されます
ストップ・ロスのメカニズムは リスクを積極的に制御します
この戦略にはまだいくつかのリスクがあります
EMAは,不安定な市場中に誤った信号を生成し,損失を引き起こす可能性があります.全体的な傾向判断は,ポジション開設を決定するのに役立ちます.
固定EMA期間が変化する市場に適応できない場合もあります.適応型EMAはテストできます.
誤ったキャンドルスタイクパターンを識別する確率はまだあります
この戦略は,いくつかの価格動きを見逃し,不完全なトレンドトラッキングを有することがあります.パラメータ調整または他の戦略との組み合わせが役立ちます.
主な最適化方向は以下の通りである.
最適なパラメータを見つけるために EMAの組み合わせをテストします
変化する市場状況に基づいて適応可能な EMA を追加します.
ポジションのサイズを異なる市場条件に最適化する.
MACDやKDJなどの指標を組み込み 戦略を組み立てます
機械学習モデルを導入して 安定性を向上させる
ダブル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