
Cette stratégie est une combinaison de la stratégie de suivi de la tendance inverse et de la stratégie de l’indicateur de pointe d’Elles, dans le but d’obtenir des signaux de négociation plus fiables. La stratégie de suivi de la tendance inverse détermine les points de retournement de tendance et la stratégie d’indicateur de pointe d’Elles détermine les points de retournement périodiques.
Cette stratégie est tirée du livre de Ulf Jensen Comment je peux tripler mon capital sur le marché à terme page 183. 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 ligne stochastique lente est inférieure à 50 le 9e jour. Faire plus 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 ligne stochastique rapide est supérieure à 50 le 9e jour.
La stratégie utilise des données sur une journée pour tracer un prix synthétique à tendance décalée sur une journée (Detrended Synthetic Price, DSP) et un indicateur de pointe d’Ehlers sur une journée (Ehlers Leading Indicator, ELI). Le DSP peut capturer le cycle de domination des prix, calculé par la méthode des ondes de quartz de 2 degrés moins les ondes de quartz de 3 degrés.
Le plus grand avantage de cette stratégie combinée est la combinaison d’un jugement de revers de tendance et d’un jugement de revers cyclique, ce qui rend les signaux de négociation plus fiables. La stratégie de revers de tendance permet de déterminer le point de revers de tendance qui va briser la trajectoire ascendante et descendante. L’indicateur de pionnier d’Ellis indique à l’avance les basses et hautes périodiques.
Un autre avantage est la flexibilité d’ajustement des paramètres. Les paramètres des indices boursiers dans les stratégies de renversement de tendance peuvent être ajustés en fonction du marché. La longueur des cycles dans les indicateurs pionniers d’Ells peut également être ajustée pour s’adapter à différents cycles.
Le plus grand risque de cette stratégie est de manquer la persistance de la tendance. Comme la stratégie attend l’apparition d’un signal de reprise pour entrer en jeu, il est possible de manquer la phase de tendance forte au début. De plus, le signal de reprise peut être une fausse rupture et peut également être piégé.
La solution est d’ajuster les paramètres, de raccourcir le cycle de jugement d’inversion et de capturer le renversement de tendance en temps opportun. Il est également possible d’introduire un stop-loss pour contrôler les pertes.
Cette stratégie peut être optimisée dans les domaines suivants:
Introduire une stratégie de stop loss pour contrôler les pertes individuelles.
Optimisation des paramètres, adaptation du cycle des signaux inversés aux différentes conditions du marché.
Ajout de filtres sur d’autres indicateurs, amélioration de la qualité du signal et réduction des faux signaux.
Ajout d’un module de gestion de fonds pour contrôler l’ensemble des positions et des risques.
Tester l’efficacité des paramètres de différentes variétés et optimiser celles qui conviennent.
Ajout d’un module d’apprentissage automatique permettant aux paramètres de s’adapter à l’ajustement
Cette stratégie, combinée à un jugement de revers de tendance et à un jugement de revers périodique, permet de saisir plus fiablement le moment de l’entrée sur le marché. Le plus grand avantage est la qualité du signal et la capacité d’ajustement. Le plus grand risque est de manquer une tendance précoce, qui peut être contrôlée en ajustant les paramètres et les arrêts.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 26/11/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
// This Indicator plots a single
// Daily DSP (Detrended Synthetic Price) and a Daily ELI (Ehlers Leading
// Indicator) using intraday data.
// Detrended Synthetic Price is a function that is in phase with the dominant
// cycle of real price data. This one is computed by subtracting a 3 pole Butterworth
// filter from a 2 Pole Butterworth filter. Ehlers Leading Indicator gives an advanced
// indication of a cyclic turning point. It is computed by subtracting the simple
// moving average of the detrended synthetic price from the detrended synthetic price.
// Buy and Sell signals arise when the ELI indicator crosses over or under the detrended
// synthetic price.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
//
// 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
D_ELI(Length) =>
pos = 0.0
xHL2 = security(syminfo.tickerid, 'D', hl2)
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
xResultEMA = ema(xEMA1_EMA2, Length)
nRes = xEMA1_EMA2 - xResultEMA
pos:= iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & D_ELI (Ehlers Leading Indicator)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthELI = input(7, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_ELI = D_ELI(LengthELI)
pos = iff(posReversal123 == 1 and posD_ELI == 1 , 1,
iff(posReversal123 == -1 and posD_ELI == -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 )