Stratégie de suivi des tendances basée sur l'indicateur à double vortex combiné à l'indice de force réelle

Auteur:ChaoZhang est là., Date: 2023-12-12 16:23:10 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie s'appelle Trend Tracking Strategy Based on Dual Vortex Indicator Combined with True Strength Index. Elle ouvre des positions longues et courtes lorsque l'indicateur de double vortex et l'indice de vraie force émettent des signaux d'achat et de vente, et ferme des positions après un certain mouvement de prix pour capturer les tendances à moyen et long terme.

La logique de la stratégie

Cette stratégie utilise à la fois l'indicateur de double vortex et l'indice de force réelle (ITS). L'indicateur de double vortex se compose de lignes VI+ et VI-, reflétant respectivement l'ampleur de la dynamique ascendante et descendante.

Lorsque VI+ augmente et VI- diminue, ce qui indique un renforcement de la tendance haussière et un affaiblissement de l'élan de la tendance baissière, l'indicateur à double vortex génère un signal long. Si en même temps, la ligne bleue TSI traverse la ligne rouge, TSI émet également un signal long. La stratégie ouvrira une position longue lorsque les deux indicateurs émettent des signaux longs simultanément.

À l'inverse, lorsque VI+ chute et VI- augmente, signalant une diminution de la dynamique à la hausse et un renforcement de la dynamique à la baisse, le double vortex émet un signal court. Si la ligne bleue TSI traverse également en dessous de la ligne rouge, la TSI produit également un signal court. La stratégie ouvre alors une position courte en recevant des signaux courts alignés.

En combinant les signaux des deux indicateurs de cette façon, la stratégie est capable d'identifier et de suivre les tendances naissantes à moyen et long terme. Les signaux de sortie sont générés lorsque les tendances se terminent. Ainsi, cette stratégie peut capturer efficacement les grands mouvements de tendance sur le marché.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Le filtre à double indicateur améliore la fiabilité du signal et évite les faux signaux.
  2. L'adoption d'indicateurs à moyen et à long terme permet de détecter des tendances plus larges.
  3. Adaptation flexible de la période de détention grâce à un réglage des paramètres, ce qui permet à la fois de suivre la tendance et de contrôler le risque de transaction unique.
  4. L'équilibre entre le suivi des tendances et la gestion des risques. Les indicateurs identifient bien les tendances. Le risque est contrôlé en définissant des vagues de prix de sortie.

Analyse des risques

Il existe également certains risques:

  1. La détention à moyen et à long terme peut faire face à des actions de prix pour un stop-loss.
  2. La probabilité de faux signaux existe toujours malgré le double filtre d'indicateur.
  3. L'efficacité de l'utilisation du capital est relativement faible, car le capital est détenu pendant des périodes de détention plus longues.
  4. La dépendance à l'égard des marchés en évolution: les positions doivent être réduites sur les marchés à fourchette afin d'éviter des pertes inutiles.

Directions d'optimisation

Certaines façons d'optimiser la stratégie comprennent:

  1. L'introduction de plus de combinaisons d'indicateurs pour renforcer la qualité du signal par filtrage multiple.
  2. Optimisation des paramètres pour mieux s'adapter aux différentes caractéristiques des produits.
  3. Ajout d'un dimensionnement dynamique des positions pour étendre les positions en tendance tout en réduisant les tailles sur les marchés variables.
  4. L'intégration de mécanismes d'arrêt des pertes tels que l'arrêt des pertes de suivi et l'arrêt partiel des pertes de fermeture pour contrôler les risques.
  5. Combiner l'analyse des ondes d'Elliott pour identifier les tendances de degrés plus élevés comme filtre directionnel.
  6. Utilisation de l'apprentissage automatique pour optimiser automatiquement les paramètres et les règles pour une meilleure adaptabilité.

Conclusion

En résumé, cette stratégie est une excellente approche de suivi des tendances à moyen et long terme. En tirant parti des techniques de double indicateur de vortex et de TSI, elle peut reconnaître de manière fiable les tendances émergentes à moyen et long terme. Avec un ajustement approprié des paramètres, les risques par transaction peuvent être gérés. Des optimisations supplémentaires en incorporant plus d'indicateurs et de techniques de contrôle des risques conduiraient à une meilleure performance.


/*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")

Plus de