Stratégie de renversement de l'élan sur plusieurs périodes

Auteur:ChaoZhang est là., Date: 2023-10-30 à 10h42
Les étiquettes:

img

Résumé

Cette stratégie combine des indicateurs de dynamique à travers différents délais pour identifier l'inversion de tendance à plusieurs échelles de temps. Elle utilise l'oscillateur stochastique pour repérer les inversions à court terme et l'indicateur (Highest-Lowest) /Close pour les tendances à moyen et long terme, permettant la détection de l'inversion dans plusieurs dimensions temporelles.

La logique de la stratégie

La stratégie est composée de deux éléments:

  1. 123 Retour en arrière

Il utilise le franchissement de la ligne rapide stochastique au-dessous de la ligne lente ainsi que des modèles d'inversion des prix pour identifier les inversions de tendance à court terme. Plus précisément, il va long lorsque le prix ferme plus haut que la clôture précédente et la ligne rapide stochastique traverse en dessous de la ligne lente et en dessous de 50; il va court lorsque le prix ferme en dessous de la clôture précédente et la ligne rapide stochastique traverse au-dessus de la ligne lente et au-dessus de 50.

  1. Indicateur d'écoulement

L'indicateur de volatilité de la barre actuelle mesure la volatilité de la barre actuelle. Des valeurs plus élevées suggèrent une volatilité accrue et des renversements potentiels, tandis que des valeurs plus faibles indiquent une diminution de la volatilité et la poursuite de la tendance.

Ces deux éléments combinés permettent à la stratégie de détecter des renversements sur des périodes courtes et moyennes à longues.

Les avantages

  • Amélioration de la précision grâce à des indicateurs multi-temps

    L'utilisation d'indicateurs à court et moyen à long terme garantit la fiabilité du signal et évite les faux signaux.

  • Paramètres d'indicateur flexibles

    Les paramètres du stochastique et du (H-L) /C peuvent être ajustés pour les régimes de marché, ce qui rend la stratégie robuste.

  • Une logique simple et intuitive

    Avec Stochastique comme noyau et un filtre de tendance, le cadre est simple et facile à comprendre.

  • Extensibilité

    Le cadre simple permet d'intégrer facilement davantage d'indicateurs pour construire des modèles multifactoriels.

Les risques

  • Une tendance persistante peut entraîner des résultats inférieurs

    La nature de l'inversion de la moyenne la rend moins idéale pour les marchés à forte tendance. Les paramètres pourraient être ajustés pour s'adapter.

  • Risque de faux signaux

    Le stochastique et (H-L) /C peuvent émettre des signaux erronés sur des marchés anormaux.

  • Le réglage des indicateurs nécessite une expertise

    Les paramètres doivent être optimisés pour les marchés en évolution, sinon les performances peuvent en pâtir.

  • Il faut une dimension de position appropriée

    En tant que stratégie d'inversion, une gestion prudente des risques liés au dimensionnement des positions est importante.

Des possibilités d'amélioration

  • Plus de facteurs dans le modèle multifactoriel

    Des facteurs supplémentaires comme le volume, d'autres indicateurs d'inversion peuvent être ajoutés pour créer des modèles multifactoriels.

  • Mettre en œuvre le stop loss

    L'arrêt des pertes à temps ou sur une base mobile pourrait aider à contrôler les pertes d'une seule transaction.

  • Optimisation des paramètres

    Des méthodes plus systématiques de réglage des paramètres comme les algorithmes génétiques peuvent être explorées.

  • Apprentissage automatique

    Les algorithmes ML peuvent aider à améliorer la précision de la prédiction de l'inversion.

  • Analyse du sentiment

    L'incorporation de données alternatives comme le sentiment social pourrait aider à prédire les retours en arrière.

Conclusion

Cette stratégie combine des indicateurs à court et moyen terme pour identifier les renversements à travers les délais. Elle présente des avantages tels que des paramètres flexibles, une structure simple, une extensibilité. Les prochaines étapes pourraient inclure plus de facteurs, un stop loss, une optimisation des paramètres, un apprentissage automatique pour améliorer davantage la rentabilité et la gestion des risques. Dans l'ensemble, il s'agit d'une stratégie innovante qui mérite d'être étudiée et appliquée.


//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/05/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//  This histogram displays (high-low)/close
//  Can be applied to any time frame.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

HLCHist(input_barsback, input_percentorprice, input_smalength) =>
    xPrice = (high-low)/close
    xPriceHL = (high-low)
    xPrice1 = iff(input_percentorprice, xPrice * 100, xPriceHL)
    xPrice1SMA = sma(abs(xPrice1), input_smalength)
    pos = 0.0
    pos := iff(xPrice1SMA[input_barsback] > abs(xPrice1), 1,
    	   iff(xPrice1SMA[input_barsback] < abs(xPrice1), -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & (H-L)/C Histogram", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
input_barsback = input(4, title="Look Back")
input_percentorprice = input(false, title="% change")
input_smalength = input(13, title="SMA Length")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLCHist = HLCHist(input_barsback, input_percentorprice, input_smalength)
pos = iff(posReversal123 == 1 and posHLCHist == 1 , 1,
	   iff(posReversal123 == -1 and posHLCHist == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 	   

Plus de