Estrategia de negociación de oro VWAP MACD

El autor:¿ Qué pasa?, Fecha: 2023-10-20 16:23:33
Las etiquetas:

img

Resumen general

La estrategia de negociación de oro VWAP MACD SMO es una estrategia completa diseñada para el mercado de oro utilizando un gráfico de 12 horas. Combina el mensual VWAP, el oscilador SMO y el histograma MACD para identificar oportunidades de negociación en el mercado de oro.

Estrategia lógica

La estrategia utiliza el VWAP mensual como el indicador principal de tendencia. VWAP representa el precio promedio de la transacción, y mensual significa que el intervalo de tiempo para calcular el VWAP es el mes pasado. Si el cierre actual está por encima del mensual VWAP, indica la tendencia alcista actual; si el cierre está por debajo del mensual VWAP, significa que la tendencia es baja.

El oscilador SMO se utiliza para determinar la situación actual de sobrecompra y sobreventa. Consiste en un componente de ciclo largo y un componente de ciclo corto. Cuando el oscilador está por encima de 0, indica condiciones de sobrecompra y cuando está por debajo de 0, representa sobreventa.

Cuando la columna se rompe, representa que el impulso se está fortaleciendo para ir largo; cuando la columna se rompe, significa que el impulso se está debilitando para considerar ir corto.

De acuerdo con estos tres indicadores, se pueden establecer las reglas específicas de la estrategia de negociación:

Entrada larga: cuando el cierre está por encima de VWAP mensual, el histograma MACD se rompe y el oscilador SMO está por encima de 0. Entrada corta: cuando el cierre está por debajo del VWAP mensual, el histograma MACD se descompone y el oscilador SMO está por debajo de 0.

Las tasas de rentabilidad y de stop loss se fijan en función de los porcentajes de entrada.

Análisis de ventajas

La estrategia combina múltiples marcos de tiempo e indicadores para determinar eficazmente la dirección y la fuerza de la tendencia, con las siguientes ventajas:

  1. VWAP mensual puede determinar la dirección de la tendencia primaria para evitar la negociación contra tendencia.
  2. El histograma MACD puede capturar los cambios de impulso de manera oportuna.
  3. El oscilador SMO evalúa las condiciones de sobrecompra y sobreventa, lo que es útil para entrar en posibles puntos de inversión.
  4. La combinación de múltiples indicadores puede verificarse entre sí y mejorar la fiabilidad de la señal.
  5. Percentajes de ganancias y pérdidas para controlar los riesgos.

Análisis de riesgos

A pesar de que la estrategia está diseñada razonablemente, todavía hay algunos riesgos a tener en cuenta:

  1. El VWAP es sensible a las flechas, que pueden generar señales erróneas.
  2. La configuración incorrecta de los parámetros MACD aumenta la probabilidad de falsos breakouts.
  3. Los parámetros incorrectos de la OMC también pueden conducir a una evaluación errónea de las zonas de sobrecompra y sobreventa.
  4. Los ajustes excesivamente amplios de toma de ganancias y stop loss no pueden controlar eficazmente la pérdida única.

Para controlar los riesgos anteriores, los parámetros VWAP y MACD deben optimizarse razonablemente sin rangos demasiado amplios.

Direcciones de optimización

La estrategia también puede optimizarse en los siguientes aspectos:

  1. Añadir una confirmación de volumen, como la ruptura de volumen de MA.
  2. Incorporar indicadores de volatilidad como ATR para ajustar el tamaño de las posiciones en función de la volatilidad del mercado.
  3. Añadir el mecanismo de luz a altos niveles para evitar perder ganancias.
  4. Prueba diferentes estrategias de toma de ganancias y stop loss, como trailing stop loss, stop loss adaptativo, etc.
  5. Añadir el módulo de verificación del modelo para filtrar las señales anormales.

Conclusión

La estrategia Gold VWAP MACD SMO combina múltiples indicadores para determinar la tendencia y las condiciones de sobrecompra / sobreventa, que pueden capturar eficazmente las oportunidades a mediano y largo plazo en oro. Aunque hay algunos riesgos, se pueden controlar a través de la optimización de parámetros y la gestión de riesgos. La estrategia tiene una escalabilidad muy fuerte y se puede optimizar modularmente en función de las necesidades reales. Es un sistema de negociación digno de seguimiento a largo plazo.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
// strategy("VWAP Gold strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10000, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.005)


source = input(low)


//vwap monthly
timeframeM = time("M")
beginningM = na(timeframeM[1]) or timeframeM > timeframeM[1]

sumsourceM = source * volume
sumVolM = volume
sumsourceM := beginningM ? sumsourceM : sumsourceM + sumsourceM[1]
sumVolM := beginningM ? sumVolM : sumVolM + sumVolM[1]
vwapMonthly= sumsourceM / sumVolM

//macd
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)


fast_ma = ema(src, fast_length)
slow_ma = ema(src, slow_length)
macd = fast_ma - slow_ma
signal =  ema(macd, signal_length)
hist = macd - signal


//SMO
longlen = input(22, minval=1, title="Long Length SMO")
shortlen = input(6, minval=1, title="Short Length SMO")
siglen = input(5, minval=1, title="Signal Line Length SMO")
erg = tsi(close, shortlen, longlen)
sig = ema(erg, siglen)
osc = erg - sig


shortCondition =  close < vwapMonthly and hist < hist[1] and osc < 0
longCondition =  close > vwapMonthly and hist> hist[1] and osc > 0

tplong=input(0.085, step=0.005, title="Take profit % for long")
sllong=input(0.03, step=0.005, title="Stop loss % for long")
tpshort=input(0.05, step=0.005, title="Take profit % for short")
slshort=input(0.025, step=0.005, title="Stop loss % for short")

strategy.entry("long",1,when=longCondition)
strategy.entry("short",0,when=shortCondition)

strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')




Más.