La stratégie de trading VWAP MACD SMO Gold est une stratégie complète conçue pour le marché de l'or à l'aide d'un graphique de 12 heures.
La stratégie utilise le VWAP mensuel comme indicateur principal de tendance. VWAP représente le prix moyen de la transaction, et mensuel signifie que la période de calcul du VWAP est le mois précédent. Si la clôture actuelle est supérieure au VWAP mensuel, cela indique la tendance haussière actuelle; si la clôture est inférieure au VWAP mensuel, cela signifie que la tendance est à la baisse.
L'oscillateur SMO est utilisé pour déterminer la situation actuelle de surachat et de survente. Il se compose d'une composante de cycle long et d'une composante de cycle court. Lorsque l'oscillateur est supérieur à 0, il indique des conditions de surachat et lorsqu'il est inférieur à 0, il représente une survente.
L'histogramme MACD peut déterminer la direction de l'élan. Lorsque la colonne se brise, elle représente l'élan se renforce pour aller long; lorsque la colonne se brise, cela signifie que l'élan s'affaiblit pour considérer aller court.
Selon ces trois indicateurs, on peut établir les règles spécifiques de la stratégie de négociation:
Entrée longue: lorsque la clôture est supérieure à VWAP mensuel, l'histogramme MACD se décompose et l'oscillateur SMO est supérieur à 0. Entrée courte: lorsque la clôture est inférieure à VWAP mensuel, l'histogramme MACD se décompose et l'oscillateur SMO est inférieur à 0.
Les bénéfices et les arrêts de perte sont établis sur la base des pourcentages d'entrée.
La stratégie combine plusieurs délais et indicateurs pour déterminer efficacement la direction et la force de la tendance, avec les avantages suivants:
Bien que la stratégie soit conçue de manière raisonnable, il y a encore quelques risques à noter:
Pour contrôler les risques ci-dessus, les paramètres VWAP et MACD devraient être optimisés de manière raisonnable sans gammes trop larges.
La stratégie peut également être optimisée dans les aspects suivants:
La stratégie Gold VWAP MACD SMO combine plusieurs indicateurs pour déterminer la tendance et les conditions de surachat / survente, ce qui peut effectivement capturer les opportunités à moyen et long terme dans l'or. Bien qu'il existe certains risques, ils peuvent être contrôlés grâce à l'optimisation des paramètres et à la gestion des risques.
/*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')