Estrategia mixta de cruce de media móvil compuesta de oro y RSI


Fecha de creación: 2024-03-01 12:28:38 Última modificación: 2024-03-01 12:28:38
Copiar: 0 Número de Visitas: 721
1
Seguir
1617
Seguidores

Estrategia mixta de cruce de media móvil compuesta de oro y RSI

Descripción general

Esta estrategia utiliza un indicador de media móvil, un indicador relativamente débil (RSI) y una forma de absorción para operar en el comercio de oro a corto y largo plazo. Utiliza el cruce de las líneas de 21 días, 50 días y 200 días como la principal señal de negociación. El indicador RSI y la forma de absorción ayudan a filtrar la señal para optimizar aún más el punto de entrada en el mercado.

Principio de estrategia

La estrategia se basa en la toma de decisiones de transacciones en los siguientes aspectos:

  1. La media móvil cruzada

Se utiliza la línea de 21 días y la línea de 200 días como indicadores principales para determinar el cambio de tendencia. Cuando la línea de 21 días atraviesa la línea de 200 días, es una señal de alza, y cuando la línea de 21 días atraviesa la línea de 200 días, es una señal de baja. Además, se combina con la línea de 50 días para filtrar la señal de salto.

  1. Indicadores auxiliares del RSI

Establezca líneas de sobreventa y sobreventa del indicador RSI, cuando el RSI sea superior a 70 como sobreventa, y cuando el RSI sea inferior a 30 como sobreventa. El RSI debe estar en la zona de no sobreventa cuando haya una señal de alza y el RSI debe estar en la zona de no sobreventa cuando haya una señal de baja, para evitar comprar en el punto más alto y vender en el punto más bajo.

  1. Confirmación de la forma de devolución

Cuando se emite una señal de avance, se necesita una candle de avance y una candle de avance para confirmar el cambio de tendencia.

Cuando se cumplen las tres condiciones anteriores, se genera una señal de transacción y se realiza un pedido, lo que forma un conjunto de filtros más estrictos.

Ventajas estratégicas

La mayor ventaja de esta estrategia es que utiliza una variedad de parámetros e indicadores para un juicio integral, para filtrar mejor las señales erróneas y reducir los pérdidas innecesarias. Las ventajas concretas se reflejan en los siguientes aspectos:

  1. La estrategia de las medias móviles tiene cierta estabilidad en sí misma.

  2. La configuración del indicador RSI evita la compra de puntos altos y la venta de puntos bajos.

  3. La inclusión de las formas de absorción puede confirmar aún más la fiabilidad de la reversión de la tendencia.

  4. El stop loss es pequeño y permite un control efectivo del riesgo.

Riesgo estratégico

Aunque la estrategia funciona bien en cuanto a filtración de señales y control de riesgos, cualquier estrategia tiene sus debilidades y riesgos.

  1. La configuración de los parámetros es más compleja y puede requerir una gran cantidad de pruebas para encontrar la combinación óptima de parámetros.

  2. Las señales de entrada son más estrictas, y es posible que se pierdan algunas de las mejores oportunidades.

  3. En situaciones extremas, puede haber un cierto retraso.

  4. La estabilidad de la operación a largo plazo aún está por comprobarse.

Para estos riesgos, podemos mejorar y optimizar por medio de ajustes de parámetros, optimización de la lógica del código y combinación con otros indicadores.

Dirección de optimización

La estrategia ha hecho un buen trabajo en el análisis de varios indicadores, pero todavía hay espacio para la optimización. Las principales direcciones de optimización incluyen:

  1. Ajustar los parámetros para encontrar la combinación óptima. Se puede encontrar un conjunto de parámetros más óptimos mediante la retroalimentación de más datos históricos y la comparación de los efectos de los diferentes parámetros en los resultados.

  2. En combinación con otros indicadores para ayudar. Indicadores como MACD, KD y otros también pueden ayudar a determinar el momento en que la tendencia cambia. La introducción adecuada de otros indicadores puede formar un sistema de indicadores más fuerte.

  3. Optimización y mejora de los mecanismos de detención de pérdidas. Los límites de detención existentes son más pequeños y se puede probar aún más si los límites de detención de diferentes magnitudes pueden reducir los cambios innecesarios de posición.

  4. Prueba de datos en periodos de tiempo más largos para verificar la eficacia a largo plazo de la estrategia. Prueba de la estabilidad de la estrategia a través de más años y retroalimentación de la situación del mercado.

Resumir

Esta estrategia utiliza una variedad de herramientas de análisis técnico, como promedios móviles, indicadores RSI y formas de absorción, para operar de manera bidireccional en el comercio de oro. A través de la configuración de parámetros y el filtrado de señales, se forma un sistema de estrategias más estricto que controla el riesgo hasta cierto punto.

Código Fuente de la Estrategia
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Gold Trading with Simons Strategy", overlay=true)

// Parameters
length21 = input(21, minval=1, title="Length for 21 MA")
length50 = input(50, minval=1, title="Length for 50 MA")
length200 = input(200, minval=1, title="Length for 200 MA")
rsiLength = input(14, minval=1, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
takeProfitPercent = input(4, title="Take Profit %")
stopLossPercent = input(1, title="Stop Loss %")

// Moving Averages
ma21 = sma(close, length21)
ma50 = sma(close, length50)
ma200 = sma(close, length200)

// RSI
rsi = rsi(close, rsiLength)

// Engulfing Pattern
isBullishCandle(c) => close[c] > open[c]
isBearishCandle(c) => close[c] < open[c]

bearishEngulfing = isBullishCandle(1) and isBearishCandle(0) and close < open[1] and open > close[1]
bullishEngulfing = isBearishCandle(1) and isBullishCandle(0) and close > open[1] and open < close[1]

// Calculate Take Profit and Stop Loss Levels
takeProfitLevel(entryPrice) => entryPrice * (1 + takeProfitPercent / 100)
stopLossLevel(entryPrice) => entryPrice * (1 - stopLossPercent / 100)

// Entry Conditions
longCondition = crossover(ma21, ma200) and close > ma21 and close > ma50 and rsi < rsiOverbought and bullishEngulfing
shortCondition = crossunder(ma21, ma200) and close < ma21 and close < ma50 and rsi > rsiOversold and bearishEngulfing

// Entry
if (longCondition)
    entryPrice = close
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", "Long", limit=takeProfitLevel(entryPrice))
    strategy.exit("Stop Loss", "Long", stop=stopLossLevel(entryPrice))
if (shortCondition)
    entryPrice = close
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit", "Short", limit=takeProfitLevel(entryPrice))
    strategy.exit("Stop Loss", "Short", stop=stopLossLevel(entryPrice))

// Plotting
plot(ma21, color=color.blue, title="21 MA")
plot(ma50, color=color.orange, title="50 MA")
plot(ma200, color=color.red, title="200 MA")
hline(rsiOverbought, "RSI Overbought", color=color.green)
hline(rsiOversold, "RSI Oversold", color=color.red)
plot(rsi, "RSI", color=color.purple)