
La estrategia se basa en el EMA seleccionado por el usuario y el porcentaje de canal definido. Cuando el precio está por debajo de la vía superior, la estrategia hace más; cuando el precio está por encima de la vía inferior, la estrategia hace vacío. Si el precio comienza a comerciar en tendencia y rompe el canal, se liquidan todas las posiciones para evitar pérdidas.
Para los mercados de tendencia, se recomienda el uso de la estrategia de comercio de tendencia de la banda de Brin complementada con el canal de porcentaje de la EMA.
Calcule el EMA de 200 ciclos como el EMA de referencia.
El porcentaje establecido por el usuario, calculado en ascendentes y bajadas: La línea superior = EMA * (1 + porcentaje) La línea inferior = EMA * (1 por ciento)
Calcula la banda de Brin de 20 ciclos y traza el alcance del canal.
Hacer más cuando el precio de cierre de abajo hacia arriba rompió la banda de abajo de Brin; hacer vacío cuando el precio de cierre de arriba hacia abajo rompió la banda de arriba de Brin.
Utilice el ATR para calcular el Stop Loss y evitar pérdidas excesivas.
Si el precio está por encima del rango de canal porcentual establecido, se liquidan todas las posiciones para evitar más pérdidas.
Usando la EMA como referencia, se pueden capturar mejor los puntos de cambio de tendencia.
El porcentaje de canales establece un rango razonable de transacciones y evita transacciones demasiado frecuentes.
El cinturón de Brin proporciona un punto de resistencia de soporte para ayudar a determinar el tiempo de entrada en el campo.
Utiliza ATR trailing stopdynamically para establecer el stop loss y controlar el riesgo de una sola transacción.
Si el precio está por encima del canal, se puede cerrar la posición y controlar rápidamente las pérdidas.
La configuración de parámetros personalizables es flexible y se puede ajustar para diferentes mercados.
Si el canal de porcentaje es demasiado amplio, se puede perder la tendencia o evitar pérdidas a tiempo.
Si el porcentaje de canales es demasiado estrecho, puede haber demasiada frecuencia de transacciones, lo que aumenta el costo de las transacciones.
La configuración incorrecta de los parámetros de la banda de Bryn también puede causar oportunidades de negociación perdidas.
El establecimiento de puntos de parada demasiado flexibles puede causar pérdidas excesivas.
Se requiere una optimización adecuada de los parámetros para encontrar el mejor rango de transacción.
Prueba los diferentes parámetros del ciclo EMA para encontrar el ciclo de la línea media más adecuado.
Optimización de los parámetros de porcentaje de canal para encontrar el mejor alcance de canal.
Ajuste de los parámetros de ciclo de la banda de Bryn para optimizar la captura de fluctuaciones.
Ajuste de los ciclos y multiplicadores de ATR para optimizar aún más la estrategia de stop loss.
La prueba consiste en hacer solo las condiciones de más arriba o de menos abajo para ver si se puede mejorar la tasa de éxito.
En combinación con los indicadores de tendencia, se evaluará si se necesita una liquidación anticipada.
La estrategia utiliza las ventajas de varios indicadores, como la media, el canal y la volatilidad, para lograr una estrategia de negociación de rangos más estable. La clave es encontrar la configuración de parámetros más adecuada para un mercado específico y lograr un equilibrio entre riesgos y beneficios.
/*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) )