DMI DPO 警備戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-04 17:56:28
タグ:

img

概要

この戦略は,トレードビューに組み込まれている2つの強力な指標 - ダイレクショナル・ムーブメント・インデックス (DMI) とデトレンデッド・プライス・オシレーター (DPO) を組み合わせて,取引決定の信頼できる基盤を形成する.この戦略の基本的な論理は,DMIのゴールデン・クロスが発生するとDPO値が0より大きいかどうかを決定し,そうであればロング・シグナルを生成すること.またはDMIのデッド・クロスが発生するとDPO値が0未満かどうかを決定し,そうであればショート・シグナルを生成すること.これは,市場のレンジ・バインド・オシレーション中に発生する多くの偽信号を効果的にフィルタリングすることができ,それによってトレンドが形成されたときにのみ取引信号を生成し,オシレーション中に繰り返しストップ・損失を回避する.

原則

この戦略は主にトレンド方向と強さを決定するためにDMI指標を使用する.DMI指標は3つの曲線で構成される: +DI, -DIおよびADX. +DIは上昇傾向の強さを表し, -DIは下落傾向の強さを表し,それらのクロスオーバーは現在のトレンド方向を決定することができる.ADXはトレンドの強さを表し,値が高くなるほどトレンドはより明らかである.しかし,ADXは低変動範囲を特定するのに善くないため,この戦略はADX決定を取り除き,トレンド方向を決定するために+DIと-DIクロスオーバーのみを使用する.

DPOインジケーターは,DMIインジケーターが横断した場合,DPOインジケーターが0レベルに近い場合,DPOインジケーターは振動であると決定され,トレードシグナルが生成されない.この戦略は,DPOインジケーターのポジティブ性とネガティブ性を用いて,現在トレンド中かどうかを判断する.

判断の論理は

  1. +DI が -DI の上を横切ると,金色の十字が表示され,牛市を示します.この時点で,DPO インディケーターが0を超えると,現在上昇傾向にあることを確認し,ロング信号が生成されます.

  2. -DI が +DI 以下の値に突入すると,デッドクロスになり,ベア市場を示します.この時点で,DPO インディケーターが0未満であれば,現在下落傾向にあることを確認し,ショート信号が生成されます.

  3. +DI/-DIが交差するが,DPOインジケーターが0に近い場合は,振動として決定され,信号は生成されない.

利点分析

この組み合わせ戦略の最大の利点は,トレンドを特定する高度な精度であり,実際のトレンド逆転が発生するときにのみ取引シグナルを生成し,振動間隔で繰り返し損失を回避する.主な利点は:

  1. 傾向の方向と強さを決定するためにDMI指標を使用することで,成熟し信頼性の高い技術指標です.

  2. DPOインジケーターの助けで範囲内の振動で偽信号をフィルタリングし,トレンドが形成されたときにのみ信号を生成し,損失を回避します.

  3. 複数の指標を組み合わせることで 相互の検証となり 信号の信頼性が向上します

  4. 戦略の論理は単純で理解し実行しやすいもので,自動化または手動取引に適しています.

  5. トレンドのみで取引しているため,比較的高いリスク・リターン比を得ることができます.

リスク分析

これは非常に信頼性の高い戦略ですが,以下のリスクは注意する必要があります.

  1. 突然の出来事は,市場の大きな一方的な動きを引き起こし,そのようなトレンド機会を逃す可能性があります.このリスクは,DPOパラメータを下げることで軽減できます.

  2. DMI インジケーター自体も誤った信号を生成し,このリスクは完全に回避できない.ストップを設定することで損失を制御することができます.

  3. DPO指標のパラメータの設定が正しくない場合も,誤った判断につながります.最適なパラメータは,繰り返しバックテストによって決定されるべきです.

  4. 取引コストは利益に一定の影響を与えるので,取引頻度を制御する必要があります.パラメータを最適化することによって無効な取引は削減できます.

最適化

この戦略をさらに最適化できる余地があります.

  1. 異なるパラメータの組み合わせをテストして,信号遅延を軽減し利益率を上げる最適なパラメータを見つけることができます.

  2. KDJ,MACDなどの他の指標と組み合わせて確認し,信号の精度を向上させることができます.

  3. 適応パラメータは,戦略をより適応できるように,異なる品種,サイクルなどに応じて設定できます.

  4. 単一の損失を制御するために動的ストップを設定できます.また,トレンド段階に応じて異なるストップ損失幅を設定できます.

  5. マシン学習方法を使用して,より高い収益を得るためにエントリーと出口のタイミングを最適化することができます.

概要

この戦略は,トレンド逆転を判断する際の高精度を持つDMIとDPO指標の利点と,トレンドの生成を信頼的に特定できる.同時に,DPO指標の使用は,範囲限定振動によって引き起こされるノイズを効果的にフィルターし,非効率な取引を回避する.これは自動取引および手動採用に適した効率的な戦略となります.もちろん,より良い戦略パフォーマンスのためにさらに最適化できる多くの詳細があります.しかし,指標を組み合わせる考えは,定量的な取引戦略設計のための重要な参照意義を持っています.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("DMI DPO Guard Strategy", calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, currency="USD", commission_type=strategy.commission.percent, commission_value=0.25)

///Tradingview's DMI indicator logic///
len = input(34, minval=1, title="DI Lookback")
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / trur)
minus = fixnan(100 * rma(minusDM, len) / trur)

plot(plus, color=color.orange, title="+DI")
plot(minus, color=color.aqua, title="-DI")


period_ = input(34, title="Length", minval=1)
isCentered = input(false, title="Centered")
barsback = period_/2 + 1
ma = sma(close, period_)
dpo = isCentered ? close[barsback] - ma : close - ma[barsback]
plot(dpo, offset = isCentered ? -barsback : 0, title="Detrended Price Oscillator", color=#C0C000)
hline(0, title="Zero Line", color = #C0C0C0)

long = crossover(plus, minus) and (dpo > 0)
short = crossunder(plus, minus) and (dpo < 0)

strategy.entry("Long", strategy.long, when=long)
strategy.entry("Short", strategy.short, when=short)




もっと