Estrategia innovadora de amplificación de proporción áurea de media móvil ATR


Fecha de creación: 2024-02-26 15:02:26 Última modificación: 2024-02-26 15:02:26
Copiar: 0 Número de Visitas: 684
1
Seguir
1617
Seguidores

Estrategia innovadora de amplificación de proporción áurea de media móvil ATR

Descripción general

Esta estrategia es una estrategia de ruptura que utiliza el indicador ATR para generar señales de negociación. La estrategia utiliza un sistema de línea recta para generar señales de negociación y construir posiciones de alto y bajo canal en el indicador ATR ampliado por la división de oro. Se puede obtener un gran beneficio en la tendencia y obtener pequeños beneficios estables en situaciones de crisis.

Principio de estrategia

En el código se construye un sistema de transacciones de ruptura de la vía de Brin mediante la obtención de un indicador de ciclo ATR del precio de cierre, ampliado 1.618 veces como trayecto ascendente y 2.618 veces como trayecto descendente, en combinación con la línea de equilibrio eMa. Cuando el precio se rompe hacia arriba desde el trayecto descendente, el precio se vacía para obtener ganancias de seguimiento de tendencias.

Ventajas estratégicas

  1. El indicador ATR captura la volatilidad del mercado de manera eficiente, utiliza la volatilidad para construir canales de negociación adaptables y evita la sobreadaptación causada por el uso de parámetros fijos.
  2. La subida y bajada del ATR tras el aumento de la división del oro puede ampliar el espacio de ganancias sin aumentar la frecuencia de las transacciones.
  3. El sistema de línea media filtra el ruido a corto plazo y, en combinación con el canal ATR, puede bloquear tendencias de línea media y larga.

Riesgo estratégico

  1. El índice ATR muestra un retraso en la respuesta a situaciones extremas.
  2. La división del oro por multiplicadores de tamaño incorrectos puede conducir a una frecuencia de transacciones excesiva.
  3. Se produce un retraso en la señal de conmutación de línea media de largo período.

Optimización de la estrategia

  1. El indicador ATR puede considerarse en combinación con el índice de volatilidad del mercado VIX para usar o ajustar el multiplicador ampliado.
  2. Los sistemas de línea media pueden introducir EMAs de varios períodos de tiempo para construir sistemas de negociación adaptables.
  3. Se puede establecer un mecanismo de detención de pérdidas para reducir la pérdida máxima de una sola transacción.

Resumir

Esta estrategia utiliza un filtro uniforme, seguimiento de canales ATR y el principio de segmentación de oro. Es capaz de rastrear de manera efectiva las tendencias de la línea media larga, tiene una buena estabilidad.

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

//@version=4
strategy("ATR Long Only Strategy lower band buy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(52, type=input.integer, minval=1, title="Length")
mul = input(1.618, type=input.float, minval=0, title="Length")
mullow = input(2.618, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk())
    strategy.entry("KOP", strategy.long, when=bull_cross)
    strategy.close("KOP", when=bear_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)