Estrategia comercial cuantitativa de Gandalf basada en la línea media


Fecha de creación: 2023-10-30 10:27:40 Última modificación: 2023-10-30 10:33:17
Copiar: 0 Número de Visitas: 772
1
Seguir
1617
Seguidores

Estrategia comercial cuantitativa de Gandalf basada en la línea media

Descripción general

La estrategia de comercio cuantitativa de Gandalf es una estrategia de seguimiento de tendencias basada en la línea media. Se basa en el cálculo de la media ponderada, la línea media y el precio intermedio real, para determinar la dirección de la tendencia actual y encontrar un punto de entrada óptimo. Cuando se detecta un cambio de tendencia, se detiene rápidamente y se retira.

Principio de estrategia

La lógica central de la estrategia de Gandalf es comparar la relación de tamaño entre el precio medio ponderado, la línea media y el precio medio entero para determinar la dirección y la fuerza de la tendencia actual.

En concreto, calcula los siguientes precios:

  • Precio medio ponderado: ((precio más alto + precio más bajo + precio de cierre + precio de cierre) / 4
  • Línea media: (el precio más alto + el precio más bajo) / 2
  • Precio intermedio de la entidad: (precio de apertura + precio de cierre) / 2

En la entrada, se compara el promedio ponderado de las dos primeras líneas de K, la línea de valor medio y la relación de magnitud entre el precio medio real y el precio medio real para determinar si se ajusta a la característica de inicio de tendencia.

Por ejemplo, si el promedio ponderado está por debajo de la línea media y el precio intermedio en el activo también está por debajo del promedio ponderado, esto indica que el precio está bajando, lo cual es una oportunidad para hacer un pronóstico negativo.

Cuando se retira de la parada de pérdidas, continúa comparando la magnitud de estos precios para determinar si hay signos de una reversión de la tendencia. Si el promedio ponderado es superior al precio medio real y la línea media también es inferior al promedio ponderado, lo que indica que la tendencia se ha invertido, se debe detener inmediatamente.

A través de este método de comparación de precios, la estrategia de Gandalf permite el juicio y el seguimiento de la tendencia. Puede encontrar el mejor momento de entrada y puede detectar rápidamente la reversión de la tendencia para detener la pérdida.

Ventajas estratégicas

La estrategia de Gandalf tiene las siguientes ventajas:

  1. El uso de la línea media para determinar la dirección de la tendencia puede filtrar eficazmente el ruido del mercado y bloquear las tendencias principales.

  2. La combinación de varios tipos de comparación de precios permite un análisis más fiable del inicio de la tendencia.

  3. Las condiciones de parada de pérdidas también utilizan la comparación de precios para determinar la reversión de la tendencia, lo que permite detener los pérdidas rápidamente y controlar el riesgo.

  4. La entrada es gratuita y se puede conseguir a precios muy cercanos a los ideales.

  5. Se puede configurar previamente el número de paradas y el límite de posición, para bloquear los beneficios y controlar el riesgo de una sola operación.

  6. La estructura del código es clara, simple, fácil de entender y modificar.

  7. Los parámetros se pueden ajustar a las preferencias de riesgo personales y son fáciles de optimizar.

  8. Aplicable para variedades de tendencia, con ganancias de la tendencia.

En general, la estrategia de Gandalf utiliza la línea media para juzgar la tendencia y establecer condiciones de stop loss para controlar eficazmente la tendencia de seguimiento de riesgos, y es una estrategia de seguimiento de tendencias confiable.

Riesgo estratégico

La estrategia de Gandalf también tiene ciertos riesgos a tener en cuenta:

  1. Como estrategia de seguimiento de tendencias, se generan pérdidas menores cuando la tendencia no es evidente o se invierte con frecuencia.

  2. La inestabilidad en el punto de inflexión de la tendencia puede conducir a una expansión de las pérdidas.

  3. En el balance de la situación, es fácil ser arbitrado.

  4. Dependiendo de la configuración de los parámetros, las diferentes variedades necesitan ajustar los parámetros.

  5. La posición unilateral no puede ser aprovechada para obtener ganancias.

  6. La tasa de fracaso de las condiciones es alta, y es posible que la espera de admisión sea larga.

Las medidas de gestión de riesgos correspondientes:

  1. El uso de posiciones pequeñas, entradas por lotes y control de pérdidas individuales.

  2. Establezca una línea de parada, parada rápida. O utilice una parada móvil para seguir el punto de parada.

  3. Parámetros de optimización, adaptados a la variedad actual. Puede ayudar a juzgar las tendencias con otros indicadores.

  4. Se puede utilizar el método de reposición de Martingale para reducir los costos.

  5. Las variedades de comercio con una tendencia evidente, con ganancias increíbles.

  6. La flexibilidad adecuada de las condiciones de admisión, teniendo en cuenta la probabilidad de admisión.

Dirección de optimización de la estrategia

La estrategia de Gandalf también puede ser optimizada en los siguientes aspectos:

  1. Construir indicadores para juzgar la tendencia y auxiliar a juzgar el momento de la reversión de la tendencia. Por ejemplo, la inclusión en el MACD, la banda de Bryn y otros juicios.

  2. Se ha añadido la función de optimización discreta para optimizar automáticamente los parámetros y adaptarse a más variedades.

  3. La adición de algoritmos de aprendizaje automático para el entrenamiento de tendencias en redes neuronales o modelos SVM utilizando datos históricos.

  4. Aumentar las formas de frenado, como el frenado móvil, el frenado móvil de índice.

  5. Arbitraje por diferencia de precios o arbitraje estadístico en combinación con productos relacionados.

  6. Añade una predicción de estado basada en el modelo de Hidin Markov para juzgar el estado de la situación.

  7. Construir estrategias complejas, como combinar con estrategias homogéneas, para lograr la gestión de múltiples estrategias.

  8. Explorar la optimización de la cartera de estrategias de negociación para encontrar el peso de la cartera.

En conjunto, la estrategia de Gandalf puede ampliarse y optimizarse en varios niveles, como la determinación de tendencias, la optimización automática y la gestión de riesgos, para que la estrategia sea más estable y confiable.

Resumir

La estrategia cuantitativa de Gandalf es una estrategia simple y efectiva para juzgar las tendencias basadas en las comparaciones de precios. Combina el seguimiento de la tendencia con la idea de detenerse rápidamente y puede controlar el riesgo de manera efectiva. La lógica de la estrategia es clara y fácil de entender, y los parámetros se pueden ajustar según las preferencias de riesgo personales.

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

//@version=3

// The GandalfProjectResearchSystem strategy, as discussed in
// “System Development Using Artificial Intelligence”
// by Domenico D’Errico and Giovanni Trombetta
strategy("Gandalf Project Research System", overlay=true)

// Inputs
Quantity = input(0, title="Quantity (0 to auto calc)")
Single_Trade_Money = input(10000, minval=1, title="Money to spend on single trade")
MaxProfitCloses = input(6, minval=1, title="Max Profit Close")
MaxBars = input(8, minval=1, title="Max Total Bars")
Enter_Gap = input(-0.08, title="Distance from low price to place entry limit")
AltExit = input(true, title="Use Alt Exit")

// Calculate Order Quantity
Ncon = Single_Trade_Money / close

// Misc Variables
src = close
BarsSinceEntry = 0
MaxProfitCount = 0
MedBodyPrice = (open + close) / 2.0
Weighted = (high + low + close + close) / 4.0
Median = (high + low) / 2.0

// Enter Conditions
Cond00 = strategy.position_size == 0
Cond01 = ((Weighted[1] < Median[1] and Median[2] <= Weighted[1] and MedBodyPrice[2] <= Weighted[3]) or (Weighted[1] < Median[3] and MedBodyPrice[0] < Median[2] and MedBodyPrice[1] < MedBodyPrice[2]))
Entry01 = Cond00 and Cond01

// Update Exit Variables
BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1
MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1])

// Exit Conditions
eCond01 = BarsSinceEntry - 1 >= MaxBars
eCond02 = MaxProfitCount >= MaxProfitCloses
eCond03 = ((Weighted[1] < MedBodyPrice[1] and Median[2] == MedBodyPrice[3] and MedBodyPrice[1] <= MedBodyPrice[4]) or (Weighted[2] < MedBodyPrice[0] and Median[4] <= Weighted[3] and MedBodyPrice[1] <= Weighted[1]) or (Weighted[2] < MedBodyPrice[0] and Median[4] <= Weighted[3] and MedBodyPrice[1] <= Weighted[1]))
eCond04 = AltExit ? true : close - strategy.position_avg_price < 0
Exit01 = not Cond00 and (eCond01 or eCond02 or (eCond03 and eCond04))

// Entries
strategy.entry(id="L1", long=true, limit=low + Enter_Gap, qty=(Quantity > 0 ? Quantity : Ncon), when=Entry01)
 
// Exits
strategy.close("L1", Exit01)