
La stratégie est basée sur l’EMA sélectionnée par l’utilisateur et sur le pourcentage de canal défini. Lorsque le prix est inférieur à la trajectoire ascendante, la stratégie est plus; lorsque le prix est supérieur à la trajectoire descendante, la stratégie est vide. Si le prix commence à traiter la tendance et à percer le canal, il est nécessaire de liquider toutes les positions pour éviter la perte.
Pour les marchés tendancieux, il est recommandé d’utiliser une stratégie de négociation tendancieuse avec un canal de pourcentage EMA couplé et une bande de Brin.
L’EMA de référence est calculée sur 200 cycles.
Le nombre de personnes qui ont participé à l’événement a été calculé en fonction des pourcentages définis par l’utilisateur: La première ligne est la EMA * (1 + %) La courbe inférieure est égale à l’EMA * (1 pour cent)
Calculer la bande de Brin de 20 cycles et décrire la portée du passage.
Faire plus lorsque le cours de clôture a traversé la trajectoire descendante de la courbe de Brin de bas en haut; faire moins lorsque le cours de clôture a traversé la trajectoire descendante de la courbe de Brin de haut en bas en haut.
L’ATR est utilisé pour calculer le Stop Loss et éviter les pertes excessives.
Si le prix est au-delà de la marge de passage pourcentage définie, il est préférable d’arrêter toutes les positions pour éviter d’autres pertes.
En utilisant l’EMA comme référence, on peut mieux saisir les points de changement de tendance.
Le pourcentage de la chaîne fixe une fourchette de transactions raisonnable pour éviter les transactions trop fréquentes.
La ceinture de Brin fournit un support de résistance, aidant à déterminer le moment d’entrer dans le terrain.
L’utilisation d’ATR trailing stopdynamically pour régler le stop loss et contrôler efficacement le risque d’une seule transaction.
Si le prix est au-delà du canal, il est complètement à plat et les pertes peuvent être maîtrisées rapidement.
Les paramètres personnalisables sont flexibles et adaptés aux différents marchés.
Si la portée des pourcentages est trop large, il est possible de rater la tendance ou d’éviter des pertes en retard.
Si le pourcentage est trop étroit, les transactions peuvent être trop fréquentes, ce qui augmente le coût des transactions.
Une mauvaise configuration des paramètres de la bande de Bryn peut également entraîner des opportunités de transactions manquées.
Le fait de définir un point de rupture trop souple peut entraîner des pertes individuelles excessives.
Il est nécessaire d’optimiser les paramètres de manière appropriée pour trouver la meilleure gamme de transactions.
Testez différents paramètres de la période EMA pour trouver la période moyenne la plus appropriée.
Optimiser les paramètres de pourcentage de passage pour trouver la meilleure portée de passage.
Ajustez les paramètres de périodicité de la bande de Bryn pour optimiser l’effet de capture des fluctuations.
Adaptation des cycles et des multiples de l’ATR afin d’optimiser davantage la stratégie de stop loss.
Le test consiste à effectuer une seule condition, soit plus haut, soit moins bas, pour voir si cela améliore la réussite.
En utilisant les indicateurs de tendance, il est possible de déterminer si un placement anticipé est nécessaire.
La stratégie utilise les avantages de plusieurs indicateurs tels que la moyenne, les canaux et la volatilité pour obtenir une stratégie de négociation à intervalles plus stables. La clé est de trouver les paramètres les plus adaptés à un marché particulier, pour atteindre un équilibre entre les risques et les gains.
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="[mdeacey] EMA% Channel + BB Range Strategy", shorttitle="[mdeacey] EMA% Channel + BB Range Strategy", overlay=true)
//EMA 200
len = input(title="EMA Length", type=input.integer, defval=200)
srce = input(title="EMA Source", type=input.source, defval=close)
ema1= ema(srce,len)
percent = input(title="Channel Percentage (%)", type=input.float, defval= 1)
valuee = (percent*ema1)/100
upperbande = ema1 + valuee
lowerbande = ema1 - valuee
plot(ema1, title='EMA200', color=color.gray, linewidth=1, style=plot.style_line )
plot(upperbande, title='EMA Upper Band', color=color.gray, linewidth=1, style=plot.style_line )
plot(lowerbande, title='EMA Lower Band', color=color.gray, linewidth=1, style=plot.style_line )
length = input(20, minval=2)
src = input(close, title="Close price")
mult = input(2.0, minval=0.001, maxval=50)
MA2 = sma(src, length)
dev = mult * stdev(src, length)
upper = MA2 + dev
lower = MA2 - dev
signalColor = crossunder(close, upper) ? color.red : crossover(close, lower) ? color.green : color.white
barcolor(color=signalColor)
upperBand = plot(upper, color=color.gray, linewidth=1)
lowerBand = plot(lower, color=color.gray, linewidth=1)
fill(upperBand, lowerBand,color=color.gray)
strategy.entry("Long",true,when = crossover(close,lower) and close <upperbande and close>lowerbande)
strategy.close("Long",when = crossunder(close,lowerbande))
strategy.entry("Short",false,when = crossunder(close,upper) and close <upperbande and close>lowerbande)
strategy.close("Short",when = crossover(close,upperbande))
//Inputs
atrPeriod = input(defval=14, title="ATR Period",group='ATR Settings', type=input.integer) // Adjust this to change the ATR calculation length
multiplierPeriod = input(defval=1.75, title="ATR Multiplier Period",group='ATR Settings', type=input.float)// Adjust this to change the distance between your candles and the line
//ATR Calculation
pine_rma(x, y) =>
alpha = y
sum = 0.0
sum := (x + (alpha - 1) * nz(sum[1])) / alpha
true_range() =>
max(high - low, max(abs(high - close[1]), abs(low - close[1])))
//Long SL
plot(low - pine_rma(true_range() * multiplierPeriod, atrPeriod), "Long Stop", color=color.red, offset = 1)
// Short SL
plot(high +pine_rma(true_range() * multiplierPeriod, atrPeriod), "Short Stop", color=color.red, offset = 1)
strategy.exit("Exit Long","Long",limit=upper ,stop = low - pine_rma(true_range() * multiplierPeriod, atrPeriod) )
strategy.exit("eExit Short","Short",limit=lower ,stop =high +pine_rma(true_range() * multiplierPeriod, atrPeriod) )