La stratégie utilise le canal de 50 cycles et l’indice de mouvement ADX, ainsi que la combinaison de l’indicateur d’énergie EFI pour le trading de tendances. Lorsque l’indicateur d’énergie EFI affiche une tendance, un retournement est effectué dans la zone de 50 canaux. La stratégie s’applique à la période d’une minute.
Calculer la moyenne des 50 cycles, en haut de la moyenne du point le plus élevé et en bas de la moyenne du point le plus bas.
Le calcul de l’indice dynamique de l’ADX permet de déterminer la force de la tendance et ne prend en compte les transactions que lorsque la tendance est forte (ADX> 20).
Calculer l’indicateur d’énergie EFI pour les longues périodes (environ 120 cycles) et les courtes périodes (environ 15 cycles). Un indicateur de longue période supérieur à 0 indique une augmentation globale de l’énergie de la tendance à la hausse, un indicateur de courte période inférieur à 0 indique une diminution de l’impulsion de la hausse à court terme.
L’opération d’achat est effectuée lorsque l’indicateur EFI à long et à court terme émet un signal d’achat et que le prix est redressé à 50 canaux de ligne moyenne.
L’opération de vente est effectuée lorsque l’indicateur EFI à long et à court terme émet un signal de vente et que le prix est redressé à 50 canaux de ligne moyenne.
Cette stratégie, combinant tendance, dynamique et signaux de rétroaction, peut filtrer efficacement la plupart des fausses percées. Les avantages spécifiques sont les suivants:
50 canaux de moyenne ligne définissent clairement les principales tendances.
L’indicateur ADX assure la négociation uniquement lorsque la tendance est claire, et évite le arbitrage sur les marchés volatiles.
L’indicateur EFI détermine le moment où l’énergie de la tendance augmente et achète, réduisant ainsi le risque d’achat.
En attendant le rappel pour entrer dans le terrain, on obtient un meilleur rapport risque/rendement.
Une combinaison d’indicateurs permettant de filtrer efficacement les risques de fausses percées.
La stratégie présente principalement les risques suivants:
Il y a aussi des retournements plus importants dans les tendances fortes, ce qui nécessite une plus grande marge de rupture.
En cas de choc, l’indicateur EFI peut émettre des signaux erronés et doit être associé à un indicateur de jugement de tendance tel que l’ADX.
Si le réglage est trop profond, le temps d’entrée est manqué. Il est possible d’ajuster le paramètre de la moyenne de la ligne de manière appropriée.
Les variétés de transactions uniques ne peuvent pas diffuser efficacement le risque systémique du marché.
Cette stratégie peut être optimisée dans les domaines suivants:
Test d’autres variétés pour trouver une portée générale des paramètres de la stratégie.
L’augmentation des stratégies de stop-loss, qui permettent de bloquer les bénéfices en suivant le stop-loss.
Optimiser les paramètres, optimiser les paramètres des indicateurs tels que ADX, EFI et autres.
L’ajout d’algorithmes d’apprentissage automatique pour déterminer si une rupture de tendance est vraie ou fausse.
Augmentation des transactions sur plusieurs périodes, en utilisant la technologie de Spacing pour contrôler les positions entre les différentes périodes.
L’évaluation et l’introduction de nouveaux indicateurs de filtrage des tendances améliorent la qualité du signal.
Cette stratégie est une stratégie de rétroaction de tendance qui convient parfaitement aux débutants. Elle intègre plusieurs signaux tels que la tendance, la dynamique et la rétroaction, ce qui permet de filtrer efficacement les faux-bouts. En optimisant la stratégie de stop loss, la définition des paramètres, la période de temps, etc., la stratégie peut devenir un système de suivi de tendance puissant.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 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/
// © trent777brown
//@version=5
// strategy("adx efi 50 ema channel, trend pullback", overlay=true, margin_long=100, margin_short=100, currency=currency.USD, initial_capital= 100000, close_entries_rule="ANY")
//bollingerbands
[basis, upperband, lowerband]= ta.bb(ohlc4, 50, 3)
[basis2, upperband2, lowerband2]= ta.bb(ohlc4, 50, 2)
psar= ta.sar(.1, .1, .09)
ema50= ta.ema(hlc3, 50)
ema50hi= ta.ema(high, 50)
ema50lo= ta.ema(low, 50)
ema18= ta.wma(hlc3, 15)
wma9= ta.wma(open, 9)
wma5= ta.wma(ohlc4, 5)
ema34= ta.rma(hlc3, 10)
[macdline, signalline, histline]= ta.macd(hlc3, 5, 34, 5)
[macdline2, signalline2, histline2]= ta.macd(hlc3, 15,70, 24)
[diplus, diminus, adx]= ta.dmi(20, 20)
[diplus2, diminus2, adx2]= ta.dmi(12, 12)
rsi= ta.rsi(hlc3, 14)
rsisma= ta.sma(rsi, 10)
stoch= ta.stoch(close, high, low, 21)
k= ta.wma(stoch, 3)
d= ta.wma(k, 3)
trendline5= ta.wma(hlc3, 300)
trendline9= ta.wma(open, 540)
trendline18= ta.wma(open, 1080)
atr=ta.atr(14)
plot(psar, color=color.red, style=plot.style_circles)
plot(ema50, color=color.white, linewidth=4)
plot(ema50hi, color=color.yellow, linewidth=4)
plot(ema50lo, color=color.yellow, linewidth=4)
plot(ema34, color=color.aqua, linewidth=4)
plot(wma9, color=color.gray, linewidth=4)
plot(wma5, color=color.lime, linewidth=4)
plot(trendline18, color=color.orange, linewidth=4)
plot(upperband, color=color.navy, linewidth=4)
plot(lowerband, color=color.navy, linewidth=4)
plot(upperband2, color=color.navy, linewidth=4)
plot(lowerband2, color=color.navy, linewidth=4)
plot(trendline9, color=color.maroon, linewidth=4)
plot(trendline5, color=color.yellow, linewidth=4)
efi = ta.rma(ta.change(close) * volume, 15)
efi2= ta.rma(ta.change(close) * volume, 120)
buy= efi2 > 0 and efi < 0 and efi[1] < efi and adx >= 20 and open < ema50hi
sell= efi2 < 0 and efi > 0 and efi[1] > efi and adx >= 20 and open > ema50lo
//ell= rsi > 50 and ta.crossunder(wma5, wma9) and psar > high and ema18 <= ema50hi and macdline > 0 and macdline < signalline
//buy= ta.crossunder(close, ema50) and rsi < 50 and adx2 < adx2[1] and k < 25 and psar > high
//uy= rsi < 60 and ta.crossover(wma5, wma9) and psar < low and ema18 >= ema50 and macdline2 > 0 and diplus2 < 30 // and histline2 < 0
//buy= ema18 > ema50 and ta.crossunder(rsi, 45) and open < ema50hi and adx2[3] < adx2 and diplus2 < 25 and macdline < 0 and adx < 10
//sell= ta.crossover(close, ema50) and rsi > 50 and adx2 < adx2[1] and k > 75 and psar < low
//ell= ema18 < ema50 and ta.crossover(rsi, 60) and open > ema50lo and diminus2 < 30 and macdline2 < 0 and adx2[2] < adx2
//buy sell conditions 1
//buy= ta.crossover(wma5, ema18) and ema18 > ema50lo and diplus > 22 and diminus < 22 and adx > 15
//ell= ta.crossover(psar, high) and macdline2 < signalline2 and rsi < rsisma
//when conditions
buytrig= ema34 >= ema50lo
selltrig= ema34 <= ema50hi
//strategy
sl= low - atr * 8
tp= high + atr * 4
sellsl= high + atr * 8
selltp= low - atr * 4
if(buy)
strategy.entry("buy", strategy.long, when= buytrig)
strategy.exit("exit buy", "buy", limit= tp, stop= sl)
strategy.close("close", when= ta.crossunder(ema34, ema50lo))
if(sell)
strategy.entry("sell", strategy.short, when= selltrig)
strategy.exit("exit sell", "sell", limit= selltp, stop= sellsl)