Stratégie de fusion de capture de tendance à double voie


Date de création: 2023-11-06 11:49:41 Dernière modification: 2023-11-06 11:49:41
Copier: 0 Nombre de clics: 644
1
Suivre
1617
Abonnés

Stratégie de fusion de capture de tendance à double voie

Aperçu

Cette stratégie combine les deux sous-stratégies de 123 inversion et SMA résistance oscillation pour former une stratégie de suivi de la tendance de signaux de filtrage à double orbite. La stratégie de 123 inversion détermine les points de retournement potentiels en utilisant la forme de la ligne K. La résistance oscillation SMA utilise la moyenne mobile pour déterminer la direction de la tendance.

Principe de stratégie

  1. 123 stratégies de retour

Cette stratégie est dérivée du système de P183 de Ulf Jensen dans son livre Comment obtenir trois fois plus de rendement sur le marché à terme. Elle appartient au type de stratégie inverse. Faire plus lorsque le prix de clôture est supérieur au prix de clôture du jour précédent pendant 2 jours consécutifs et que la courbe lente de l’indicateur aléatoire est inférieure à 50 le 9e jour; faire vide lorsque le prix de clôture est inférieur au prix de clôture du jour précédent pendant 2 jours consécutifs et que la courbe rapide de l’indicateur aléatoire est supérieure à 50 le 9e jour.

  1. Oscillateur flexible SMA

L’indicateur est similaire à l’indicateur TSI développé par William Blau, à la différence que l’oscillateur SMA contient une ligne de signal. L’indicateur Elastic SMA utilise le prix moins la moyenne mobile double du prix de la veille, puis trace la moyenne mobile indicielle du SMA comme ligne de signal pour émettre un signal de négociation.

Double confirmation: les positions sont ouvertes uniquement lorsque le 123 inverse et l’indicateur de résilience SMA émettent des signaux dans la même direction. Les positions sont maintenues vides lorsque les deux signaux ne sont pas cohérents.

Avantages stratégiques

  1. La combinaison de plusieurs indicateurs permet de former un mécanisme de double confirmation permettant de filtrer efficacement les signaux erronés.

  2. Les stratégies de retournement utilisent la forme de la ligne K pour déterminer le point de retournement potentiel. Les oscillateurs de résistance SMA émettent des signaux de jugement de tendance, qui se vérifient mutuellement et compensent les lacunes d’un seul indicateur.

  3. Les paramètres de l’oscillateur flexible SMA sont réglables et peuvent être optimisés pour différentes variétés et cycles.

  4. Dans l’ensemble, il s’agit d’une stratégie de suivi des tendances qui permet de capturer les tendances les plus fortes au fur et à mesure.

Risque stratégique

  1. L’intégration et l’équilibre entre les stratégies de retournement et les stratégies de tendance doivent être constamment optimisés, sinon il est possible de manquer un point de basculement ou de subir des pertes importantes.

  2. Les stratégies de retournement comportent un certain risque de transaction erronée et nécessitent des ajustements de paramètres pour réduire le taux d’échec.

  3. La stratégie de suivi pur ne permet pas de déterminer le point de revers de la tendance, il existe un risque potentiel de perte. Il est nécessaire de réduire la position à temps pour éviter le risque.

  4. Les variétés et les paramètres de la période nécessitent des tests d’optimisation répétés.

Optimisation de la stratégie

  1. Adaptez les paramètres de 123 inversions pour réduire la fréquence des transactions erronées.

  2. Ajustez les paramètres de l’oscillateur souple SMA pour optimiser la sensibilité de l’indicateur.

  3. Ajouter une stratégie de stop-loss pour réduire les pertes ponctuelles.

  4. Le risque de reprise, combiné à d’autres indicateurs, peut être évalué en réduisant la position en temps opportun.

  5. Test d’optimisation des paramètres de différentes variétés pour améliorer la stabilité.

Résumer

Cette stratégie, grâce à un mécanisme de double confirmation, intègre les avantages de la stratégie de renversement et de tendance, formant un effet de suivi de tendance plus fort. Elle permet d’éliminer efficacement le bruit et, par conséquent, de capturer des opportunités de tendance de qualité. Il existe également un certain risque de rétractation, nécessitant une optimisation continue des paramètres et une maîtrise des risques.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/07/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
// The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by 
// William Blau, except the SMI includes a signal line. The SMI uses double moving averages 
// of price minus previous price over 2 time frames. The signal line, which is an EMA of the 
// SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine 
// tune these signals. The user may change the input (close), method (EMA), period lengths 
// and guide values.
//
// 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


SMI_Erg(fastPeriod, slowPeriod,SmthLen, TopBand,LowBand) =>
    pos = 0.0
    xPrice = close
    xPrice1 = xPrice - xPrice[1]
    xPrice2 = abs(xPrice - xPrice[1])
    xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod)
    xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod)
    xSMI = xSMA_R / xSMA_aR
    xEMA_SMI = ema(xSMI, SmthLen)
    pos:= iff(xEMA_SMI < LowBand, -1,
    	   iff(xEMA_SMI > TopBand, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & SMI Ergodic Oscillator", 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, "---- SMI Ergodic Oscillator ----")
fastPeriod = input(4, minval=1)
slowPeriod = input(8, minval=1)
SmthLen = input(3, minval=1)
TopBand = input(0.5, step=0.1)
LowBand = input(-0.5, step=0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSMI_Erg = SMI_Erg(fastPeriod, slowPeriod,SmthLen, TopBand,LowBand )
pos = iff(posReversal123 == 1 and posSMI_Erg == 1 , 1,
	   iff(posReversal123 == -1 and posSMI_Erg == -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 )