方向性指標とトレンド除去価格オシレーターの組み合わせ戦略


作成日: 2024-01-04 17:56:28 最終変更日: 2024-01-04 17:56:28
コピー: 0 クリック数: 761
1
フォロー
1621
フォロワー

方向性指標とトレンド除去価格オシレーターの組み合わせ戦略

概要

この戦略は,取引展望に組み込まれた2つの強力な指標である動向指標 ((DMI) とデトレンド価格振動器 ((DPO) を組み合わせて,信頼性の高い取引意思決定の基礎を形成する.戦略の核心論理は,DMI指標が金交差したときに,DPO指標の値が0より大きいかどうかを判断し,0より大きい場合は多頭シグナルを生成する.DMI指標がデッドフォークした場合は,DPO指標の値が0より小さいかどうかを判断し,0より小さい場合は空頭シグナルを生成する.これは,区間市場の震動で生成される大量の偽信号を効果的にフィルターすることができ,トレンドが形成されたときにのみ取引シグナルを生成し,震動で反発損失を避ける.

戦略原則

この戦略は,トレンドの方向と強さを判断するために主にDMI指標を使用する.DMI指標は,3つの曲線で構成される:+DI, -DIとADX.+DIは多頭力の代表であり, -DIは空頭力の代表であり,それらの交差は現在のトレンドの方向を判断することができる.ADXはトレンドの強さを代表し,値が高くなるほどトレンドがより顕著であることを示している.しかし,ADXは低位の振動を認識する効果が悪く,この戦略はADXの判断を削除し,+DIと-DIの交差のみを使用してトレンドの方向を判断する.

区間振動で発生する偽信号をフィルターするために,策略はDPO指標を導入し,補助判断を行う.DPO指標は,価格とその軌道からの偏差の程度を表し,価格が中軌道の上にあるときDPOは正し,下にある時は負である.この策略は,DPO指標の正負を使用して,現在トレンド中であるかどうかを判断し,DMI指標が交差しているがDPO指標が0レベルに近づいている場合は,振動として判断し,取引信号を生じません.

具体的には,判断の論理は次のとおりです.

  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の2つの指標の優位性を統合して,トレンドの逆転を判断する際の判断精度が高く,トレンドを信頼して識別することができる.同時に,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)