
La estrategia de negociación VWAP MACD SMO para el oro es una estrategia de negociación completa diseñada para un período de 12 horas. Combina la línea lunar VWAP, el oscilador SMO y el indicador MACD para identificar oportunidades de negociación en el mercado del oro.
La estrategia utiliza la línea lunar VWAP como el principal indicador de tendencia. La línea lunar VWAP representa el precio promedio de transacción, la línea lunar significa que el período de tiempo para calcular VWAP es el último mes. Si el precio de cierre actual es superior a la línea lunar VWAP, indica que se encuentra en una fase de tendencia al alza; si el precio de cierre es inferior a la línea lunar VWAP, significa que la tendencia está bajando.
El oscilador SMO se utiliza para determinar la situación actual de sobreventa y sobrecompra. Se compone de un componente de ciclo largo y un componente de ciclo corto. Cuando el oscilador es superior a 0 indica que se encuentra en una situación de sobrecompra, y cuando es inferior a 0 significa que está sobrevendido.
El MACD permite determinar la dirección del motor. Cuando el poste se rompe hacia arriba, significa que el motor está girando fuerte y se puede hacer más; cuando el poste se rompe hacia abajo, significa que el motor está girando débil y se debe considerar el vacío.
Las reglas específicas de la estrategia de trading se basan en estos tres indicadores:
Entrada múltiple: hacer más cuando el precio de cierre está por encima de la línea lunar VWAP, la columna vertical MACD se rompe y el oscilador SMO está por encima de 0 Entrada a la baja: el MACD se desploma cuando el precio de cierre está por debajo de la línea lunar VWAP, la columna vertical MACD se desploma y el oscilador SMO se desploma cuando está por debajo de 0
El Stop Loss se ajusta según el porcentaje de entrada.
La estrategia combina varios rangos de tiempo e indicadores para determinar la dirección y la intensidad de las tendencias, con las siguientes ventajas:
A pesar de la buena concepción de la estrategia, hay ciertos riesgos a tener en cuenta:
Para controlar los riesgos mencionados anteriormente, se debe optimizar razonablemente los parámetros de VWAP y MACD, que no deben ser demasiado grandes. Al mismo tiempo, la proporción de stop loss no debe ser demasiado grande, y se debe controlar la pérdida individual en alrededor del 3%.
La estrategia también puede ser optimizada en los siguientes aspectos:
La estrategia VWAP MACD SMO de oro combina varios indicadores para determinar la tendencia y la superación de la superación de la superación, lo que permite aprovechar eficazmente las oportunidades de la línea media del oro. Aunque existe cierto riesgo, se puede controlar mediante la optimización de parámetros y los medios de control de riesgo. La estrategia tiene una extensibilidad muy fuerte y se puede optimizar modularmente según las necesidades reales.
/*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')