Stratégie de trading inversée de suivi à double choc


Date de création: 2023-10-11 14:47:25 Dernière modification: 2023-10-11 14:47:25
Copier: 0 Nombre de clics: 585
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie est une stratégie de trading de revers de suivi à double choc qui utilise une stratégie de revers d’indicateurs aléatoires et un indicateur de volatilité de Yeken pour obtenir des signaux de trading plus fiables. Cette stratégie est conçue pour capturer des bénéfices à un revers de tendance et s’applique à la négociation de lignes moyennes et longues.

Principe de stratégie

La stratégie est composée de deux volets:

  1. Stratégie de retour d’indicateur aléatoire

Cette section utilise des indices aléatoires pour générer des signaux de transaction. Faites plus lorsque le prix de clôture est inférieur au prix de clôture du jour précédent pendant deux jours consécutifs et que le prix de clôture est supérieur au prix de clôture du jour précédent pendant deux jours consécutifs et que le prix de clôture est supérieur au prix de clôture du jour précédent et que le prix de clôture est inférieur au prix de clôture du jour précédent.

  1. Un indicateur de volatilité de Yeken

L’indicateur calcule la variation de la différence entre le prix le plus élevé et le prix le plus bas sur une période donnée. Lorsque cette différence s’élargit, le taux de fluctuation augmente et peut être compensé; lorsque la différence diminue, le taux de fluctuation diminue et peut être compensé.

Le signal de transaction final est une combinaison de deux signaux. Si le signal de l’indicateur aléatoire et le signal de l’indicateur de fluctuation sont identiques, le signal est pris; si les deux signaux ne sont pas identiques, il n’y a pas de transaction.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’utilisation combinée de deux types d’indicateurs différents permet d’améliorer la précision du signal.

  2. La double confirmation permet de réduire les faux signaux et de contrôler les risques.

  3. Les traders peuvent profiter d’un point de basculement de la tendance en utilisant le renversement comme direction principale de trading.

  4. Les paramètres sont flexibles et peuvent être ajustés pour s’adapter à différentes variétés et périodes.

  5. Les paramètres de l’indicateur peuvent être finement ajustés pour atteindre un état optimal.

Analyse des risques

La stratégie présente également les risques suivants:

  1. Les signaux de retournement peuvent être mal interprétés, ce qui entraîne des pertes. Les paramètres peuvent être ajustés de manière appropriée pour réduire la probabilité d’erreur.

  2. Il existe un risque de perte en cas d’expansion brutale de la volatilité. Un arrêt de perte peut être mis en place pour contrôler le risque.

  3. La volatilité peut entraîner une défaillance de la palette de doubles indices. Il est alors possible de suspendre la négociation en attendant que l’indice se stabilise.

  4. La nécessité de surveiller simultanément deux indicateurs augmente le travail des traders. Des programmes de trading automatisés peuvent être conçus pour réduire le travail.

Direction d’optimisation

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

  1. Testez plus de combinaisons de paramètres pour trouver le meilleur.

  2. L’ajout d’autres indicateurs de confirmation, tels que les indicateurs de quantité et de prix, constitue une confirmation multiple.

  3. L’ajout de mécanismes de stop-loss, tels que stop-loss inertiel, stop-loss intermédiaire, etc., permet de contrôler davantage le risque.

  4. Optimiser les stratégies de gestion de fonds, telles que les parts fixes, Kelly, etc., pour améliorer la rentabilité.

  5. Les paramètres de variété et de cycle sont configurés différemment, ce qui permet de tester l’applicabilité de plus de variétés et de cycles.

Résumer

Cette stratégie utilise des doubles indicateurs pour former des signaux de négociation afin de capturer le renversement du marché en tant que direction principale de négociation. Elle présente des avantages tels qu’une grande précision du signal et une bonne maîtrise des risques. Il existe également une certaine marge d’amélioration.

Code source de la stratégie
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/07/2019
// 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
// Chaikin's Volatility indicator compares the spread between a security's
// high and low prices. It quantifies volatility as a widening of the range
// between the high and the low price.
// You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
// HLC3, OHLC4 and ect...
//
// 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

ChaikinVolatility(Length, ROCLength, Trigger) =>
    pos = 0
    xPrice1 = high
    xPrice2 = low
    xPrice = xPrice1 - xPrice2
    xROC_EMA = roc(ema(xPrice, Length), ROCLength)
    pos := iff(xROC_EMA < Trigger, 1,
	         iff(xROC_EMA > Trigger, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chaikin Volatility", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCV = input(10, minval=1)
ROCLength = input(12, minval=1)
Trigger = input(0, minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChaikinVolatility = ChaikinVolatility(LengthCV, ROCLength, Trigger)
pos = iff(posReversal123 == 1 and posChaikinVolatility == 1 , 1,
	   iff(posReversal123 == -1 and posChaikinVolatility == -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 )