Handelsstrategie für Gold VWAP MACD

Schriftsteller:ChaoZhang, Datum: 2023-10-20 16:23:33
Tags:

img

Übersicht

Die Gold-VWAP-MACD-SMO-Handelsstrategie ist eine komplette Strategie, die für den Goldmarkt mit einem 12-Stunden-Zeitrahmen-Chart entwickelt wurde.

Strategie Logik

Die Strategie verwendet VWAP monatlich als Haupttrendindikator. VWAP repräsentiert den durchschnittlichen Transaktionspreis und monatlich bedeutet, dass der Zeitrahmen für die Berechnung von VWAP der vergangene Monat ist. Wenn der aktuelle Close über dem VWAP monatlich liegt, zeigt dies den aktuellen Aufwärtstrend an; wenn der Close unter dem VWAP monatlich liegt, bedeutet dies, dass der Trend sinkt.

Der SMO-Oszillator wird verwendet, um die aktuelle Überkauf- und Überverkaufssituation zu bestimmen. Er besteht aus einer langen Zykluskomponente und einer kurzen Zykluskomponente. Wenn der Oszillator über 0 liegt, zeigt er überkaufte Bedingungen an, und wenn er unter 0 liegt, stellt er Überverkauf dar.

Das MACD-Histogramm kann die Impulsrichtung bestimmen. Wenn die Spalte bricht, bedeutet dies, dass sich die Impulswelle für den Long stärkt; wenn die Spalte bricht, bedeutet dies, dass die Impulswelle schwächer wird, um einen Short zu wählen.

Nach diesen drei Indikatoren können die spezifischen Regeln der Handelsstrategie festgelegt werden:

Long-Entry: Wenn der Schlusspunkt über dem monatlichen VWAP liegt, bricht das MACD-Histogramm auf und der SMO-Oszillator liegt über 0. Kurzer Einstieg: Wenn der Schlusspunkt unter dem VWAP-Monatswert liegt, bricht das MACD-Histogramm ab und der SMO-Oszillator liegt unter 0.

Die Profit- und Stop-Loss-Sätze werden auf der Grundlage der Input-Prozentsätze festgelegt.

Analyse der Vorteile

Die Strategie kombiniert mehrere Zeitrahmen und Indikatoren, um die Trendrichtung und -stärke effektiv zu bestimmen, mit folgenden Vorteilen:

  1. Der VWAP kann monatlich die primäre Trendrichtung bestimmen, um einen Gegentrendhandel zu vermeiden.
  2. Das MACD-Histogramm kann Dynamikveränderungen rechtzeitig erfassen.
  3. Der SMO-Oszillator beurteilt überkaufte und überverkaufte Bedingungen, was hilfreich ist, um an möglichen Umkehrpunkten einzutreten.
  4. Die Kombination mehrerer Indikatoren kann sich gegenseitig überprüfen und die Signalzuverlässigkeit verbessern.
  5. Anpassungsfähige Prozentsätze für die Gewinn- und Stop-Loss-Anpassung zur Risikokontrolle.

Risikoanalyse

Obwohl die Strategie vernünftig konzipiert ist, gibt es noch einige Risiken zu beachten:

  1. VWAP ist empfindlich auf Whipsaws, die falsche Signale erzeugen können.
  2. Eine falsche Einstellung der MACD-Parameter erhöht die Wahrscheinlichkeit falscher Ausbrüche.
  3. Unzulängliche SMO-Parameter können auch zu einer Fehleinschätzung von überkauften und überverkauften Zonen führen.
  4. Übermäßig breite Gewinn- und Stop-Loss-Einstellungen können einen einzelnen Verlust nicht wirksam kontrollieren.

Um die oben genannten Risiken zu kontrollieren, sollten die VWAP- und MACD-Parameter angemessen optimiert werden, ohne zu große Bandbreiten zu haben. Auch sollten die Profit- und Stop-Loss-Prozentsätze nicht zu hoch sein, und Einzelverluste sollten um 3% kontrolliert werden.

Optimierungsrichtlinien

Die Strategie kann auch in folgenden Aspekten optimiert werden:

  1. Zusätzliche Bestätigung des Volumens, z. B. Volumenbreakout von MA.
  2. Einbeziehung von Volatilitätsindikatoren wie ATR, um die Positionsgröße anhand der Marktvolatilität anzupassen.
  3. Hinzufügen von Leichten Mechanismus auf hohen Ebenen, um zu vermeiden, dass Gewinne verloren gehen.
  4. Verschiedene Profit- und Stop-Loss-Strategien wie Trailing Stop Loss, Adaptive Stop Loss usw. testen.
  5. Hinzufügen eines Modellverifizierungsmoduls zum Filtern von abnormalen Signalen.

Schlussfolgerung

Die Gold-VWAP-MACD-SMO-Strategie kombiniert mehrere Indikatoren, um den Trend und die Überkauf-/Überverkaufszustände zu bestimmen, die mittelfristige bis langfristige Chancen in Gold effektiv erfassen können. Obwohl es einige Risiken gibt, können sie durch Parameteroptimierung und Risikomanagement kontrolliert werden. Die Strategie hat eine sehr starke Skalierbarkeit und kann modular basierend auf den tatsächlichen Bedürfnissen optimiert werden. Es ist ein Handelssystem, das eine langfristige Nachverfolgung verdient.


/*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')




Mehr