Cette stratégie combine les stratégies de 123 inversions, les stratégies de DMI et les stratégies de moyenne mobile, permettant un regroupement efficace de différents types de stratégies, formant une stratégie de combinaison puissante. La stratégie peut effectuer des opérations inverses au point de basculement de la tendance, et peut également effectuer des opérations en avant lorsque la tendance se poursuit, tout en utilisant les moyennes mobiles pour filtrer, permettant d’identifier efficacement la direction de la tendance du marché et d’améliorer la probabilité de victoire de la stratégie.
123 Stratégie de renversement: 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 est converti en un prix de clôture supérieur au prix de clôture du jour précédent, et que la ligne K lente est inférieure à 50 pendant 9 jours. 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 est converti en un prix de clôture inférieur au prix de clôture du jour précédent, et que la ligne K rapide est supérieure à 50 pendant 9 jours.
Stratégie DMI: faire plus quand +DI est en ligne sur -DI; faire moins quand -DI est en ligne sur +DI.
Stratégie de moyenne mobile: faire plus lorsque le cours de clôture est au-dessus de la moyenne mobile; faire moins lorsque le cours de clôture est en dessous de la moyenne mobile.
Les trois signaux stratégiques émettent des signaux de synchronisation pour ouvrir la position, sinon la position est nulle.
Cette stratégie, combinée à une stratégie de tendance et à une stratégie de retournement, permet de saisir en temps opportun les opportunités de retournement de prix tout en ne manquant pas les opportunités de tendance. Le filtrage des moyennes mobiles peut réduire les faux signaux. Plusieurs stratégies se vérifient mutuellement et peuvent améliorer la fiabilité des signaux.
La stratégie inverse 123 peut capturer les points de basculement, la stratégie DMI peut capturer les tendances et la moyenne mobile peut filtrer les signaux.
Les stratégies de revers et de tendance sont combinées pour capturer les revers et les tendances, et la flexibilité de la négociation.
Le filtrage des moyennes mobiles permet de réduire les faux signaux générés par les fluctuations à court terme.
La combinaison de plusieurs stratégies permet de vérifier les signaux les uns par rapport aux autres et d’éviter que des stratégies individuelles ne s’effondrent en raison de l’influence d’un certain environnement de marché.
Les paramètres de la stratégie sont plus nombreux et la stabilité de la stratégie peut être améliorée en optimisant la combinaison optimale de paramètres.
Les stratégies d’inversion sont facilement prises dans les tendances de choc. Elles peuvent être évitées en combinant les stratégies de tendance.
Les stratégies DMI peuvent manquer des opportunités au début d’une tendance. Les paramètres du DMI peuvent être réduits de manière appropriée pour améliorer la sensibilité.
Les moyennes mobiles présentent un retard qui peut retarder la génération du signal. Le cycle peut être raccourci de manière appropriée pour accélérer la vitesse de réaction.
La combinaison de plusieurs stratégies augmente le taux de victoire, mais aussi la complexité de la stratégie. Les paramètres doivent être soigneusement testés.
La stratégie est sensible au coût de la transaction. Il est recommandé d’assouplir la marge de stop-loss et d’éviter d’ouvrir trop souvent des positions blanches.
Optimiser les paramètres de chaque stratégie pour trouver la meilleure combinaison de paramètres.
L’ajout d’autres indicateurs comme le MACD, le RSI et d’autres a permis d’améliorer encore la stabilité de la stratégie.
Augmenter les stratégies de stop loss, telles que le stop trend et le stop shock, pour contrôler le risque.
Optimiser la gestion des positions, telles que les positions fixes et dynamiques, afin d’améliorer le rendement stratégique.
Adaptation des paramètres pour des variétés spécifiques afin d’améliorer l’adaptabilité de la stratégie.
Augmentation des modèles d’apprentissage automatique pour l’aide à la décision et utilisation de données historiques pour améliorer les performances stratégiques.
Cette stratégie, combinant efficacement les stratégies de revers, les stratégies de tendance et le filtrage des moyennes mobiles, forme une stratégie d’agrégation flexible et variable. Elle permet à la fois de capturer les points de basculement des prix et de capturer la poursuite de la tendance, améliorant la stabilité et la fiabilité du signal grâce à une combinaison de stratégies multiples.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 15/10/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
// The related article is copyrighted material from Stocks & Commodities Aug 2009
//
// 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
fFilter(xSeriesSum, xSeriesV, Filter) =>
iff(xSeriesV > Filter, xSeriesSum, 0)
DMIMA(Length_MA, Length_DMI) =>
pos = 0.0
xMA = sma(close, Length_MA)
up = change(high)
down = -change(low)
trur = rma(tr, Length_DMI)
xPDI = fixnan(100 * rma(up > down and up > 0 ? up : 0, Length_DMI) / trur)
xNDI = fixnan(100 * rma(down > up and down > 0 ? down : 0, Length_DMI) / trur)
nPDI = xPDI
nNDI = xNDI
nMA = xMA
nPDI_1 = xPDI[1]
nNDI_1 = xNDI[1]
nMA_1 = xMA[1]
bMDILong = iff(nPDI > nNDI and nPDI_1 < nNDI_1, true,
iff(nPDI < nNDI and nPDI_1 > nNDI_1, false, false))
bMDIShort = iff(nPDI > nNDI and nPDI_1 < nNDI_1, false,
iff(nPDI < nNDI and nPDI_1 > nNDI_1, true, false))
bMALong = iff(close > nMA and close[1] < nMA_1, true,
iff(close < nMA and close[1] > nMA_1, false, false))
bMAShort = iff(close > nMA and close[1] < nMA_1, false,
iff(close < nMA and close[1] > nMA_1, true, false))
pos := iff(bMDILong and bMALong, 1,
iff(bMDIShort and bMAShort, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & DMI & Moving Average", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_MA = input(30, minval=1)
Length_DMI = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDMIMA = DMIMA(Length_MA,Length_DMI)
pos = iff(posReversal123 == 1 and posDMIMA == 1 , 1,
iff(posReversal123 == -1 and posDMIMA == -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 )