Estrategia de negociación de reversión media basada en bandas de Bollinger y índice de oro

El autor:¿ Qué pasa?, fecha: 2023-11-16 16:52:55
Las etiquetas:

img

Resumen general

Esta estrategia utiliza la línea de la proporción dorada de las bandas de Bollinger combinadas con formaciones de promedio móvil para negociar reversiones de la media.

Estrategia lógica

  1. Calcular Bandas de Bollinger banda media, banda superior y banda inferior del índice de oro
  • Banda media: vwma de n períodos
  • Banda superior: banda media + desviación estándar de k * n períodos
  • Banda inferior de la proporción de oro: banda media - 0,618 * desviación estándar de n períodos
  1. Formaciones de jueces
  • El valor de las pérdidas de valor en el mercado de valores en el mercado de valores en el mercado de valores
  • El precio se acerca o está por debajo de la banda inferior de la proporción dorada, como señal de compra
  1. Salida
  • Cuando el precio se rompe por encima de la banda superior BB, se considera que el precio se ha alejado de la banda inferior, la posición cerrada
  1. Pérdida de parada
  • Se establecerá un porcentaje fijo de pérdidas de detención, por ejemplo, el 5%.

Ventajas

  1. El uso de vwma en lugar de sma para la línea media de BB refleja mejor el movimiento de los precios

  2. La proporción de oro es importante soporte/resistencia, proporciona base para la reversión

  3. El MA en tendencia al alza asegura que la tendencia general sea al alza

  4. Las pérdidas de las operaciones de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés de las operaciones de tipo de interés.

Los riesgos

  1. La línea de la proporción de oro no es un soporte garantizado, el precio puede romper

  2. Las pérdidas de detención fijas pueden ser arbitrarias, debe considerarse el ajuste basado en la volatilidad

  3. La tendencia al alza de MA puede ser una ruptura falsa, debe comprobar más indicadores

  4. No estoy seguro de la duración de la reversión, necesito un beneficio razonable al salir.

Mejoramiento

  1. Prueba diferentes combinaciones de parámetros como el período BB, el multiplicador SD, el porcentaje de pérdida de parada fija, etc.

  2. Añadir más indicadores para determinar la tendencia del mercado y la probabilidad de reversión, por ejemplo, MACD, KD, etc.

  3. Considere las paradas dinámicas, como las paradas ATR o las paradas traseras

  4. Optimizar la toma de ganancias como el movimiento de la parada de ganancias, la toma parcial de ganancias, etc.

Resumen de las actividades

Esta estrategia de operaciones significa reversiones utilizando la línea de ratio de oro BB, con lógica clara, parámetros simples y reducción controlable. Pero también tiene riesgos, requiere más pruebas y optimización, añadiendo más indicadores técnicos para la tendencia y mejores paradas / salidas antes del uso real. En general, proporciona la idea de usar el ratio de oro en el comercio de cantidades, vale la pena explorar más.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
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/
// © mohanee

//@version=4

strategy(title="Bollinger Band with Fib Golden Ratio (0.618)",  shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  

length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)

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

basis = vwma(src1, length)
dev = mult * stdev(src1, length)

//dev3 = mult3 * stdev(src, length)

upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)

//lower_618_dev3= basis - (0.618*dev3)



plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles,  linewidth=2)

plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")

//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")

ema200=ema(close,200)
ema50=ema(close,50)

plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)


longCondition= ema50 > ema200

strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618  or  low <= lower_618)  )

strategy.close(id="BB_Fib618",  comment="points="+tostring(close - strategy.position_avg_price,  "###.##") , when = strategy.position_size >= 1  and crossover(close,upper_618 )) 

//stoploss exit
stopLossVal = strategy.position_size>=1 ?  strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price,  "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )


Más.