
La stratégie de trading VWAP MACD SMO pour l’or est une stratégie de trading complète conçue sur une période de 12 heures. Elle combine la ligne lunaire VWAP, l’oscillateur SMO et l’indicateur MACD pour identifier les opportunités de trading sur le marché de l’or.
La stratégie utilise la ligne lunaire VWAP comme principal indicateur de tendance. La ligne lunaire VWAP représente le cours moyen des prix, la ligne lunaire signifiant que la période de calcul de la VWAP est le mois précédent. Si le cours de clôture est supérieur à la ligne lunaire VWAP, cela indique qu’il est actuellement en hausse tendancielle; si le cours de clôture est inférieur à la ligne lunaire VWAP, cela signifie que la tendance est en baisse.
L’oscillateur SMO est utilisé pour déterminer la situation actuelle de survente. Il est composé d’un composant à cycle long et d’un composant à cycle court.
Le MACD permet de déterminer la direction du mouvement. Lorsqu’un pilier se déplace vers le haut, il représente un mouvement de rotation positif fort, ce qui permet de faire plus; lorsqu’un pilier se déplace vers le bas, cela signifie un mouvement de rotation faible, et il faut considérer le vide.
Selon ces trois indicateurs, il est possible d’établir des règles spécifiques pour la stratégie de trading:
Entrée multiple: faire un plus lorsque le prix de clôture est supérieur à la ligne lunaire du VWAP, la colonne verticale du MACD est sur le point de se briser et l’oscillateur SMO est supérieur à 0 Entrée de tête vide: la colonne verticale du MACD est brisée lorsque le prix de clôture est en dessous de la ligne lunaire VWAP et que l’oscillateur SMO est à zéro
Le stop loss est réglé en fonction du pourcentage de la valeur d’entrée.
Cette stratégie, combinant plusieurs périodes et indicateurs, permet de juger efficacement la direction et la force des tendances, avec les avantages suivants:
Malgré la bonne conception de cette stratégie, il y a des risques à prendre en compte:
Pour contrôler les risques mentionnés ci-dessus, il convient d’optimiser raisonnablement les paramètres du VWAP et du MACD, mais pas trop. Dans le même temps, le taux de stop-loss ne doit pas être trop élevé et les pertes individuelles doivent être contrôlées à environ 3%.
La stratégie peut également être optimisée dans les domaines suivants:
La stratégie VWAP MACD SMO pour l’or combine plusieurs indicateurs pour juger de la tendance et des situations de survente et de survente, ce qui permet de saisir efficacement les opportunités de ligne moyenne de l’or. Bien qu’il y ait un certain risque, il peut être contrôlé par l’optimisation des paramètres et les moyens de contrôle du risque. La stratégie a une très forte extensibilité et peut être optimisée en modules en fonction des besoins réels.
/*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')