MACD Trendfolgestrategie


Erstellungsdatum: 2024-03-29 15:14:18 zuletzt geändert: 2024-03-29 15:14:18
Kopie: 0 Klicks: 588
1
konzentrieren Sie sich auf
1617
Anhänger

MACD Trendfolgestrategie

Überblick

Die MACD-Trend-Tracking-Strategie ist eine quantitative Handelsstrategie, die auf MACD-Indikatoren basiert. Die Hauptidee dieser Strategie ist es, die Gold- und Diebstahlsignale des MACD-Indikators zu nutzen, um die Richtung des Trends zu bestimmen und zu geeigneten Zeiten eine Über- oder Unterposition zu erstellen.

Strategieprinzip

Die MACD-Indikatoren bestehen aus Differenzwerten zweier Ebenen (schneller Ebenen und langsamer Ebenen) und kombinieren die Signallinien, um ein Handelssignal zu erzeugen. Wenn die MACD-Linie die Signallinie überschreitet und die 0-Achse überschreitet, wird ein Aufwärtstrend gebildet, wodurch ein Mehrkopfposition eröffnet wird.

Strategische Vorteile

  1. Die MACD-Trend-Tracking-Strategie ist in der Lage, Trendchancen effektiv zu erfassen, um die Dynamik des Trends zu nutzen und in den Anfängen des Trends Positionen aufzubauen.

  2. Die Strategie nutzt gleichzeitig MACD-Goldfork und 0-Axis als Filterbedingungen und ist in der Lage, falsche Signale in den Schaukelmärkten besser zu filtern.

  3. Die Strategie nutzt die jüngsten bedeutenden Höhen und Tiefen als Stop-Loss, um die Risikogrenze für einzelne Geschäfte zu kontrollieren.

  4. Die Strategie ist klar, leicht zu verstehen und zu implementieren und für Anfänger geeignet.

Strategisches Risiko

  1. Der MACD ist im Wesentlichen ein rückläufiger Indikator, der zu Beginn eines Trendwechsels einen größeren Rückzug aufweisen kann.

  2. Strategie: Häufige Transaktionen können zu höheren Transaktionskosten führen.

  3. Die Einstellung der Stop-Loss-Position hängt von den jüngsten bedeutenden Höhen und Tiefen ab, und in einigen Fällen kann es zu früh oder zu spät kommen.

  4. Die Strategie berücksichtigt nicht die Positions- und Kapitalverwaltung, die in der Praxis optimiert werden müssen.

Richtung der Strategieoptimierung

  1. Die Einführung anderer technischer Indikatoren oder Preisverhaltensmuster als Filterbedingungen kann in Erwägung gezogen werden, um die Zuverlässigkeit und Genauigkeit der Signale zu verbessern.

  2. Optimieren Sie die Einstellungsmethode für die Stop-Loss-Position, z. B. durch Verwendung von ATR oder Stop-Percentage, um das Risiko besser zu kontrollieren.

  3. Einführung von Positionsmanagement- und Vermögensverwaltungsmechanismen, die die Positionsgröße dynamisch an die Marktvolatilität und das Konto-Equity anpassen.

  4. Optimierung und Anpassung der Parameter für verschiedene Märkte und Handelsmarken, um die am besten geeignete Kombination von Parametern zu finden

Zusammenfassen

Die MACD-Trend-Tracking-Strategie ist eine einfache und effektive quantitative Handelsstrategie, die tendenzielle Chancen nutzt, indem sie die Eigenschaften des MACD-Indikators nutzt. Die Logik der Strategie ist klar, leicht zu verstehen und zu implementieren und ist für Anfänger geeignet. In der praktischen Anwendung ist jedoch darauf zu achten, das Risiko zu kontrollieren und in Kombination mit anderen Methoden zu optimieren und zu verbessern, um eine stabilere Handelsleistung zu erzielen.

Strategiequellcode
/*backtest
start: 2023-03-23 00:00:00
end: 2024-03-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD trendfollow", shorttitle="MACD TF", overlay=true)
// switch = input(true, title="Enable MACD Bar Color")
// X001TK MACD trendfollow Strategy
//
// 
// This strategy combines the non standart approach in MACD strategy to buy once to buy when the MACD value goes above Signal line and a zero line, to sell on the opposite condition.
//
//
// This strategy goes long if the MACD (3,9,5) goes above its Signal and above zero
//
// You can set Stop loss on the recent lowest low when long position is opened and recent highest hugh in short
// 
//
// Exit rule is simple. We close the LONG position once MACD goes below Signal line and close SHORT on the opposite condition 
//
// 
// 
//
// Input
fastMAlen = input(3, minval=1, title="MACD fast moving average")
slowMAlen = input(9,minval=1, title="MACD slow moving average")
signalMACDlen = input(5,minval=1, title="MACD signal line moving average")
// switch = input(true, title="Enable MACD Bar Color")
length = input(1, minval=1)



// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2002, title = "From Year", minval = 2000)
ToMonth   = input(defval = 3, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2029, title = "To Year", minval = 2017)



// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 00, 00)        // backtest finish window
window()  => true // create function "within window of time"

// MACD Calculation
MACD = ema(close, fastMAlen) - ema(close, slowMAlen)
signalMACD = ema(MACD, signalMACDlen)
delta = MACD - signalMACD
fastMA = ema(close,fastMAlen)
slowMA = ema(close,slowMAlen)


// Colors
//bartrendcolor = MACD > signalMACD and MACD > 0? green : MACD < signalMACD and MACD < 0? red : MACD < signalMACD? gray :  gray 
//barcolor(switch?bartrendcolor:na)

barcolour=(MACD > signalMACD and MACD > 0)?#53B987:(MACD < signalMACD and MACD < 0)?#EB4D5C:na
barcolor(color=barcolour)


// === STRATEGY ===
// conditions

longCond =  MACD > signalMACD and MACD > 0 
XlongCond = MACD < signalMACD 
ShortCond = MACD < signalMACD and MACD < 0 
XShortCond = MACD > signalMACD 





strategy.entry("long", strategy.long, when=longCond==true and window()==true )
//strategy.exit(id="Close Long", stop=longStop)//, limit=longTake)
strategy.close("long", when=XlongCond==true and window()==true)
strategy.entry("short", strategy.short,  when=ShortCond==true and window()==true )
//strategy.exit(id="Close Short", stop=shortStop)//, limit=shortTake)
strategy.close("short", when=XShortCond==true and window()==true)

// === /STRATEGY ===