## Vue d'ensemble
Cette stratégie s'appelle
Le principe de la stratégie
La stratégie utilise quatre indicateurs techniques différents pour déterminer les points d'entrée et de sortie.
Condition d'entrée longue: l'EMA à 5 jours dépasse l'EMA à 21 jours, l'EMA à 50 jours dépasse l'EMA à 200 jours, BB %B est supérieur à la ligne de surachat définie, AO est supérieur à la valeur positive définie et ADX est supérieur à la valeur définie.
Condition d'entrée courte: l'EMA à 5 jours dépasse l'EMA à 21 jours, l'EMA à 50 jours dépasse l'EMA à 200 jours, BB %B est inférieur à la ligne de survente définie, AO est inférieur à la valeur négative définie et ADX est supérieur à la valeur définie.
##Analyse des avantages La stratégie combine plusieurs indicateurs pour déterminer la direction de la tendance et la force relative des stocks, ce qui peut filtrer efficacement les fausses ruptures.
L'indicateur ADX peut déterminer efficacement l'existence et la force de la tendance, en évitant une ouverture fréquente dans un marché de choc.
L'indicateur BB %B évalue si les stocks individuels se trouvent à un niveau
L'indicateur AO détermine s'il existe un support de dynamique relativement fort lors de l'achat afin d'assurer l'efficacité de la rupture.
L'indicateur EMA
En résumé, cette stratégie permet de contrôler efficacement les risques commerciaux et de suivre les stocks forts sur le marché.
##Analyse des risques Bien que la stratégie utilise plusieurs indicateurs pour contrôler les risques, certains risques subsistent:
La combinaison de plusieurs indicateurs exponentiels est sensible aux ajustements de paramètres.
La poursuite excessive de l'élan peut manquer les véritables points d'inversion du marché.
Les indicateurs tels que l'EMA ont un caractère retardé et peuvent ne pas être en mesure de refléter l'impact des événements soudains dans le temps.
Des événements soudains majeurs peuvent entraîner une divergence des indicateurs.
Direction de l'optimisation La stratégie peut également être optimisée sous plusieurs aspects:
Utilisez l'apprentissage automatique pour trouver la combinaison optimale de paramètres.
Ajouter d'autres indicateurs déterminant les tendances, tels que l'ICC et le MACD, pour former une combinaison d'indicateurs afin d'améliorer la précision des jugements.
Ajouter des stratégies de stop-loss pour contrôler les pertes uniques.
Prévoyez un délai pour éviter une avidité excessive.
Résumé
Cette stratégie s'appelle
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //ADX + BB %B + AO + EMA strategy("ADX + BB %B + AO + EMA", overlay=true, initial_capital=10000) take_profit_perc = input(title="Take Profit %", type=input.integer, defval=10, minval=1, maxval=100) stop_loss_perc = input(title="Stop Loss %", type=input.integer, defval=5, minval=1, maxval=100) bb_overbought = input(title="BB %B Overbought", type=input.integer, defval=75, minval=1, maxval=100) bb_oversold = input(title="BB %B Oversold", type=input.integer, defval=25, minval=1, maxval=100) ao_value = input(title="Awesome Oscillator", type=input.integer, defval=2) adx_value = input(title="ADX", type=input.integer, defval=15) startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31) startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12) startYear = input(title="Start Year", type=input.integer, defval=2018, minval=2008, maxval=2200) inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) ema5 = ema(close, 5) ema21 = ema(close, 21) ema50 = ema(close, 50) ema200 = ema(close, 200) //BB %B length = input(20, minval=1) src = input(close, title="Source") mult = input(2.0, minval=0.001, maxval=50, title="StdDev") basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev bbr = (src - lower)/(upper - lower) //Awesome Oscillator ao = sma(hl2,5) - sma(hl2,34) // ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") dirmov(len) => up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / truerange) minus = fixnan(100 * rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) long_strategy = ema5>ema21 and ema50>ema200 and bbr>(bb_overbought/100) and ao>ao_value and sig>adx_value short_strategy = ema5<ema21 and ema50<ema200 and bbr<(bb_oversold/100) and ao<-ao_value and sig>adx_value plot(ema5, color=color.blue) plot(ema21, color=color.aqua) plot(ema50, color=color.purple) plot(ema200, color=color.red) bgcolor(color=long_strategy ? color.green : na, transp=80) bgcolor(color=short_strategy ? color.purple : na, transp=80) if inDateRange and long_strategy strategy.entry("long", strategy.long) strategy.exit("exit", "long", stop=close*(100-stop_loss_perc)/100, limit=close*(100+take_profit_perc)/100) if inDateRange and short_strategy strategy.entry("short", strategy.short) strategy.exit("exit", "short", stop=close*(100+stop_loss_perc)/100, limit=close*(100-take_profit_perc)/100)