この戦略は,ド્યુઅલ・ヴォルテックス・インディケーターとTrue-Strength Indexを組み合わせたトレンド・トラッキング・ストラテジーと呼ばれる.ド્યુઅલ・ヴォルテックス・インディケーターとTrue-Strength Indexが買い売り信号を発行するときに,ロングとショートポジションを開き,中長期のトレンドを把握するために特定の価格動きの後,ポジションを閉じる.
この戦略は,二重渦輪指標と真の強度指数 (TSI) を両方使用する.二重渦輪指標は,順番に上向きと下向きの勢力の大きさを反映するVI+とVI-線で構成される.TSIには,価格変動の強さと方向性を測定する赤と青の線がある.
VI+が上昇し,VI-が下がると,上向きの勢いが強まり,下向きの勢いが弱まることを示します.ダブル・ヴォルテックスインジケーターはロング信号を生成します.同時に,TSIの青い線が赤線を越えると,TSIもロング信号を発します.戦略は,両方の指標が同時にロング信号を発するとロングポジションを開きます.
対照的に,VI+が低下し,VI-が上昇すると,上向きモメンタムが弱まり,下向きモメンタムが強くなることをシグナルとして,ダブル・ヴォルテックスはショート・シグナルを発します. TSIの青い線が赤線以下を横切る場合,TSIもショート・シグナルを発します.戦略は,並べたショート・シグナルを受け取るとショート・ポジションを開きます.
この2つの指標からのシグナルを組み合わせることで,戦略は中長期のトレンドを特定し,追跡することができる.トレンドが終了すると,出口シグナルが生成される.したがって,この戦略は,市場の大きなトレンドに従う動きを効果的に把握することができます.
この戦略の主な利点は以下の通りである.
リスクもあります:
戦略を最適化する方法には以下の通りがあります.
概要すると,この戦略は,中長期トレンドフォローのアプローチである.ダブル・ヴォルテックス・インディケーターとTSIの技術を活用することで,中長期トレンドを信頼的に認識することができる.適切なパラメータ調整により,取引リスクは管理できる.より多くの指標とリスク管理技術を取り入れることでさらなる最適化によりパフォーマンスが向上する.中長期トレンド取引に興味のある投資家に適している.
/*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")