Quantitative Handelsstrategie basierend auf dem gleitenden Durchschnitt-Crossover


Erstellungsdatum: 2024-01-23 11:05:50 zuletzt geändert: 2024-01-23 11:05:50
Kopie: 0 Klicks: 505
1
konzentrieren Sie sich auf
1617
Anhänger

Quantitative Handelsstrategie basierend auf dem gleitenden Durchschnitt-Crossover

Überblick

Die Strategie basiert auf dem Goldfork-Dead-Fork-Prinzip des einfachen Moving Averages (SMA). Die Strategie verwendet die Goldforke der 3-Tage- und 5-Tage-Linie als Einstiegssignal und die Stop-Loss- oder Stopp-Line als Ausstiegssignal.

Strategieprinzip

Die Strategie basiert hauptsächlich auf zwei SMAs, der 3er- und der 5er-Linie. Die 3er-Linie repräsentiert die kurzfristige Tendenz, die 5er-Linie den längerfristigen mittleren Trend. Wenn der kurzfristige schnelle Anstieg, der die 3er-Linie durchschreitet, die 5er-Linie repräsentiert, ist der Moment der Aufwärtsbewegung, und dann wird eingegeben. Umgekehrt, wenn der kurzfristige schnelle Rückgang, der die 3er-Linie unter die 5er-Linie durchschreitet, der Moment der Abwärtsbewegung, dann wird eingegeben.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die Strategie ist klar und einfach zu verstehen und umzusetzen.
  2. Durchschnittliche Linie-Kreuzung-Strategie ist viel genauer in der Beurteilung der großen Trends des Marktes und hat eine hohe Eintrittswahrscheinlichkeit.
  3. Wenn Sie die Durchschnittslinie für zwei verschiedene Perioden auswählen, können Sie die Veränderungen des Marktes besser erfassen.
  4. Ein Stop-Loss-Mechanismus wurde implementiert, um die Verluste effektiv zu kontrollieren.

Risikoanalyse

Die Strategie birgt auch Risiken:

  1. Da die Kurzschlüsse eine kurze Periode haben, sind sie von kurzfristigen Marktschwankungen beeinflusst und können die Wahrscheinlichkeit eines Stop-Losses erhöhen.
  2. Die Strategie ist eher mechanisch und kann nicht an spezielle Marktbedingungen angepasst werden.
  3. Wenn man die Trends der großen Zyklen nicht berücksichtigt, kann die Strategie bei einem langfristigen Abwärtstrend große Verluste erleiden.

Um das Risiko zu verringern, kann man die Auswahl des Einstiegsgennwerts optimieren oder die Unterstützung der langfristigen Durchschnittslinie erwägen. Gleichzeitig kann man die Stop-Loss-Punkte anpassen, um sie besser an die realen Marktbedingungen anzupassen.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Die Erhöhung der Durchschnittswerte für mehrere Perioden, die Bildung mehrstufiger Filterung und die Steigerung der Stabilität der Strategie.
  2. Die Zulassung wird durch weitere technische Indikatoren wie MACD, Stärke und Schwäche unterstützt.
  3. Es ist wichtig, dass man sich mit dem großen Zyklus auseinandersetzt, um nicht in einem langen Abwärtstrend zu bleiben.
  4. Optimierung der Stop-Loss-Punkte, um sie besser an die tatsächlichen Marktschwankungen anzupassen.
  5. Tests mit längeren Rücklaufzeiten, um die Parameterstabilität zu bewerten.

Zusammenfassen

Die Strategie basiert auf dem Prinzip der Gleichlauf-Kreuzung, verwendet die Strategie-Logik des Goldforken-Eintritts, des Stop-Loss-Ausgangs, ist einfach und einfach zu implementieren, und die Rückmessleistung ist relativ stabil. Durch die Einbeziehung von mehr unterstützenden technischen Indikatoren, Optimierungsparametern und der Erweiterung des Rückmessungsbereichs können Maßnahmen zur weiteren Steigerung der Stabilität und des Ertrags der Strategie ergriffen werden.

Strategiequellcode
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 5h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Revolut v1.0", overlay=true)

// === GENERAL INPUTS ===
ATR = atr(3)
ema3 = ema(close, 3)
ema5 = ema(close, 5)

// === 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 = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

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


// === PLOTTING ===
plot(ema3, title="Ema 3", color = white, linewidth = 2, transp=0)
plot(ema5, title="Ema 5", color = aqua, linewidth = 2, transp=0)



// === ENTRY POSITION LOGIC ===
entryCondition = crossover(ema(close, 3), ema(close, 5))
if (entryCondition)
    strategy.entry("ENTRY", strategy.long, when=window())
    

// === EXIT POSTION LOGIC ===
//strategy.exit("Take Profit", "ENTRY", profit=6, loss=5, when=window())
strategy.exit("Take Profi Or STOP", "ENTRY", profit = 6, loss = 5, when=window())
  

// #####################################
// We can start to incorperate this into the script later
// We can program a emergency exit price
//strategy.close_all()

// You can use this if you want another exit
//strategy.exit("2nd Exit", "ENTRY", profit=1500, stop=500, when=window())