Strategie zur Kombination von gleitendem Durchschnitt und MACD

Schriftsteller:ChaoZhang, Datum: 2023-10-24 13:51:02
Tags:

img

Übersicht

Diese Strategie kombiniert das gleitende Durchschnitts-Crossover-System und den MACD-Indikator, um eine automatisierte Handelsstrategie zu implementieren, die in Trendperioden lang geht und bei Trendumkehrungen Gewinn/Stopps erzielt.

Grundsätze

Die Strategie basiert hauptsächlich auf der Kombination von gleitendem Durchschnitts-Crossover-System und MACD-Indikator. Insbesondere geht es lang, wenn der kurzfristige gleitende Durchschnitt über den langfristigen gleitenden Durchschnitt überschreitet, und geht kurz, wenn der kurzfristige gleitende Durchschnitt unter dem langfristigen gleitenden Durchschnitt überschreitet. Hier wird die 21-tägige EMA als kurzfristige MA und die 100-tägige EMA als langfristige MA verwendet.

Gleichzeitig wird der MACD-Indikator verwendet, um Handelssignale zu bestätigen. Nur wenn die MACD-DIFF-Linie über die DEA-Linie geht, wird ein Long-Signal ausgelöst. Und sobald die DIFF-Linie unter die DEA-Linie geht, wird die Long-Position für einen Stop-Loss geschlossen.

Darüber hinaus wird der RSI verwendet, um übermäßige Shorting zu vermeiden, wobei eine Short-Position nur eingeleitet wird, wenn der RSI unter 30% liegt.

Für Stop-Losses setzt die Strategie eine feste Prozentsatz-Trailing-Stop-Methode ein, wobei der lange Stop-Loss auf 1% unter dem Einstiegspreis und der kurze Stop-Loss auf 1% über dem Einstiegspreis festgelegt wird.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, das gleitende Durchschnittssystem zu verwenden, um die Haupttrendrichtung zu bestimmen, und dann den MACD-Indikator für Eingangssignale zu verwenden, der falsche Ausbrüche effektiv filtern kann.

Darüber hinaus hilft die feste Prozentsatz-Stop-Loss und die bewegliche Gewinnentnahme, Verluste innerhalb akzeptabler Grenzen zu halten und Gewinne frühzeitig zu sichern, wenn möglich.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Das gleitende Durchschnitts-Crossover-System hat Probleme mit Verzögerungen, die zu verzögerten Einstiegen und fehlenden besten Einstiegspunkten führen können.

  2. Der MACD-Indikator ist anfällig für falsche Signale. Andere Filter wie KDJ können hinzugefügt werden.

  3. Der feste Prozentsatz Stop-Loss kann manchmal nicht rechtzeitig beendet werden.

  4. Die Strategie kann erhebliche Rückzüge mit sich bringen, und die Positionsgröße könnte verringert werden, um das Risiko zu mindern.

  5. Die Strategie ist nur langfristig und kann nicht von Abwärtstrends profitieren.

Optimierungsrichtlinien

Die Strategie kann in folgenden Bereichen verbessert werden:

  1. Optimieren der MA-Parameter für präzisere Signale. Verschiedene MA-Typen wie EMA und SMA könnten getestet werden.

  2. Für den Fall, dass die Angabe der Angabe nicht erfolgt ist, wird die Angabe der Angabe der Angabe der Angabe nicht erfolgen.

  3. Test dynamische Stop-Loss-Methoden wie Trailing-Stops und ATR-Stops, um Risiken besser zu kontrollieren.

  4. Hinzufügen von Shorting-Mechanismen, damit die Strategie von Abwärtstrends profitieren kann.

  5. Optimierung der Positionsgröße und des Geldmanagements zur Verringerung des maximalen Drawdowns.

  6. Testleistung auf verschiedenen Produkten und Anlageklassen zur Erweiterung der Anwendbarkeit.

  7. Einbeziehung von Algorithmen für maschinelles Lernen zur automatischen Optimierung von Parametern und Verringerung manueller Eingriffe.

Schlussfolgerung

Diese Strategie kombiniert die Stärken des gleitenden Durchschnitts-Crossover-Systems und des MACD-Indikators für eine hohe Rentabilität. Weitere Verbesserungen bei Parameter-Tuning, zusätzlichen Filtern, Stop-Loss-Mechanismen und Shorting-Mechanismen können die Stabilität verbessern und Drawdowns reduzieren. Die Einbeziehung von maschinellem Lernen kann auch die Anwendbarkeit erweitern. Insgesamt bietet sie eine gute Richtung für quantitative Handelsstrategien, erfordert aber immer noch kontinuierliche Tests und Optimierungen, um eine robuste Strategie zu werden.


/*backtest
start: 2023-10-16 00:00:00
end: 2023-10-23 00:00:00
period: 2m
basePeriod: 1m
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/
// © Toxic_Cat_

//@version=5
// strategy("MA_50_200_CROSS", overlay=true, margin_long=100, margin_short=100)

EMA21 = ta.ema(close, 21)
EMA100 = ta.ema(close, 100)
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)

plot(EMA21)
plot(EMA100, color = color.orange)

openLong = ta.crossover(EMA21, EMA100) and macdLine > signalLine
openShort = ta.crossunder(EMA21, EMA100) and ta.rsi(close, 14) <= 33

crossunderMACD = ta.crossunder(macdLine, signalLine)


if (strategy.opentrades < 1)
    if openLong 
        strategy.entry("L",strategy.long, 1)

   if openShort
      strategy.entry("S",strategy.short, 1)

// slose long
// if ((strategy.opentrades.entry_price(0) + strategy.opentrades.entry_price(0)*0.03) <= open) 
//     strategy.exit("profit L", "L", limit = close)

// else if strategy.opentrades.entry_price(0) - strategy.opentrades.entry_price(0)*0.01 >= open or crossunderMACD
//     strategy.exit("loss L", "L", stop = close)

// slose short
// if (strategy.opentrades.entry_price(0) - strategy.opentrades.entry_price(0)*0.03) >= open
//     strategy.exit("profit S", "S", limit = (strategy.opentrades.entry_price(0) - strategy.opentrades.entry_price(0)*0.03))

// else if strategy.opentrades.entry_price(0) + strategy.opentrades.entry_price(0)*0.01 <= open
//    strategy.exit("loss S", "S", stop = (strategy.opentrades.entry_price(0) + strategy.opentrades.entry_price(0)*0.01))

















Mehr