Nivel por nivel Construir una estrategia de promedio móvil

El autor:¿ Qué pasa?, Fecha: 2023-09-26 16:00:20
Las etiquetas:

Resumen general

La estrategia de promedio móvil nivel por nivel es una estrategia de trading basada en gráficos RENKO. Utiliza indicadores de promedio móvil para suavizar el precio y cruces entre promedios móviles de diferentes marcos de tiempo como señales de trading. Mientras tanto, también utiliza el indicador ATR para determinar niveles de stop loss para paradas más razonables.

Estrategia lógica

La lógica central de esta estrategia incluye:

  1. Utilice la entrada para seleccionar el marco de tiempo RENKO y el período ATR

  2. Calcule el precio y el color de RENKO. Vire hacia arriba cuando el precio se rompe por encima del precio anterior de RENKO más el ATR actual. Vire hacia abajo cuando el precio cae por debajo del precio anterior de RENKO menos el ATR actual.

  3. Utilice dos enteros BUY y SELL para registrar las posiciones largas y cortas actuales.

  4. Cuando se rompa, si no hay posición corta, entonces ir largo. Cuando se rompa, si no hay posición larga, entonces se corta.

  5. Traza el gráfico de RENKO usando el gráfico.

Con esta lógica, la estrategia puede abrir largo o corto cuando el precio rompe el nivel anterior, y cerrar posiciones cuando el precio se invierte.

Análisis de ventajas

Esta estrategia tiene las siguientes ventajas:

  1. RENKO filtra el ruido e identifica las tendencias RENKO puede filtrar eficazmente el ruido de precios e identificar tendencias significativas.

  2. Los cruces de media móvil generan señales comerciales Los cruces entre las medias móviles de diferentes plazos pueden proporcionar señales comerciales fiables y evitar señales falsas de ruido.

  3. Paradas dinámicas con ATR El uso de ATR para establecer de forma dinámica el stop loss puede hacer que los stops sean más razonables en función de la volatilidad actual, evitando los stops demasiado anchos o demasiado apretados.

  4. Combinación de tendencia y media móvil La combinación de indicadores de tendencia y promedio móvil utiliza las fortalezas de ambos: capturar tendencias con RENKO al tiempo que garantiza señales confiables con promedios móviles.

Análisis de riesgos

La estrategia también tiene algunos riesgos:

  1. Identificación incorrecta de la tendencia La forma en que RENKO determina las tendencias puede resultar en compras largas o cortas innecesarias.

  2. Falsas señales de los cruces de la media móvil
    Puede haber señales falsas de cruces de promedios móviles, causando operaciones innecesarias.

  3. Parámetros ATR incorrectos La configuración incorrecta del período de ATR también puede conducir a paradas demasiado amplias o demasiado estrechas.

  4. Mercados de la sierra En los mercados laterales o fuertes, RENKO puede generar muchas operaciones innecesarias, ocupando capital.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los parámetros RENKO y ATR
    Ajusta estos parámetros para minimizar las señales falsas de RENKO y detectar mejor las tendencias.

  2. Añadir filtros de cruce de media móvil Añadir más promedios móviles y requerir la mayoría de ellos para alinearse antes de generar señales, para filtrar las señales falsas.

  3. Añadir otros filtros de indicadores Por ejemplo, agregue volumen para tomar solo operaciones cuando el volumen confirma el precio, evitando trampas.

  4. Mejorar la estrategia de stop loss Investigue cómo usar paradas basadas en tendencias en lugar de simplemente rastrear ATR, para paradas más lógicas.

  5. Optimizar la gestión del dinero Investigue la asignación óptima de capital bajo esta estrategia para maximizar los rendimientos y controlar los riesgos.

Conclusión

En general, esta es una estrategia que vale la pena optimizar y probar en mercados en vivo. La idea central de usar RENKO para tendencias y cruces de promedio móvil como señales filtradas es sólida. Con paradas ATR dinámicas, puede convertirse en un sistema sólido de seguimiento de tendencias. El siguiente paso es continuar optimizándolo en función de los riesgos conocidos para mejorar los parámetros y el rendimiento.


/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Renko Level Strategy 2", shorttitle="RLS2", overlay=true, pyramiding=2, currency=currency.USD, default_qty_value=50, initial_capital=2000, default_qty_type=strategy.percent_of_equity) 

TF = input(title='TimeFrame', type=input.resolution, defval="D")
ATRlength = input(title="ATR length", type=input.integer, defval=14, minval=2, maxval=100)

HIGH = security(syminfo.tickerid, TF, high)
LOW = security(syminfo.tickerid, TF, low)
CLOSE = security(syminfo.tickerid, TF, close)
ATR = security(syminfo.tickerid, TF, atr(ATRlength))

float RENKO = na
color COLOR = na
int BUY = na
int SELL = na
bool UP = na
bool DN = na

RENKO := na(RENKO[1]) ? close : RENKO[1]
COLOR := na(COLOR[1]) ? color.white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false

if(close > RENKO[1]+ATR[1])
    UP := true
    RENKO := close
    COLOR := color.lime
    SELL := 0
    BUY := BUY+1

if(close < RENKO[1]-ATR[1])
    DN := true
    RENKO := close
    COLOR := color.red
    BUY := 0
    SELL := SELL+1
    

if(BUY[1]==1 and BUY==2)
    strategy.entry("long", strategy.long)//, limit = RENKODN)

if(DN)
    strategy.cancel_all()
    strategy.close_all(comment = "close")


plot(RENKO, style=plot.style_line, linewidth=2, color=COLOR)

Más.