
A estratégia de negociação de ouro VWAP MACD SMO é uma estratégia de negociação completa projetada em um período de 12 horas. Combina a linha lunar VWAP, o oscilador SMO e o indicador MACD para identificar oportunidades de negociação no mercado de ouro.
A estratégia usa a linha lunar VWAP como o principal indicador de tendência. A linha lunar VWAP representa o preço de transação média, e a linha lunar significa que o período de tempo para calcular a VWAP é o último mês. Se o preço de fechamento atual for superior à linha lunar VWAP, isso indica que o momento está em uma fase de aumento da tendência; Se a linha lunar VWAP for inferior à linha lunar VWAP, isso significa que a tendência está caindo.
O oscilador SMO é usado para determinar a situação atual de sobrecompra e sobrevenda. É composto por um componente de longo e um componente de curto período. Quando o oscilador é superior a 0, ele está em um estado de sobrecompra, e quando é inferior a 0, ele está em um estado de sobrevenda.
O MACD pode determinar a direção do movimento. Quando o pilar se rompe para cima, o movimento está sendo fortalecido e pode ser feito mais; Quando o pilar se rompe para baixo, significa que o movimento está sendo enfraquecido e deve ser considerado um vazio.
A partir desses três indicadores, pode-se estabelecer regras específicas para a estratégia de negociação:
Multi-Head Entry: Fazer um plus quando o preço de fechamento está acima da linha lunar VWAP, a coluna vertical MACD tem uma ruptura de coluna e o oscilador SMO está acima de 0 Entradas em branco: quando o preço de fechamento está abaixo da linha lunar VWAP, a coluna vertical MACD desce e se desfaz quando o oscilador SMO está abaixo de 0
Stop Loss é ajustado de acordo com a percentagem de entrada.
A estratégia, combinando vários intervalos de tempo e indicadores, permite avaliar com eficácia a direção e a intensidade das tendências, com as seguintes vantagens:
Embora a estratégia tenha sido concebida com raciocínio lógico, existem alguns riscos a ter em conta:
Para controlar os riscos acima, os parâmetros de VWAP e MACD devem ser razoavelmente otimizados, mas não devem ser muito grandes. Ao mesmo tempo, a proporção de stop loss não deve ser muito grande, e os perdas individuais devem ser controladas em torno de 3%.
A estratégia também pode ser melhorada nos seguintes aspectos:
A estratégia VWAP MACD SMO do ouro integra vários indicadores para determinar a tendência e os casos de sobrevenda e sobrevenda, para efetivamente capturar as oportunidades de linha média do ouro. Embora haja algum risco, ele pode ser controlado por meio de otimização de parâmetros e controle de risco. A estratégia tem uma extensibilidade muito forte e pode ser otimizada em módulos de acordo com a necessidade real.
/*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')