Estrategia de media móvil con ventaja doblemente confirmada


Fecha de creación: 2024-01-23 10:49:57 Última modificación: 2024-01-23 10:49:57
Copiar: 0 Número de Visitas: 572
1
Seguir
1617
Seguidores

Estrategia de media móvil con ventaja doblemente confirmada

Descripción general

Esta estrategia es una estrategia de seguimiento de tendencias de múltiples cabezas que genera una señal de comercio mediante la doble confirmación del indicador Aroon y el promedio móvil de regresión lineal. La estrategia se aplica a la negociación de tendencias de línea media y larga.

Principio de estrategia

Esta estrategia utiliza la intersección de la vía superior y la vía inferior del indicador Aroon para determinar la dirección de la tendencia. La vía superior genera una señal de compra cuando la vía superior se rompe desde la vía inferior hacia arriba. La vía superior genera una señal de venta cuando la vía superior se rompe desde la vía superior hacia la vía inferior.

En concreto, las reglas de generación de señales de negociación de la estrategia son:

  1. Condiciones de generación de señales de compra: la vía superior se rompe con la vía inferior (el indicador Aroon determina que el cruce de dos vías forma una tendencia alcista) y el precio de cierre del día es superior al promedio móvil LSMA (el precio de cierre está en una tendencia alcista)

  2. Condiciones de generación de señales de venta: la vía superior cae por debajo de la vía inferior (el indicador Aroon determina que la cruz de dos vías forma una tendencia descendente) y el precio de cierre de la fecha es inferior a la media móvil LSMA (el precio de cierre está en una tendencia descendente)

Ventajas estratégicas

  1. Utiliza el indicador Aroon para determinar la dirección de la tendencia y evitar la interferencia de los ruidos
  2. Aumentar las medias móviles LSMA como condición de filtración auxiliar para evitar que las brechas falsas provoquen transacciones innecesarias
  3. Haga solo más de la mitad, en consonancia con la característica ascendente a largo plazo de la bolsa, para evitar el riesgo de pérdidas ilimitadas que conlleva el descubierto
  4. La configuración de los parámetros de la política es simple y fácil de implementar

Riesgo estratégico

  1. Las estrategias no son rentables en tiempos de crisis
  2. La configuración de parámetros fijos puede causar riesgo de sobreajuste
  3. La dificultad de revertir la tendencia y la pérdida de tiempo

Para prevenir el riesgo, se puede establecer una estrategia de stop loss, o en combinación con otros indicadores para determinar el momento de la reversión de la tendencia, y detener los pérdidas a tiempo.

Dirección de optimización

  1. Se puede considerar la inclusión de oportunidades de corto plazo para obtener ganancias en situaciones de descenso
  2. Se puede probar la eficacia de indicadores con diferentes parámetros de ciclo
  3. Se puede agregar un módulo de aprendizaje automático para optimizar automáticamente los parámetros

Resumir

Esta estrategia en general es una estrategia de seguimiento de tendencias de doble confirmación más sencilla y práctica. Utiliza el método de Aroon para determinar la dirección de la tendencia y filtrar el ruido LSMA de manera sencilla y directa, y puede obtener buenos resultados si los parámetros se ajustan correctamente. La estrategia es adecuada para la línea media y larga y evita la interferencia del ruido del mercado a corto plazo.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
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/
// © exlux99

//@version=4

strategy(title = "Aroon Strategy long only", overlay = true,  pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1)

//Time
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

//INPUTS

length = input(15, minval=1, title="Aroon Legnth")
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length

lengthx = input(title="Length LSMA", type=input.integer, defval=20)
offset = 0//input(title="Offset", type=input.integer, defval=0)
src = input(close, title="Source")
lsma = linreg(src, lengthx, offset)


long = crossover(upper,lower) and close > lsma
longexit = crossunder(upper,lower) and close < lsma

if(time_cond)
    strategy.entry("long",1,when=long)
    strategy.close("long",when=longexit)