
Cette stratégie utilise un forfait doré de deux lignes EMA pour déterminer le moment de l’entrée et de la sortie. Plus précisément, lorsque la ligne EMA descend de la direction inférieure, elle produit un signal de forfait doré. Lorsque la ligne EMA descend de la direction supérieure, elle produit un signal de forfait mort.
Le code central de la stratégie est le suivant:
fast = input(25, title="Fast")
slow = input(75, title="Slow")
matype1=ema(source, fast)
matype2=ema(source, slow)
longCondition = crossover(matype1, matype2)
shortCondition = crossunder(matype1, matype2)
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
La stratégie commence par définir deux lignes moyennes EMA rapides et lentes, dont la ligne EMA rapide a une période de 25 et la ligne EMA lente une période de 75. Ensuite, les valeurs des deux lignes EMA sont calculées. Lorsque la ligne EMA rapide franchit la ligne EMA lente par le bas, la condition LongCondition est vraie; lorsque l’EMA rapide franchit la ligne EMA lente par le haut, la condition ShortCondition est vraie.
Cette stratégie utilise la caractéristique de l’aplatissement de l’EMA pour filtrer efficacement le bruit du marché tout en captant rapidement les changements de tendance. La croix de la fourchette entre les deux EMA est un signal de trading plus fort qui permet de contrôler efficacement le risque de trading.
Cette stratégie présente les avantages suivants:
L’idée de fonctionnement est simple, intuitive et facile à comprendre.
L’EMA est utilisée pour lisser les fluctuations du marché et filtrer les faux signaux.
La fourche est un signal de trading plus puissant qui permet de contrôler efficacement le risque.
Les cycles EMA sont flexibles et adaptés à différents environnements de marché.
Facile à combiner avec d’autres indicateurs techniques.
Une meilleure stratégie peut être obtenue en optimisant les paramètres EMA.
Cette stratégie comporte aussi des risques:
En cas de choc, les EMA se croisent fréquemment et génèrent de nombreux signaux de défaillance.
L’EMA est en retard et risque de rater des opportunités de raccourcis.
Il n’est pas possible de déterminer le point de basculement de la tendance en se basant uniquement sur l’intersection de l’EMA, il existe un plafond de profit.
Les cycles d’EMA fixes ne peuvent pas s’adapter aux changements du marché.
Il faut un soutien financier plus fort, sinon il y a un risque de dérivation.
Il est nécessaire de mettre en place des restrictions strictes, sinon les pertes individuelles pourraient être importantes.
Cette stratégie peut être optimisée dans les domaines suivants:
Optimiser les paramètres du cycle EMA pour s’adapter aux différentes conditions du marché.
L’ajout de filtres sur d’autres indicateurs, tels que MACD, bande de Brin, etc., améliore la qualité du signal.
L’augmentation des indicateurs de jugement de tendance tels que l’ATR stop, l’ADX, etc., réduit les transactions inefficaces.
Pour déterminer la direction des tendances, il faut combiner cela avec une analyse plus périodique.
Optimisation dynamique des cycles EMA à l’aide de méthodes d’apprentissage automatique.
Optimisation de la gestion des positions afin de contrôler les risques.
Optimiser les stratégies de stop loss pour réduire les pertes individuelles.
Cette stratégie utilise le croisement de deux EMA comme signal de négociation, formant une stratégie de suivi de tendance plus classique. La stratégie est simple et facile à utiliser, facile à combiner avec d’autres indicateurs techniques, et convient aux investisseurs qui n’ont pas besoin de beaucoup de jugement de tendance.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Double EMA CROSS By © EmreE (Emre Ertürk) Also thx for KivancOzbilgic color based bars
//@version=4
strategy(title="Double EMA CROSS", shorttitle="DEC", overlay=true)
matype = input("ema")
hidema = input(false)
sourcetype = input(close, title="Source Type")
source=close
// STEP 1:
// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
defval=1, minval=1, maxval=231)
startMonth = input(title="Start Month", type=input.integer,
defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
defval=2020, minval=1800, maxval=2100)
// STEP 2:
// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
startYear, startMonth, startDate, 0, 0))
fast = input(25, title="Fast")
slow = input(75, title="Slow")
matype1=ema(source, fast)
matype2=ema(source, slow)
signalcolor = source > matype2 ? color.blue : color.red
signal = cross(fast, slow)
hizliema=plot(hidema ? na : matype1, color=color.green, linewidth=2,transp=0, title="Fast EMA")
yavasema=plot(hidema ? na : matype2, color=color.red, linewidth=2,transp=0, title="Slow EMA")
//kesisme=plot(signal, style=cross, color=signalcolor, linewidth=5, title="Kesişme")
longCondition = crossover(matype1, matype2)
if (afterStartDate and longCondition)
strategy.entry("Long", strategy.long)
shortCondition = crossunder(matype1, matype2)
if (afterStartDate and shortCondition)
strategy.entry("Short", strategy.short)
//--------------------------------------------------------
//volume based color bars
length=input(21, "length", minval=1)
avrg=sma(volume,length)
vold1 = volume > avrg*1.5 and close<open
vold2 = volume >= avrg*0.5 and volume<=avrg*1.5 and close<open
vold3 = volume < avrg *0.5 and close<open
volu1 = volume > avrg*1.5 and close>open
volu2 = volume >= avrg*0.5 and volume<=avrg*1.5 and close>open
volu3 = volume< avrg*0.5 and close>open
cold1=#800000
cold2=#FF0000
cold3=color.orange
colu1=#006400
colu2=color.lime
colu3=#7FFFD4
ac = vold1 ? cold1 : vold2 ? cold2 : vold3 ? cold3 : volu1 ? colu1 : volu2 ? colu2 : volu3 ? colu3 : na
barcolor(ac)