デュアルボルテックスインジケーターと真の強さインジケーターを組み合わせたトレンドフォロー戦略


作成日: 2023-12-12 16:23:10 最終変更日: 2023-12-12 16:23:10
コピー: 0 クリック数: 735
1
フォロー
1621
フォロワー

デュアルボルテックスインジケーターと真の強さインジケーターを組み合わせたトレンドフォロー戦略

概要

この戦略は,真強度指標と真強度指標を組み合わせた双指数というトレンド追跡戦略である.この戦略は,真強度指標と双指数の両方を同時に適用し,購入と販売のシグナルを発信したときにポジションを開き,多空し,一定の波段の後に平線ポジションを退出して,中長線トレンドを捕捉する.

戦略原則

この戦略は,双指数と真強度指数の両方を使用している.双指数は,価格の上昇と下降の強さを反映するVI+とVI−の2つの線で構成されている.真強度指数は,価格の変化の強さと方向を測定するTSI赤線とTSI青線で構成されている.

VI+の上昇傾向が強まり,VI-の下降傾向が弱まったとき,双指数は多取引信号を発する.このとき,TSI青線も赤線を貫くならば,実際の強度指数も多取引信号を発する.両指数が同時に多取引信号を発するときは,多取引を開始する.

対照的に,VI+の上昇傾向が弱まりVI-の下落傾向が強まったとき,双指数は空調信号を発する.このとき,TSIブルーラインも赤線を横切れば,真強度指数も空調信号を発する.両指数が同時に空調信号を発したとき,空調のポジションが開かれる.

このような組み合わせにより,中長線トレンドが形成され始めるときにポジションを開き,そのトレンドを追跡することができる.トレンドが終了したとき,指標は平仓シグナルを発信する.したがって,この戦略は,価格の中長線大トレンドの動きを効果的に捉えることができる.

戦略的優位分析

この戦略の利点は以下の通りです.

  1. 双指数フィルタリングにより,信号の信頼性を高め,偽信号を回避する.

  2. 中長線指標は,より大きなトレンドの動きを追跡することができる.短線指標は,市場の騒音に容易に干渉され,大きなトレンドを逃す.

  3. パラメータの調整により,戦略の保持時間を柔軟に調整できます. 戦略がトレンドを追跡しながら,単一の損失を制御することができます.

  4. トレンド追跡とリスク管理を兼ねる.指標は,トレンドを効果的に識別し,脱出波段を設定することでリスクを制御する.

戦略的リスク分析

この戦略にはいくつかのリスクがあります.

  1. 中長線はポジションを保持し,震動の状況でストローに容易である。退出波段を適切に短縮するか,またはストローを調整して対応することができる。

  2. 二重指標の組み合わせは,偽信号が発生する可能性もある. 確認のために他の指標を導入したり,パラメータを調整したりすることができる.

  3. 効率が低く,中長線保有期間中に資金が占められる。資金使用効率を最適化するためにポジションの規模を適切に調整することができる。

  4. 傾向に依拠する. 震動の時にはポジションの規模を小さくして,無駄な損失を避ける.

戦略最適化の方向性

この戦略は,以下の点で最適化できます.

  1. 他の指標の組み合わせを加え,複数の指標のフィルターを形成し,信号の質をさらに向上させることができる.

  2. パラメータ設定を最適化して,指標パラメータを異なる品種の特徴に合わせる.

  3. 動的ポジション管理メカニズムを追加し,トレンド状況でポジションを拡大し,震動状況でポジションを縮小する.

  4. ストップ戦略を増やし,移動ストップ,縮小ストップなどの方法でリスクを制御する.

  5. 波の理論と結合して,より大きなレベルの潜在的傾向の方向を方向フィルター条件として識別する.

  6. 戦略の最適化自在性を高めるため,機械学習の方法を使用してパラメータと取引ルールを自動的に最適化します.

要約する

この戦略は,全体的に優れた中長線トレンド追跡戦略である.双指数と実際の強度指数がそれぞれの技術的優位性を発揮し,相互にシグナルを検証し,価格の中長線トレンドの生成を効果的に識別することができる.適切なパラメータ調整によって,単一取引のリスクを制御することができる.この戦略は,より多くの他の技術的指標とリスク制御方法と組み合わせて最適化されれば,より優れた効果を得ることができる.

ストラテジーソースコード
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
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/
// © hydrelev

//@version=4
strategy("Vortex TSI strategy", overlay=false)
///////////////////INDICATOR TSI
long = input(title="Long Length", type=input.integer, defval=25)
short = input(title="Short Length", type=input.integer, defval=13)
signal = input(title="Signal Length", type=input.integer, defval=13)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_blue = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi_red = ema(tsi_blue, signal)
// plot(tsi_blue, color=#3BB3E4)
// plot(tsi_red, color=#FF006E)
// hline(0, title="Zero")

/////////////////INDICATOR VI
period_ = input(14, title="Period", minval=2)
VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
VIP_blue = VMP / STR
VIM_red = VMM / STR
// plot(VIP_blue, title="VI +", color=#3BB3E4)
// plot(VIM_red, title="VI -", color=#FF006E)

////////////////////STRATEGY
bar=input(1, title="Close after x bar", minval=1, maxval=50)

tsi_long = crossover(tsi_blue, tsi_red)
tsi_short = crossunder(tsi_blue, tsi_red)
vi_long = crossover(VIP_blue, VIM_red)
vi_short = crossunder(VIP_blue, VIM_red)

LongConditionOpen = tsi_long and vi_long ? true : false
LongConditionClose = tsi_long[bar] and vi_long[bar] ? true : false
ShortConditionOpen = tsi_short and vi_short ? true : false
ShortConditionClose = tsi_short[bar] and vi_short[bar] ? true : false

if (LongConditionOpen)
    strategy.entry("Long Entry", strategy.long)
if (LongConditionClose)
    strategy.close("Long Entry")

if (ShortConditionOpen)
    strategy.entry("Short Entry", strategy.short)
if (ShortConditionClose)
    strategy.close("Short Entry")