資源の読み込みに... 荷物...

ダイナミックストップ・ロスのシステムによる戦略をフォローする多指標シネージーシート

作者: リン・ハーンチャオチャン開催日:2024年12月13日 11:45:19
タグ:ATRエイマPVTRSI

img

概要

この戦略は,複数の技術指標を組み合わせたトレンドフォロー・トレーディングシステムである.トレード精度を向上させるために,移動平均値 (EMA),変動追跡 (ATR),ボリュームトレンド (PVT),モメントオシレーター (Ninja) など様々な次元からの市場信号を統合する.この戦略は,トレンドを追跡する際にリスクを厳格に制御するために動的ストップ・ロスのメカニズムを使用する.

戦略の原則

基本的な論理は4つの柱の上に構築されています.

  1. トレンド決定の主要なベースとして200期EMAを使用し,市場を上昇と下落状態に分割する
  2. ATR をベースにしたチェンデリア・エグジットシステムで,波動と組み合わせた高値と低値を追跡してトレンドターニングポイントを決定する
  3. 価格動向の妥当性を確認するために,価格変化とボリュームを組み合わせた PVT指標
  4. 短期・中期移動平均を比較して市場動向の変化を把握する忍者振動器

取引シグナルは,次の条件で生成されます.

  • ロング: 200EMA以上の価格,チェンデリア出口は購入信号を示し,PVTまたはニンジャ指標によって確認されます.
  • ショート:価格が200EMA以下で,チェンデリア出口は売り信号を示し,PVTまたは忍者指標によって確認されます.

戦略 の 利点

  1. 複数の指標によるシネージの確認は,誤ったブレイクリスクを大幅に減少させる
  2. トレンド,波動性,ボリューム,インパントを含む複数の次元から市場情報を組み込む
  3. ダイナミックストップ・ロスのメカニズムは,市場の変動に基づいてストップ・ポジションを自動的に調整します.
  4. 体系的な取引規則は主観的な判断による干渉を減らす
  5. 各取引に対して明確なストップ・ロスのレベルを持つ堅牢なリスク管理メカニズム

戦略リスク

  1. 異なる市場で頻繁に誤った信号を生む可能性があります
  2. 複数の確認メカニズムは,少し遅れたエントリにつながる可能性があります.
  3. ストップ・ロスのポジションは,急速な市場の逆転時に比較的緩い可能性があります.
  4. パラメータの最適化により,オーバーフィッティングのリスクがある
  5. 借入に耐えるために,相当な資本バッファを必要とします.

戦略の最適化方向

  1. 市場環境の認識メカニズムを導入し,異なる市場状態で異なるパラメータの組み合わせを使用する
  2. ポジション管理システムを最適化するために取引量分析次元を追加
  3. 波動性に基づく動的パラメータ調整メカニズムを追加することを検討する
  4. 複数の指標の重量分布を最適化する
  5. 市場波動が高い時期を避けるために時間フィルターを導入する

概要

この戦略は,マルチインジケーターシネージとダイナミックストップロスのメカニズムを通じて比較的完全な取引システムを構築する.その主な利点は,多次元信号確認と厳格なリスク管理にあります.遅延や誤った信号のリスクがある一方で,継続的な最適化と改善を通じて,戦略はさまざまな市場環境で安定したパフォーマンスを維持する可能性があります.トレーダーはライブ取引の前に徹底的なバックテストとパラメータ最適化を行うことをお勧めします.


/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Triple Indicator Strategy", shorttitle="TIS", overlay=true)

// --- Inputs ---
var string calcGroup = "Calculation Parameters"
atrLength = input.int(22, title="ATR Period", group=calcGroup)
atrMult = input.float(3.0, title="ATR Multiplier", step=0.1, group=calcGroup)
emaLength = input.int(200, title="EMA Length", group=calcGroup)

// --- ATR and EMA Calculations ---
atr = atrMult * ta.atr(atrLength)
ema200 = ta.ema(close, emaLength)

// --- Chandelier Exit Logic ---
longStop = ta.highest(high, atrLength) - atr
shortStop = ta.lowest(low, atrLength) + atr

var int dir = 1
dir := close > shortStop ? 1 : close < longStop ? -1 : dir

buySignal = dir == 1 and dir[1] == -1
sellSignal = dir == -1 and dir[1] == 1

// --- Price Volume Trend (PVT) ---
pvt = ta.cum((close - close[1]) / close[1] * volume)
pvtSignal = ta.ema(pvt, 21)
pvtBuy = ta.crossover(pvt, pvtSignal)
pvtSell = ta.crossunder(pvt, pvtSignal)

// --- Ninja Indicator ---
ninjaOsc = (ta.ema(close, 3) - ta.ema(close, 13)) / ta.ema(close, 13) * 100
ninjaSignal = ta.ema(ninjaOsc, 24)
ninjaBuy = ta.crossover(ninjaOsc, ninjaSignal)
ninjaSell = ta.crossunder(ninjaOsc, ninjaSignal)

// --- Strategy Conditions ---
longCondition = buySignal and close > ema200 and (pvtBuy or ninjaBuy)
shortCondition = sellSignal and close < ema200 and (pvtSell or ninjaSell)

if longCondition
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Long", "Buy", stop=low - atr)

if shortCondition
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Short", "Sell", stop=high + atr)

// --- Plotting ---
plot(ema200, title="EMA 200", color=color.blue, linewidth=2)
plotshape(buySignal, title="Chandelier Buy", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Chandelier Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// --- Labels for Buy/Sell with price ---
if buySignal
    label.new(bar_index, low, "Buy: " + str.tostring(close), color=color.green, style=label.style_label_up, yloc=yloc.belowbar, size=size.small)

if sellSignal
    label.new(bar_index, high, "Sell: " + str.tostring(close), color=color.red, style=label.style_label_down, yloc=yloc.abovebar, size=size.small)

// --- Alerts ---
alertcondition(longCondition, title="Buy Alert", message="Buy Signal Triggered!")
alertcondition(shortCondition, title="Sell Alert", message="Sell Signal Triggered!")

関連性

もっと