MACD長期反転戦略


作成日: 2023-12-15 13:55:38 最終変更日: 2023-12-15 13:55:38
コピー: 0 クリック数: 718
1
フォロー
1621
フォロワー

MACD長期反転戦略

概要

MACDロングライン反転戦略は,MACD指数を使用して価格ロングライン反転を識別し,ロングライン取引を行う戦略である.この戦略は,MACDの高速SMAラインと遅いSMAラインの差値を使用してMACD指数を構築し,MACD指数の柱状の回転形状を使用して価格の潜在的ロングライン反転の機会を識別する.価格反転の機会が認識されたときに,戦略は方向的なロングラインを導入する.

戦略原則

この戦略は,6日間のEMAをMACD快線,26日間のEMAをMACD慢線,快線と慢線の差分をMACDとし,MACDの9日間のSMAを信号線として計算する.快慢線差分すなわち柱状線は,ゼロタイムでバランスを表し,正の長線で上昇し,負の長線で低下する.

この策略の取引論理は,MACDの柱状線が上して前の柱状線を上回るとき (差値の拡大),価格が長線に逆転して看板になると考える (買入のタイミング);MACDの柱状線が下落して前の柱状線を上回るとき (差値の縮小),価格が長線に逆転して看板になると考える (売り出のタイミング).偽の信号をフィルターするために,この策略は,2本の柱状線が実際に逆転して再開するのを待つ.

優位分析

  • MACD指標の長期平均線差を用いて,価格の長線逆転を識別する
  • 双線交差形フィルター 偽突破,高殺低追及を避ける
  • MACDのパラメータは,異なる市場環境に対応して調整できます.
  • 設定可能なストップ・ロース戦略,単一損失の制御

リスクと解決策

  • MACDの分岐により,取引機会が失われました.
    • RSIと組み合わせる最適化
  • 震災中に複数の誤った反転信号が発せられた.
    • 移動ストップを増加させ,損失を減らす; MACDパラメータを調整し,滑らかさを追求する
  • 逆転が成立せず,または継続してストップオフ価格を下回る
    • 指数移動平均線を用いて,止損の信頼性を高める
  • ストップ・ロース戦略がないと 損失をコントロールできない
    • 移動停止または固定停止ロジックを増やし,単一の損失額を厳格に管理する

思考を最適化する

  • MACDパラメータを調整し,MACDラインをより滑らかに追求する.MACDは長期トレンド指標を追跡し,過度に敏感で,偽信号を増やす.
  • モバイル・ストップ・ロジックを追加する. 長期保有は撤回リスクに必然的に直面し, モバイル・ストップ・ロジックはリスクを軽減する.
  • RSIなどの他の指標の組み合わせで使用する.単一の指標の効果は限られているが,他の指標の組み合わせにより効果は向上する.
  • ポジション管理モジュールを追加. 異なる市場状況によって異なるポジション保持戦略が適用されます.

要約する

MACDロングライン反転策は,MACD柱状線の反転を判断して価格のロングライン反転の機会を捉えます.この戦略は,長短周期の衝突をうまく制御し,高殺し落としを追求しない問題を回避しています.しかし,単一の指標策として,MACDロングライン反転策には一定の制限があります.

ストラテジーソースコード
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheGrindToday

//@version=4
strategy("MACD Long Strat", overlay=false)


//fast = 12, slow = 26
fast = 6, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)
histogram = macd-signal

macdpos = histogram[0] > 0
macdneg = histogram[0] < 0

histogram_reversing_negative = histogram[1] > histogram[2]


LongEntryCondition =  histogram > histogram[1] 
ShortEntryCondition =  histogram < histogram[1]

exitConditionLong = histogram[0] < histogram[2]

if (LongEntryCondition and histogram_reversing_negative)
    strategy.entry("Long", strategy.long)


if (exitConditionLong)
    strategy.close("Long")
    
plot(histogram)