Estrategia de dirección dinámica de las velas

El autor:¿ Qué pasa?, fecha: 2023-10-25 16:57:05
Las etiquetas:

img

Resumen general

Esta estrategia determina la dirección futura de la vela analizando el precio de cierre en relación con el precio de apertura de N velas pasadas.

Estrategia lógica

La lógica central de esta estrategia es la siguiente:

  1. Establecer el parámetro NUM_CANDLES para determinar el número de velas a analizar.

  2. Define la función candle_dir para determinar la dirección de una sola vela. close>open es alcista, close

  3. Definir la función count_candles para contar el número de velas con cierta dirección en las velas NUM_CANDLES pasadas.

  4. Cuenta el número de velas alcistas, bajistas y neutras en las velas NUM_CANDLES pasadas, almacena en ups, dns, neu.

  5. Definir indicador, su valor es igual a ups-dns más/menos neu.

  6. Determinar la entrada larga/corta basándose en el indicador indico.

Al analizar la dirección de la vela de un cierto número de velas, esta estrategia estima la probabilidad de la dirección futura de la vela para las decisiones comerciales.

Análisis de ventajas

  1. La lógica estratégica es clara y fácil de entender, interpretar y verificar.

  2. Solo se necesitan datos de velas, lo que reduce el costo de computación.

  3. Fácil de ajustar la sensibilidad ajustando el parámetro NUM_CANDLES.

  4. Aplicable a todos los productos y plazos, con una gran adaptabilidad.

  5. Fácil de optimizar los parámetros para encontrar la mejor combinación.

Análisis de riesgos

  1. Incapaz de manejar el mercado de rango limitado, puede causar un exceso de negociación.

  2. El período de muestra inadecuado puede causar retraso en la señal, NUM_CANDLES necesita una ajuste cuidadoso.

  3. Incapacidad para adaptarse a la inversión de tendencia, riesgo de pérdida en la inversión de tendencia.

  4. El impacto de los costes de negociación debe tenerse en cuenta para evitar el exceso de negociación.

  5. Tenga cuidado con el sobreajuste en la optimización de parámetros, requiere verificación de varios mercados.

Direcciones de optimización

  1. Considere la posibilidad de añadir un stop loss a la pérdida límite.

  2. Combinar con el indicador de tendencia para evitar el comercio contra tendencia.

  3. Aumentar el tamaño de la muestra o utilizar un plazo más corto para mejorar la estabilidad.

  4. Considere la combinación de múltiples mercados para mejorar la tasa de ganancia.

  5. Utilice el aprendizaje automático para la optimización automática de parámetros.

Conclusión

Esta estrategia determina la dirección del comercio mediante el análisis de la dirección de la vela, con lógica clara y simple. La sensibilidad es controlable a través de la sintonización de parámetros. Los pros son la simplicidad, los bajos requisitos y la amplia adaptabilidad, pero existen algunos riesgos y se necesita una mayor optimización para mejorar la estabilidad. En general, esta estrategia proporciona un enfoque simple y práctico para el comercio cuantitativo.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Refined CandleCounter Strategy by origo", overlay=true)

// how many candles to count
NUM_CANDLES = 7

// determine candle direction
candle_dir = close > open ? 1 : (round(close-open) == 0 ? 0 : -1)

// return # of candles with a given direction
count_candles(dir, max) =>
    count = 0
    for i = 0 to max
        if candle_dir[i] == dir
            count := count + 1
    count

ups = count_candles(1, NUM_CANDLES)
dns = count_candles(-1, NUM_CANDLES)
neu = count_candles(0, NUM_CANDLES)

indic = ups-dns


if indic > 0
    indic := indic+neu
else
    indic := indic-neu

plotarrow(neu, title="UP vs DN")

longCondition = (indic) > 0
shortCondition = (indic) <= 0

strategy.entry("buy", strategy.long, 1, when = longCondition and not shortCondition)
strategy.entry("sell", strategy.short, 1, when = shortCondition and not longCondition)


Más.