Estrategia de seguimiento de tendencia de cruce de medias móviles de múltiples marcos temporales


Fecha de creación: 2024-02-04 17:21:25 Última modificación: 2024-02-04 17:21:25
Copiar: 0 Número de Visitas: 650
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencia de cruce de medias móviles de múltiples marcos temporales

Descripción general

Esta estrategia determina la tendencia de varios marcos temporales mediante el cálculo de promedios móviles de varios períodos de tiempo diferentes. Cuando el precio supera los promedios móviles de diferentes períodos, se realizan operaciones de diversificación correspondientes. Al mismo tiempo, se combinan los métodos de stop loss y stop loss para lograr un equilibrio entre riesgos y beneficios.

Principio de estrategia

La estrategia se basa principalmente en los siguientes puntos:

  1. Calcula el promedio móvil simple de los cuatro períodos de tiempo diferentes: línea de 21 días, línea de 50 días, línea de 100 días y línea de 200 días.

  2. Cuando el precio sube a cualquiera de estas medias, se hace más; cuando el precio baja a cualquiera de estas medias, se hace menos.

  3. Después de entrar en la situación de hacer más, el punto de parada se establece cerca del precio más bajo de la línea K anterior; después de entrar en la situación de hacer menos, el punto de parada se establece cerca del precio más alto de la línea K anterior.

  4. Hacer que el punto de parada más alto se encuentre en un rango determinado por debajo del precio mínimo; hacer que el punto de parada más bajo se encuentre en un rango determinado por encima del precio máximo.

  5. Cuando el precio toque el punto de parada o el punto de parada, la posición se sale.

A través de esta forma de juicio de múltiples marcos de tiempo, se puede aumentar la fiabilidad de las señales de negociación, y se puede seguir cuando la tendencia es más clara. Al mismo tiempo, los paros y paradas de pérdidas pueden controlar el riesgo y salir del mercado cuando las pérdidas se expanden o los beneficios alcanzan un cierto nivel.

Análisis de las ventajas

Las principales ventajas de esta estrategia son:

  1. La combinación cruzada de diferentes líneas medias periódicas puede filtrar algunas señales falsas y elegir el momento en que la tendencia es más clara para operar.

  2. El método de stop loss dinámico facilita el control del riesgo. En combinación con el cálculo de los stop loss de los datos de la línea K, se puede establecer un rango razonable de acuerdo con la amplitud de fluctuación real del mercado para controlar eficazmente el valor máximo de la pérdida individual.

  3. La estructura del código es clara y sencilla. Basado en la gramática de la política del editor Pine, la estructura del código es clara y fácil de leer, para facilitar el ajuste y la optimización de los parámetros.

  4. Es fácil de aplicar en el entorno físico. El cruce de medias móviles es una idea de estrategia de negociación más clásica, fácil de aplicar en el entorno físico después de ajustar los parámetros, con un efecto más estable.

Análisis de riesgos

Esta estrategia también presenta ciertos riesgos, que se manifiestan principalmente en los siguientes aspectos:

  1. Riesgo de error en la determinación de tendencias. Los promedios móviles, como indicadores de determinación de tendencias, también pueden producirse errores y retrasos, lo que puede provocar que las señales de negociación se desvíen.

  2. Riesgo de pérdidas en mercados con gran volatilidad. El punto de parada puede ser fácilmente activado y causar grandes pérdidas cuando el mercado se desploma o se invierte en grandes cantidades.

  3. Si los parámetros se ajustan incorrectamente, puede aumentar la pérdida. Si el punto de parada se ajusta demasiado ancho o el punto de parada se ajusta demasiado apretado, también aumenta el tamaño de la pérdida individual.

  4. La estrategia se centra en el seguimiento de la tendencia, pero no tiene en cuenta los problemas de retorno de ganancias a largo plazo, que pueden consumir una gran cantidad de dinero.

  5. Las diferencias de plataforma conllevan riesgos de liquidación. En una plataforma de negociación con todas las funciones, los costos de negociación, puntos de deslizamiento y otros problemas pueden afectar la rentabilidad.

Respuesta:

  1. En combinación con otras señales de verificación de indicadores. Por ejemplo, el juicio auxiliar de indicadores como KDJ, MACD.

  2. Ajuste el Stop Loss en función de las condiciones del mercado. El espacio suficiente puede evitar que el Stop Loss se active fácilmente.

  3. Optimización de parámetros para evaluar la retirada de beneficios a largo plazo. Obtención de la mejor combinación de parámetros mediante pruebas repetidas.

  4. Las estrategias se prueban en simuladores y se complementan con un método manual de stop loss.

Dirección de optimización

La estrategia tiene espacio para ser optimizada, y las principales direcciones son:

  1. Aumentar las condiciones de entrada y salida cuantitativas. Por ejemplo, se puede configurar la selección de precios innovadores altos y bajos para garantizar que se elija un comercio oportuno con una tendencia clara.

  2. Combinación de gestión de fondos y control de posiciones. Adaptación dinámica de la proporción de posiciones en cada operación según las condiciones de la cuenta y del mercado.

  3. Aumentar la lógica de juicio de los indicadores de tendencia. Combinar indicadores como PRZ, ATR, DMI para establecer reglas de selección y filtrado de operaciones de tendencia.

  4. Establezca un mecanismo de salida de larga y corta duración. Establezca un stop loss móvil de la amplitud de reversión del precio después de obtener ganancias, para lograr la protección de ganancias.

  5. Construir un grupo de indicadores que cumplan con los estándares de selección inteligente de acciones. Evaluar y ajustar el grupo de acciones para calificar los diversos indicadores.

  6. Aumentar los medios de control de la máquina de aprendizaje. El uso de modelos de aprendizaje profundo como LSTM, RNN y otros auxiliar el juicio, reducir el riesgo de error de manipulación manual.

Resumir

Esta estrategia es fácil de manejar y tiene un buen conocimiento de la tendencia a través de la cruce de múltiples marcos de tiempo de las medias móviles simples. Al mismo tiempo, con el establecimiento de stop loss y stop loss dinámicos, el riesgo puede ser controlado de manera efectiva. Pero también existe un cierto riesgo de error de señal y la pérdida de fondos en situaciones de crisis.

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

//@version=5
strategy("DolarBasar by AlperDursun", shorttitle="DOLARBASAR", overlay=true)

// Input for Moving Averages
ma21 = ta.sma(close, 21)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)
ma200 = ta.sma(close, 200)

// Calculate the lowest point of the previous candle for stop loss
lowestLow = ta.lowest(low, 2)

// Calculate the highest point of the previous candle for stop loss
highestHigh = ta.highest(high, 2)

// Calculate take profit levels
takeProfitLong = lowestLow - 3 * (lowestLow - highestHigh)
takeProfitShort = highestHigh + 3 * (lowestLow - highestHigh)

// Entry Conditions
longCondition = ta.crossover(close, ma21) or ta.crossover(close, ma50) or ta.crossover(close, ma100) or ta.crossover(close, ma200)
shortCondition = ta.crossunder(close, ma21) or ta.crossunder(close, ma50) or ta.crossunder(close, ma100) or ta.crossunder(close, ma200)

// Stop Loss Levels
stopLossLong = lowestLow * 0.995
stopLossShort = highestHigh * 1.005

// Exit Conditions
longExitCondition = low < stopLossLong or high > takeProfitLong
shortExitCondition = high > stopLossShort or low < takeProfitShort

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (longExitCondition)
    strategy.exit("Long Exit", from_entry="Long", stop=stopLossLong, limit=takeProfitLong)

if (shortExitCondition)
    strategy.exit("Short Exit", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)