
Diese Strategie ist eine einfache und effiziente MACD-Quantitative-Trading-Strategie, die speziell für den Kryptowährungsmarkt entwickelt wurde und für den Handel mit höheren Zeiträumen wie 1 Stunde, 4 Stunden, 1 Tag usw. geeignet ist. Die Strategie verwendet MACD-Indikatoren, um die Richtung der Markttrends zu bestimmen, und erzeugt Handelssignale in Kombination mit einfachen Moving Averages.
Die Strategie verwendet MACD-Indikatoren, um Markttrends zu ermitteln und Handelssignale zu erzeugen. Die MACD besteht aus einer schnellen, einer langsamen und einer MACD-Säule. Die schnelle Linie ist ein kurzfristiger Moving Average, die langsame Linie ist ein langfristiger Moving Average. Die MACD-Säule ist der Unterschied zwischen der schnellen und der langsamen Linie.
Es ist eine sehr einfache und effiziente Strategie, deren größte Vorteile sind:
Die MACD ist ein erfahrener und zuverlässiger Indikator für die technische Analyse, der Trends präzise bestimmen kann.
In Kombination mit einfachen Moving Averages kann die Signalfilterung falsche Signale vermeiden und die Signalgenauigkeit verbessern.
Die MACD-Effekte sind am besten in solchen Märkten zu finden, die speziell für den hochflüchtigen Markt der Kryptowährungen geeignet sind.
Die Strategie ist klar und einfach zu verstehen und zu implementieren, die Thresholds sind niedrig und leicht anzuwenden.
Es kann in höheren Zeitzyklen betrieben werden, wodurch die Häufigkeit der Transaktionen verringert und die Auswirkungen von Transaktionskosten und Slippings verringert werden.
Aber diese Strategie birgt auch einige Risiken, vor allem in folgenden Bereichen:
Die Verwendung von einfachen Moving Averages als Signalfilter kann unter bestimmten Umständen die beste Einstiegsmomente verpassen.
Ohne die Verwendung einer Stop-Loss-Strategie kann es zu einem größeren Einzelschaden für das Konto kommen.
Es kann zu einer Art Verspätungs- und Falschsignalbildung kommen, die zu unnötigen Verlusten führt.
Die Einflussnahme von Handelszeiten und -frequenzen auf den Gewinn wird nicht berücksichtigt.
Diese Risiken erfordern weitere Verbesserungen und Optimierungen der Strategie.
Aufgrund der oben beschriebenen Risikoanalyse kann die Strategie in folgenden Richtungen weiter optimiert werden:
Versuchen Sie, die besten Parameter mit verschiedenen Parameter-Einstellungen und verschiedenen Kombinationen von Indikatoren zu finden.
Erhöhung der Stop-Loss-Strategie, um den Höchstwert für einzelne Verluste zu begrenzen;
Optimierung der Eintrittszeiten und strengere Signalprüfverfahren, um die Wirksamkeit der Signale zu gewährleisten;
Berücksichtigung der Auswirkungen von unterschiedlichen Handelszeiten und -frequenzen auf die Gesamtergebnisse.
Durch die Optimierung dieser Richtungen können die Stabilität, die Rentabilität und die Kampagnenfähigkeit der Strategie erheblich verbessert werden.
Insgesamt ist dies eine sehr praktische MACD-Handelsstrategie. Sie ist einfach, effizient und leicht umzusetzen und eignet sich hervorragend für diejenigen, die einen schnellen Einstieg in die Quantifizierung des Handels wünschen. Die Strategie bietet außerdem viel Optimierungsraum und kann durch kontinuierliche Optimierungstests zu einer stabilen und effizienten Quantifizierungsstrategie für langfristige reale Geschäfte entwickelt werden.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
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/
// © SoftKill21
//@version=4
strategy("MACD crypto strategy", overlay=true)
// Getting inputs
//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)
//sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
//sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
fast_length = 12
slow_length = 26
src = input(title="Source", type=input.source, defval=close)
signal_length = 9
sma_source = true
sma_signal = false
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
longcondition = hist > 0
shortcondition = hist < 0
//sl = input(0.5, title="SL")
//tp = input(0.1, title="tp")
strategy.entry("long",1,when=longcondition)
strategy.entry("short",0,when=shortcondition)
//strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)
//strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick,alert_message = "closeshort")
// risk = input(2, type=input.float,title="Risk percentage of BALANCE")
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)