Estrategia de ruptura lateral con media móvil única


Fecha de creación: 2024-02-02 11:19:19 Última modificación: 2024-02-02 11:19:19
Copiar: 0 Número de Visitas: 537
1
Seguir
1617
Seguidores

Estrategia de ruptura lateral con media móvil única

Descripción general

La estrategia de brecha horizontal de punto medio único es una estrategia de negociación cuantitativa basada en el indicador de movimiento de Chande. La estrategia determina si el mercado está en la fase de liquidación horizontal calculando el cambio de movimiento del precio.

Principio de estrategia

La estrategia primero calcula el cambio dinámico en el precio.mommY luego lo dividimos por la potencia positiva.m1y la carga negativam2Luego se calcula la suma de las fuerzas positivas y negativas en un período determinado.sm1ysm2Y por último, el indicador de movimiento de Chande.chandeMOEl indicador tiene el 0 como eje central, y cuando el indicador es mayor que 0 indica que la fuerza ascendente es mayor que la fuerza descendente, y cuando es menor que 0 indica lo contrario.

Cuando el indicador de la dinámica de Chande rompe la línea de compra desde el nivel bajo, indica que el precio se desprende de la fase de caída y entra en la fase de reajuste para subir, en este momento la estrategia realiza una operación de compra. Cuando el indicador cae desde el nivel alto hasta la línea de venta, se realiza una operación de venta.

Análisis de las ventajas

  • La estrategia captura los puntos de inflexión de los precios desde la caída hasta la corrección y luego la subida, logrando una venta baja y alta.
  • El indicador de la dinámica de Chande considera la velocidad y la intensidad de los cambios en los precios y es una buena herramienta para determinar las tendencias.
  • Las estrategias son sencillas y fáciles de aplicar.

Análisis de riesgos

  • El indicador de la dinámica de Chande es sensible a los parámetros, y diferentes configuraciones de parámetros de ciclo pueden causar grandes diferencias en las señales de negociación y los resultados.
  • La configuración estática de las líneas de compra y venta también puede causar demasiadas señales erróneas.
  • La estrategia no tiene en cuenta el stop loss, lo que puede provocar una expansión de las pérdidas.

Se puede configurar una línea de compra y venta dinámica, o en combinación con otras señales de filtración de indicadores. También se debe configurar un stop loss para controlar el riesgo.

Dirección de optimización

  • Prueba con diferentes parámetros para obtener el mejor resultado
  • Establecer una línea de compra y venta dinámica
  • Filtración de señales en combinación con otros indicadores
  • Adición de riesgo de control lógico de stop loss

Resumir

La estrategia de brecha horizontal de punto medio único determina el punto de inflexión de los precios desde la caída hasta la corrección y luego la subida a través del indicador de la dinámica de Chande. La estrategia es sencilla y práctica y puede capturar de manera efectiva los giros de tendencia.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//* Backtesting Period Selector | Component *//
//* https://www.tradingview.com/script/eCC1cvxQ-Backtesting-Period-Selector-Component *//
//* https://www.tradingview.com/u/pbergden/ *//
//* Modifications made *//
testStartYear = input(2021, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(999999, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(26, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
/////////////// END - Backtesting Period Selector | Component ///////////////
strategy(title="Chande Momentum Strat", shorttitle="ChandeMO Strat", format=format.price, precision=2)
length = input(9, minval=1)
src = input(close, "Price", type = input.source)
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, length)
sm2 = sum(m2, length)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
plot(chandeMO, "Chande MO", color=color.blue)
hline(0, color=#C0C0C0, linestyle=hline.style_dashed, title="Zero Line")
buyline= input(-80)
sellline= input(80)
hline(buyline, color=color.gray)
hline(sellline, color=color.gray)

if testPeriod()
    if crossover(chandeMO, buyline)
        strategy.entry("Long", strategy.long, alert_message="a=ABCD b=buy e=binanceus q=1.2 s=uniusd")
    //    strategy.exit(id="Long Stop Loss", stop=strategy.position_avg_price*0.8) //20% stop loss 
        
    if crossunder(chandeMO, sellline)
        strategy.entry("Short", strategy.short, alert_message="a=ABCD b=sell e=binanceus q=1.2 s=uniusd")
    //    strategy.exit(id="Short Stop Loss", stop=strategy.position_avg_price*1.2) //20% stop loss

//      remember to alert as    {{strategy.order.alert_message}}