Estrategia de seguimiento de tendencia para cruzar el canal BB y superar la media móvil SMA200


Fecha de creación: 2023-11-16 11:04:42 Última modificación: 2023-11-16 11:04:42
Copiar: 0 Número de Visitas: 700
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencia para cruzar el canal BB y superar la media móvil SMA200

Descripción general

La estrategia combina bandas de Brin y medias móviles para diseñar un sistema de negociación que siga la tendencia. Haga más cuando el precio rompa la banda de Brin y baja por encima de la SMA200, cierre parcial cuando el precio cae por debajo de la banda de Brin y cierre total cuando el precio cae por debajo de la SMA200.

Principio de estrategia

  1. Cálculo de la media móvil exponencial SMA200 como un indicador de las grandes tendencias
  2. Cálculo de la franja de Brin, que contiene la vía superior, la vía media y la vía inferior, y se rellena de color como la zona de ganancias
  3. Cuando las bandas de Brin están arriba y abajo de la SMA200, indica que está en una tendencia alcista
  4. Cuando el precio suba por encima de la línea media de la banda de Bryn, haga una entrada adicional
  5. El precio se estabilizó parcialmente cuando el precio bajó por debajo de la banda de Brin.
  6. Cuando el precio cae por debajo de la SMA200, indica que la tendencia general se ha invertido y que se ha cerrado toda la posición
  7. Establezca un punto de parada para evitar pérdidas excesivas
  8. Número de operaciones calculado según el capital de la cuenta y el riesgo soportable

La estrategia presupone la existencia de una tendencia en la que la banda de Brin debe estar completamente por encima de la SMA200, y solo se elige la entrada de la dirección múltiple en una tendencia al alza clara. Cuando se trata de una tendencia bajista, se controla el riesgo a través de la pérdida de participación en el punto clave y la pérdida de posición total.

Análisis de las ventajas

  1. Hay una clara tendencia a juzgar con la banda de Bryn, no con un solo indicador.
  2. El SMA200 determina la dirección de las grandes tendencias para evitar operaciones inútiles en situaciones de crisis
  3. Separado de pérdidas y ganancias, seguimiento de tendencias
  4. Detener los pérdidos en los puntos críticos y evitar la expansión de las pérdidas
  5. Calcular el número de transacciones introdujo el concepto de gestión de riesgos para evitar pérdidas individuales excesivas

Análisis de riesgos

  1. Las señales de transacción generadas por la ruptura de la banda de Brin pueden presentar una mayor tasa de falsas señales
  2. Algunas de las configuraciones de los puntos de parada necesitan ser optimizadas para evitar la parada prematura.
  3. Los puntos de parada son demasiado pequeños y pueden ocurrir con demasiada frecuencia.
  4. Los parámetros del ciclo SMA necesitan pruebas optimizadas para equilibrar la latencia y la sensibilidad
  5. El método de cálculo de la cantidad de transacciones puede necesitar ser optimizado para evitar que las monedas sean excesivas.

Estos riesgos pueden reducirse mediante la prueba cuidadosa de los parámetros de la banda de Bryn, la optimización de las estrategias de parada parcial, la adaptación de los parámetros de los ciclos SMA y la introducción de métodos de gestión de riesgos más científicos.

Dirección de optimización

  1. Prueba de optimización de parámetros de la banda de Bryn para reducir la tasa de error de señal
  2. Investiga cómo establecer un punto de parada parcial más adecuado
  3. Los valores óptimos para probar el parámetro de ciclo SMA
    1. Considerar la introducción de paradas adaptativas en lugar de paradas fijas
  4. El estudio introdujo la cotación de la volatilidad para un cálculo más científico de la escala de las transacciones.
  5. La retroalimentación de los costos de las transacciones para la simulación
  6. Considerar su uso en combinación con otros indicadores para mejorar la estabilidad estratégica

Resumir

La estrategia integra el canal de la correa de Brin, el indicador de la línea media SMA para diseñar una estrategia de seguimiento de tendencias más completa. Es más confiable y tiene una mayor capacidad de seguimiento de tendencias cuando se determina la existencia de una tendencia. A través de la optimización continua de la estrategia de stop loss, la reducción de la tasa de error de la señal y la introducción de métodos científicos de gestión de riesgos, la estrategia puede convertirse en una estrategia de tendencias que vale la pena seguir a largo plazo.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
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/
// © mohanee

//@version=4
strategy(title="BB9_MA200_Strategy", overlay=true, pyramiding=1,     default_qty_type=strategy.cash,  initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed, 


var stopLossVal=0.00

//variables BEGIN
smaLength=input(200,title="MA Length")
bbLength=input(21,title="BB Length")  

bbsrc = input(close, title="BB Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")


stopLoss = input(title="Stop Loss%", defval=5, minval=1)

riskCapital = input(title="Risk % of capital  == Based on this trade size is claculated    numberOfShares = (AvailableCapital*risk/100) / stopLossPoints", defval=10, minval=1)


sma200=ema(close,smaLength)

plot(sma200, title="SMA 200", color=color.orange)


//bollinger calculation
basis = sma(bbsrc, bbLength)
dev = mult * stdev(bbsrc, bbLength)
upperBand = basis + dev
lowerBand = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)

//plot bb
plot(basis, "Basis", color=color.teal, style=plot.style_circles , offset = offset)
p1 = plot(upperBand, "Upper", color=color.teal, offset = offset)
p2 = plot(lowerBand, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=color.teal, transp=95)


strategy.initial_capital = 50000

//Entry---

strategy.entry(id="LE", comment="LE capital="+tostring(strategy.initial_capital + strategy.netprofit ,"######.##"), qty=( (strategy.initial_capital + strategy.netprofit ) * riskCapital / 100)/(close*stopLoss/100) , long=true,  when=strategy.position_size<1 and upperBand>sma200 and lowerBand > sma200 and crossover(close, basis) )     //  // aroonOsc<0  //(strategy.initial_capital * 0.10)/close


barcolor(color=strategy.position_size>=1? color.blue: na)

//partial Exit
tpVal=strategy.position_size>1 ? strategy.position_avg_price * (1+(stopLoss/100) ) : 0.00
strategy.close(id="LE", comment="Partial points="+tostring(close - strategy.position_avg_price, "####.##"),  qty_percent=30 , when=abs(strategy.position_size)>=1 and close>tpVal and crossunder(lowerBand, sma200)   )   //close<ema55 and rsi5Val<20 //ema34<ema55


//close All on stop loss
//stoploss
stopLossVal:=   strategy.position_size>1 ? strategy.position_avg_price * (1-(stopLoss/100) ) : 0.00

strategy.close_all( comment="SL Exit points="+tostring(close - strategy.position_avg_price, "####.##"),  when=abs(strategy.position_size)>=1 and close < stopLossVal  )  //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89//

strategy.close_all( comment="BB9 X SMA200 points="+tostring(close - strategy.position_avg_price, "####.##"),  when=abs(strategy.position_size)>=1 and  crossunder(basis, sma200)  )  //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89