Parabolic SAR y CCI Strategy con salida de la EMA para el comercio de oro

El autor:¿ Qué pasa?, Fecha: 2023-12-07 17:04:54
Las etiquetas:

img

Resumen general

Esta es una estrategia de negociación de oro en el marco de tiempo M5 basada en la combinación de los indicadores técnicos Parabolic SAR, CCI y EMA. Utiliza tres indicadores diferentes para identificar la dirección de la tendencia y las situaciones de sobrecompra / sobreventa de oro para capturar las oportunidades comerciales durante los retrocesos del mercado.

Estrategia lógica

  1. El SAR parabólico se utiliza para determinar la dirección de tendencia y los puntos de reversión potenciales del oro.

  2. El CCI indica las condiciones de sobrecompra/sobreventa del mercado: un CCI por encima de 100 indica una tendencia alcista, mientras que un CCI por debajo de -100 indica una tendencia bajista.

  3. Los cruces de la EMA indican puntos de inflexión a corto plazo del precio.

  4. Reglas de entrada: pasar al largo cuando el SAR cruza la EMA de 5 minutos en dirección ascendente y el CCI es mayor de 100; pasar al corto cuando el SAR cruza la EMA de 5 minutos en dirección descendente y el CCI es menor de -100.

  5. Reglas de salida: Obtener ganancias al precio de entrada + 7 ticks, Detener pérdida establecida en la línea EMA de 1 minuto.

Ventajas

  1. Utiliza 3 indicadores para identificar tendencias y niveles clave de soporte/resistencia, mejorando la rentabilidad.

  2. Las inversiones de SAR combinadas con la dirección de la tendencia evitan entradas innecesarias durante las consolidaciones.

  3. Los cruces de la EMA con SAR ofrecen entradas de bajo riesgo durante las retracciones temporales.

  4. Parámetros optimizados adecuados para materias primas volátiles como oro y pequeñas cuentas.

Los riesgos

  1. Se basa principalmente en indicadores técnicos que pueden fallar durante los eventos de cisne negro.

  2. Commodity volátil, EMA stop loss propenso a ser golpeado por picos que resultan en grandes pérdidas.

  3. La Comisión considera que la medida no constituye una ayuda estatal en el sentido del artículo 107 del Tratado.

  4. Las fallas del sistema durante movimientos volátiles pueden impedir la ejecución efectiva de stop loss.

Oportunidades de mejora

  1. Prueba de diferentes combinaciones de parámetros para optimizar el CCI para las características del oro.

  2. Incorporar más indicadores como patrones de velas, bandas de Bollinger para mejorar la robustez.

  3. Emplear el aprendizaje automático para la optimización dinámica de los parámetros SAR adaptándose a los mercados cambiantes.

  4. Prueba diferentes mecanismos de detención de pérdidas, por ejemplo, para reducir la probabilidad de ser golpeado.

  5. Optimizar los modelos de dimensionamiento de posiciones, por ejemplo, dimensionamiento de posiciones dinámicas y fraccionadas fijas para controlar el importe de la pérdida de una sola operación.

Conclusión

En general, una estrategia de negociación de oro estable que combina múltiples indicadores para identificar tendencias, niveles clave de soporte / resistencia y zonas de sobrecompra / sobreventa para entradas de bajo riesgo durante los retrocesos. Los parámetros optimizados permiten que el comercio de cuentas pequeñas capitalice la alta volatilidad del oro. Tiene riesgos que pueden abordarse mediante una gestión adecuada del riesgo. Tiene un potencial significativo para mejorar aún más la estabilidad y la rentabilidad a través de la mejora.


/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Parabolic SAR and CCI Strategy with EMA Exit", overlay=true)

// Parameters
length = input(50, title="EMA Length")
length_21 = input(21, title="EMA Length 21")
acc = input(0.02, title="Acceleration Factor")
max_acc = input(0.2, title="Max Acceleration Factor")
takeProfitPoints = input(7, title="Take Profit Points")

// Variables
var float ep = 0.0
var float sar = 0.0
var float af = acc

// Calculating 5-minute EMA based on 1-minute data
var float sum_close = na
var float ema_5min = na
if (bar_index % 5 == 0)
    sum_close := 0.0
    for i = 0 to 4
        sum_close := sum_close + close[i]
    ema_5min := ema(sum_close / 5, length_21)

// Calculating 1-minute EMA
ema1 = ema(close, length)
cci = cci(close, 45)

// Custom Parabolic SAR Calculation
trendUp = close > ema1
trendDown = close < ema1

var float prev_sar = na
prev_sar := na(sar[1]) ? low[1] : sar[1]

if trendUp
    ep := high > ep ? high : ep
    af := min(af + acc, max_acc)
    sar := min(prev_sar, prev_sar + af * (ep - prev_sar))

if trendDown
    ep := low < ep ? low : ep
    af := min(af + acc, max_acc)
    sar := max(prev_sar, prev_sar + af * (ep - prev_sar))

// Entry Conditions
longCondition = sar > ema1 and ema1 > ema_5min and cci > 100
shortCondition = sar < ema1 and ema1 < ema_5min and cci < -100

// Exit Conditions
longTakeProfit = strategy.position_avg_price + takeProfitPoints * syminfo.mintick
longStopLoss = ema1
shortTakeProfit = strategy.position_avg_price - takeProfitPoints * syminfo.mintick
shortStopLoss = ema1

// Plotting Entry Points
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Strategy Execution
if longCondition
    strategy.entry("Long", strategy.long)

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

if strategy.position_size > 0
    strategy.exit("Take Profit/Stop Loss", "Long", limit=longTakeProfit, stop=longStopLoss)

if strategy.position_size < 0
    strategy.exit("Take Profit/Stop Loss", "Short", limit=shortTakeProfit, stop=shortStopLoss)


Más.