Stratégie d'inversion de collision à indicateurs multiples


Date de création: 2024-01-04 18:02:12 Dernière modification: 2024-01-04 18:02:12
Copier: 0 Nombre de clics: 651
1
Suivre
1621
Abonnés

Stratégie d’inversion de collision à indicateurs multiples

Aperçu

La stratégie conçoit une stratégie de renversement très efficace en combinant des signaux de double indicateur. Tout d’abord, elle intègre un signal de renversement basé sur des indicateurs aléatoires et un système de suivi des jours de hausse consécutifs. La stratégie n’apparaît que lorsque les deux signaux déclenchent simultanément des achats ou des ventes. Ce mécanisme de collision de multiples indicateurs permet de filtrer efficacement certains signaux inefficaces, ce qui améliore la probabilité de succès de la stratégie.

Principe de stratégie

La stratégie est composée de deux signaux d’indicateur. La première partie est le système de retournement 123, qui observe la variation des prix de clôture des deux derniers jours, ainsi que la valeur de l’indicateur aléatoire lent avec un écart standard de 3. En particulier, si la clôture du jour est inférieure aux deux jours précédents, la clôture d’aujourd’hui est supérieure à la clôture d’hier, et le jour 9 l’indicateur aléatoire lent est inférieur à 50, faites plus; au contraire, si la clôture du jour est inférieure à la clôture d’hier et l’indicateur aléatoire rapide est supérieure à 50, faites moins.

La deuxième partie de l’indicateur suit le nombre de jours de hausse consécutifs sur les derniers n jours. Si les derniers n jours ont été en hausse, il en sort 1 et 0 sinon. L’indicateur est utilisé pour identifier la formation d’une tendance.

Enfin, la stratégie n’exécute une transaction que lorsque 123 signaux de revers et des jours de hausse consécutifs sont à la fois en état d’achat ou de vente. Ce mode de pondération de collision de multiples indicateurs permet de filtrer certains signaux inefficaces, ce qui améliore la stabilité de la stratégie dans son ensemble.

Analyse des avantages

Le plus grand avantage de cette stratégie de combinaison de plusieurs indicateurs est qu’elle permet d’améliorer la fiabilité du signal et de filtrer certains signaux inefficaces. Plus précisément, il y a principalement les avantages suivants:

  1. Le 123 inverse possède en lui-même une certaine fonction de filtrage, qui permet d’éviter d’être distrait par le bruit. En combinaison avec le suivi des indicateurs de la hausse des jours, il est possible d’identifier davantage les tendances et d’éviter le rebond inverse.

  2. Les paramètres de l’indicateur aléatoire sont réglés sur une comparaison de lignes rapides et lentes de 9 et 3 jours, ce qui permet de fluidifier les variations de paramètres, d’éviter d’être confondues par les fluctuations à court terme et d’améliorer la stabilité.

  3. Les paramètres personnalisables, y compris les paramètres de l’indicateur de stoch, le nombre de jours de hausse, etc., peuvent être ajustés en fonction des différents marchés, ce qui améliore l’adaptabilité.

  4. Il est possible de choisir de faire des opérations inversées, de faire plus de prises de position, et de tirer profit de l’opération inverse.

Analyse des risques

Cette stratégie comporte également des risques, principalement liés aux aspects suivants:

  1. Bien que la combinaison de plusieurs indicateurs puisse améliorer l’exactitude du signal, il est possible de manquer certaines opportunités et de réduire le plafond des gains stratégiques.

  2. Les signaux inversés eux-mêmes présentent un risque d’être emprisonnés et doivent être contrôlés par des arrêts de perte.

  3. Une mauvaise configuration des paramètres peut également affecter la performance de la stratégie et nécessite une adaptation des paramètres en fonction des différents marchés.

  4. Il y a aussi un risque d’une détention prolongée qui ne s’arrête pas à temps ou d’un retournement d’actions.

Par conséquent, les mesures suivantes peuvent être prises pour contrôler les risques:

  1. Une plus grande flexibilité des paramètres est nécessaire afin de préserver plus d’opportunités de négociation.

  2. Il est important de mettre en place des points de rupture pour contrôler les pertes individuelles.

  3. Optimiser les paramètres et définir des règles de paramètres pour les différents marchés.

  4. Évitez de détenir une seule action à long terme et maintenez la liquidité.

Direction d’optimisation

Il y a encore beaucoup à optimiser dans cette stratégie d’inversion multi-indicateurs, principalement en ce qui concerne:

  1. Testez plus de combinaisons d’indicateurs et recherchez des stratégies de combinaison d’indicateurs plus appropriées.

  2. Optimiser automatiquement les paramètres de l’indicateur à l’aide d’algorithmes d’apprentissage automatique.

  3. Les conditions d’arrêt et de perte sont ajoutées pour rendre la stratégie plus stable.

  4. Dans la section des indicateurs de tendance, il est possible de tester différents indicateurs de périodes de temps.

  5. Évaluer l’applicabilité à différents marchés tels que les indices boursiers, les devises, les métaux précieux et les crypto-monnaies.

  6. Concevoir des stratégies combinées, évaluer simultanément plusieurs marchés et ajuster dynamiquement les positions.

Résumer

Cette stratégie utilise une combinaison ingénieuse de plusieurs indicateurs pour concevoir une stratégie de trading inversée qui est à la fois efficace et stable. Ce mécanisme de collision de plusieurs indicateurs permet de filtrer efficacement les faux signaux par rapport à un seul indicateur.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/03/2021
// This is combo strategies for get a cumulative signal. 
//
// 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
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBU(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] >= open[1], nz(nCounter[1],0)+1,
                  iff(close[1] < open[1], 0, nCounter))
    C1 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, 1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Up", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- N Bars Up ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBU = NBU(nLength)
pos = iff(posReversal123 == 1 and posNBU == 1 , 1,
	   iff(posReversal123 == -1 and posNBU == -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 ? #b50404: possig == 1 ? #079605 : #0536b3 )