Stratégie de l'indice Ehlers-Fisher Relative Vigor


Date de création: 2023-12-22 12:04:23 Dernière modification: 2023-12-22 12:04:23
Copier: 0 Nombre de clics: 721
1
Suivre
1623
Abonnés

Stratégie de l’indice Ehlers-Fisher Relative Vigor

Aperçu

Cette stratégie est basée sur l’indice de dynamique relative aléatoire d’Ellis-Fisher, proposé par John Ehlers dans son module d’analyse de contrôle des actions et des contrats à terme. Elle utilise l’indice d’Ellis-Fisher pour juger de la force relative d’une action et pour acheter et vendre en fonction de règles de négociation personnalisées.

Principe de stratégie

La stratégie commence par calculer le prix de clôture - prix d’ouverture, c’est-à-dire la partie substantielle de l’action. Puis le prix élevé - prix bas, c’est-à-dire la partie de l’ombre de l’action.

Ensuite, on applique la formule de calcul de l’indicateur d’Ellis-Fisher à RVI, et on obtient la valeur du signal. Lorsque la valeur du signal est supérieure à la valeur de déclenchement, il y a plus, et vide lorsque la valeur est inférieure. De plus, des arrêts fixes et des arrêts de suivi sont configurés pour contrôler le risque.

Analyse des avantages

Cette stratégie utilise les caractéristiques dynamiques des actions et les indicateurs aléatoires pour évaluer efficacement la force relative du marché. La conception de l’indicateur d’Ellis-Fisher permet de réduire l’impact du bruit et de générer des signaux de négociation plus fiables. L’indicateur de dynamique reflète la tendance et la volatilité des actions elles-mêmes et est un indicateur dynamique.

Par rapport à l’utilisation d’indicateurs dynamiques ou aléatoires, la stratégie utilise une combinaison organique d’indicateurs et de modèles pour améliorer la qualité du signal. La stratégie est également contrôlable par des règles de stop-loss strictes qui permettent de contrôler les risques tout en garantissant la rentabilité.

Analyse des risques

La stratégie repose principalement sur l’indicateur d’Elles-Fisher, dont les paramètres doivent être optimisés pour s’adapter à de nouvelles conditions lorsque le marché évolue de manière soudaine. Si les paramètres de l’indicateur sont mal configurés, un signal erroné ou un signal retardé peut être généré.

En outre, la stratégie elle-même présente un certain degré de risque d’adaptation à la courbe. La performance de la stratégie peut être fortement déviée en cas de changement important de l’environnement du marché dans les tests et dans le monde réel.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimisation des paramètres de l’indicateur d’Ellis-Fisher pour les rendre plus sensibles ou filtrer le bruit.

  2. Les indicateurs sont modélisés à l’aide d’algorithmes d’apprentissage automatique, tels que LSTM, pour générer des signaux de trading plus fiables.

  3. La marge de freinage est ajustée dynamiquement en fonction de l’indicateur de volatilité du marché tel que l’ATR.

  4. L’ajout de la prise en charge des modèles multifactoriels et l’intégration d’autres indicateurs techniques et fondamentaux pour améliorer la qualité du signal.

  5. Optimisation de la logique d’ouverture des positions, définition des conditions d’entrée en jeu dynamiques. Introduction de la technologie d’arrêt de perte et d’arrêt d’arrêt adaptatif.

Résumer

La stratégie utilise des indices de dynamique relative aléatoires d’Ellis-Fisher pour déterminer les tendances et les faiblesses du marché et pour régler les risques de contrôle des mécanismes de stop-loss raisonnables. Par rapport à un seul indicateur, la stratégie utilise une combinaison organique de plusieurs indicateurs et de modèles pour filtrer le bruit et fournir un signal de haute qualité. La performance de la stratégie peut être encore améliorée par des moyens tels que l’optimisation des paramètres, la fusion des modèles et l’adaptation.

Code source de la stratégie
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ehlers Fisher Stochastic Relative Vigor Index Strategy", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
p = input(10, title = "Length")
FisherStoch(src, len) =>
    val1 = stoch(src, src, src, len) / 100
    val2 = (4 * val1 + 3 * val1[1] + 2 * val1[2] + val1[3]) / 10
    FisherStoch = 0.5 * log((1 + 1.98 * (val2 - 0.5)) / (1 - 1.98 * (val2 - 0.5))) / 2.64

CO = close - open
HL = high - low

value1 = (CO + 2 * CO[1] + 2 * CO[2] + CO[3]) / 6
value2 = (HL + 2 * HL[1] + 2 * HL[2] + HL[3]) / 6

num = sum(value1, p)
denom = sum(value2, p)

RVI = denom != 0 ? num / denom : 0

signal = FisherStoch(RVI, p)
trigger = signal[1]
oppositeTrade = input(true)
barsSinceEntry = 0
barsSinceEntry := nz(barsSinceEntry[1]) + 1
if strategy.position_size == 0
    barsSinceEntry := 0
if ((crossover(signal, trigger) and not oppositeTrade) or (oppositeTrade and crossunder(signal, trigger))) and abs(signal) > 2 / 2.64
    strategy.entry("Long", strategy.long)
    barsSinceEntry := 0
if ((crossunder(signal, trigger) and not oppositeTrade) or (oppositeTrade and crossover(signal, trigger))) and abs(signal) > 2 / 2.64
    strategy.entry("Short", strategy.short)
    barsSinceEntry := 0
if strategy.openprofit < 0 and barsSinceEntry > 8
    strategy.close_all()
    barsSinceEntry := 0
    
hline(0, title="ZeroLine", color=gray) 
signalPlot = plot(signal, title = "Signal", color = blue)
triggerPlot = plot(trigger, title = "Trigger", color = green)
fill(signalPlot, triggerPlot, color = signal < trigger ? red : lime, transp = 50)