Estrategias de negociación bursátil basadas en el oscilador Aroon


Fecha de creación: 2024-01-15 14:08:33 Última modificación: 2024-01-15 14:08:33
Copiar: 1 Número de Visitas: 586
1
Seguir
1617
Seguidores

Estrategias de negociación bursátil basadas en el oscilador Aroon

Descripción general de la estrategia

Esta estrategia se llama la estrategia del agitador de Aarón de Saucius y se aplica a acciones, índices y productos básicos con gran volatilidad de precios y sin tendencias evidentes. La estrategia utiliza el indicador del agitador de Aarón para identificar tendencias de precios y, en combinación con varios parámetros, establecer condiciones de entrada y salida para realizar operaciones automáticas en este tipo de activos de riesgo.

Principio de estrategia

La estrategia se originó en el pensamiento de Tushar Chande, el fundador de la línea de Arron. Chande cree que se pueden identificar tendencias de múltiples y cabezas vacías cuando el oscilador de Arron está por encima o por debajo de 50. Esto ayuda a compensar las deficiencias de la línea de Arron simple y el cruce de Arron en los mercados no tendenciales.

Concretamente, la estrategia primero calcula la línea superior de Alon, la línea inferior de Alon y el oscilador de Alon con una longitud de 19 ciclos. El oscilador se calcula por la línea superior menos la línea inferior. Luego, se establece la línea media en -25, la línea superior en 75 y la línea inferior en -85.

De esta manera, la línea central se utiliza para determinar la dirección de la tendencia en el campo de juego, y la vía ascendente y descendente se utiliza para la reversión de la tendencia en el campo de juego, lo que permite el comercio automático basado en el indicador de los oscilladores de Aron.

Ventajas estratégicas

En comparación con las estrategias tradicionales de seguimiento de tendencias, esta estrategia tiene las siguientes ventajas:

  1. Para variedades con una gran volatilidad y con poca tendencia, es mejor que una simple estrategia de tendencia
  2. El uso del oscilador de Alon es más fiable para determinar tendencias
  3. La configuración de múltiples parámetros es rigurosa y evita transacciones erróneas
  4. Ganar dinero rápidamente y controlar el riesgo de pérdidas

En general, la estrategia, combinada con las ventajas del indicador de los oscilantes de Aron, ha logrado una buena automatización de operaciones, ganancias y rentabilidad para ciertas variedades.

Riesgo estratégico

La estrategia también tiene ciertos riesgos:

  1. La configuración de los parámetros debe ajustarse para optimizarlas según las diferentes variedades, de lo contrario afectará el resultado
  2. La frecuencia de las transacciones puede ser más alta, lo que aumenta los costos de transacción y los costos de deslizamiento.
  3. Depende de indicadores técnicos, puede generar pérdidas si los indicadores no funcionan

Estos puntos de riesgo pueden ser mejorados y reducidos mediante ajustes de parámetros y optimización de código. Además, la ubicación razonable y la administración de fondos también pueden controlar eficazmente los riesgos potenciales.

Optimización de la estrategia

Para mejorar aún más la eficacia de la estrategia, se puede optimizar en los siguientes aspectos:

  1. Ajuste de parámetros para realizar pruebas en diferentes variedades y entornos de mercado
  2. Añadir una combinación de otros indicadores técnicos para formar una señal de negociación más fuerte
  3. Aumentar las estrategias de stop loss para controlar el tamaño de las pérdidas individuales
  4. Indicadores de potencia combinados para evitar errores de transacción por brecha virtual
  5. Optimizar las condiciones de entrada y reducir el número de transacciones innecesarias

La estabilidad, la eficacia y la rentabilidad de las estrategias también se pueden mejorar considerablemente a través de pruebas y optimizaciones multidireccionales.

Resumir

Esta estrategia, basada en el indicador de los oscilantes de Alon, crea una estrategia de automatización para las variedades de mayor volatilidad y tendencia no obvia. En comparación con la estrategia de tendencia tradicional, su eficacia es mejor en este tipo de variedades, y también se logran condiciones de negociación estrictas a través de la configuración de parámetros. La ventaja de la estrategia es significativa, pero también hay cierto espacio para mejorar.

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

//@version=2
// by Saucius Finance https://saucius-finance.blogspot.com/
// copyrights reserved :)
// This strategy derives form the consideration of the author, Tushar Chande, that, in "more patterns" paragraph, 
// long and short trends are identified by oscillator < or > line 50. 
// This helps because simple Aroon and Aroon crosses suffer in not trending periods.
// original article avabile in:" Stocks & Commodities, V. 13:9 (369-374) : A Time Price Oscillator by Tushar Chande, Ph.D.""
strategy("Aroon Oscillator strategy by Saucius", overlay=false)
//building aroon lines, Embodying both Aroon line (Up and Down) and Aroon Oscillator
length = input(19, minval=1)
level_middle = input(-25, minval=-90, maxval=90, step = 5)
levelhigh = input(75,  minval=-100, maxval=100, step = 5)
levellow = input(-85,  minval=-100, maxval=100, step = 5)
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length
oscillator = upper - lower 
plot(upper, title="Aroon Up", color=blue)
plot(lower, title="Aroon Down", color=red)
plot(oscillator, title="Aroon Oscillator", color = yellow)
hline(level_middle, title="middle line", color=gray,  linewidth=2)
hline(levelhigh, title ="upper border", color=gray,  linewidth=1)
hline(levellow, title ="lower border", color=gray, linewidth=1)

// Entry //
entryl = oscillator[1] < level_middle[1] and oscillator > level_middle
entrys = oscillator[1] > level_middle[1] and oscillator < level_middle
strategy.entry("Long", true, when = entryl)
strategy.entry("Short", false, when = crossunder (oscillator, level_middle))


// === EXIT===
exitL1 = oscillator[1] > levelhigh[1] and oscillator < levelhigh
exitS1 =  oscillator[1] < levellow[1] and oscillator > levellow
strategy.close("Long", when=entrys)
strategy.close("Short", when=entryl)
strategy.close("Long", when= exitL1)
strategy.close("Short", when= exitS1)