Galileo Moving Average Crossover-Strategie


Erstellungsdatum: 2023-12-18 12:07:07 zuletzt geändert: 2023-12-18 12:07:07
Kopie: 0 Klicks: 566
1
konzentrieren Sie sich auf
1621
Anhänger

Galileo Moving Average Crossover-Strategie

Überblick

Die Galileo-Evening-Cross-Line-Strategie ist eine Handelsstrategie, die auf Moving Averages basiert. Die Strategie erzeugt Handelssignale, indem sie einen Index-Moving Average für einen bestimmten Zeitraum berechnet und mit dem Preis verglichen wird. Sie erzeugt ein Verkaufssignal, wenn der Preis von oben nach unten über die Mittellinie fällt; sie erzeugt ein Kaufsignal, wenn der Preis von unten über die Mittellinie fällt.

Strategieprinzip

Im Zentrum der Galileo-Gehaltslinie-Kreuzungsstrategie steht der Index-Moving-Average (EMA). Die EMA ist ein Moving-Average-Algorithmus, der dazu neigt, den jüngsten Preisen mehr Gewicht zu geben. Die Berechnungsformel lautet:

EMA heute = (Schlusskurs heute × Ausgleichswert) + (EMA gestern × [1- Ausgleichswert])

Dabei ist die Glattkonstante α=(2/(Zykluszahl+1)).

Die Strategie berechnet EMA-Werte in Echtzeit anhand von Zykluslängen der Eingaben der Benutzer und vergleicht die Preise dann mit den EMAs, um die Kreuzung der beiden als Kauf- und Verkaufssignal zu beurteilen:

  1. Wenn der Preis von oben nach unten unter die EMA fällt, wird ein Verkaufssignal erzeugt, um einen kurzen Schritt zu machen.

  2. Wenn der Preis die EMA von unten durchbricht, wird ein Kaufsignal erzeugt, um mehrere Operationen durchzuführen.

Die Strategie zeichnet gleichzeitig EMA-Linien und Pfeile für Kauf- und Verkaufssignale.

Analyse der Stärken

Die Galileianische Methode hat folgende Vorteile:

  1. Die Idee ist einfach, leicht zu verstehen und umzusetzen und für Anfänger geeignet.
  2. Durch den Einsatz von EMA kann schneller auf Preisänderungen reagiert werden.
  3. Die Kreuzung erzeugt ein klares Signal, ohne dass es zu häufigen Kauf- und Verkaufsgesprächen kommt.
  4. Die EMA-Parameter können an unterschiedliche Marktbedingungen angepasst werden.
  5. Eintritts- und Ausstiegssignale sind eindeutig, Risiken werden kontrolliert.

Risikoanalyse

Die Galileo-Gleichgewicht-Kreuzungs-Strategie birgt auch folgende Risiken:

  1. Wenn die Preise stark schwanken, treten mehr Falschsignale auf, die die Wirkung beeinträchtigen. Sie können eine Stop-Loss-Strategie einrichten, um sie zu optimieren.
  2. Ein einzelner Indikator ist anfällig für Fälschungen und Signalfehler. Zusätzliche Indikatoren können zur Optimierung hinzugefügt werden.
  3. Es besteht ein gewisses Maß an Verzögerung, insbesondere nach einem Unfall. Es kann getestet werden, um die Parameter der mittleren Linie zu verkürzen.
  4. Es ist nicht möglich, sich an die langfristige Einseitigkeit der Preise zu gewöhnen. Das ist ein gemeinsamer Nachteil der Einheitslinie.

Optimierungsrichtung

Die Galileo-Linienübergreifungsstrategie kann in folgenden Richtungen optimiert werden:

  1. In Kombination mit anderen Indikatoren, um eine kombinierte Strategie zu erstellen, um falsche Signale zu vermeiden und die Stabilität zu verbessern. Zum Beispiel die Aufnahme von Transaktionsvolumen, Trendindikatoren usw.

  2. Erhöhen Sie Ihre Stop-Loss-Strategie, setzen Sie einen mobilen Stop-Loss oder einen Prozentsatz des Stop-Losses ein und kontrollieren Sie Ihre Einzelschäden.

  3. Testen Sie die Wirkung der verschiedenen EMA-Parameter und wählen Sie die optimale Kombination aus ihnen. Sie können auch andere Arten von Moving Averages testen.

  4. Es wird eine Rückkehr in den Markt geprüft, um die Gewinnquote zu erhöhen, wenn die Preise sich umdrehen.

Zusammenfassen

Die Galileianische Gleichgewicht-Kreuzung ist eine einfache, praktische Handelsstrategie, die übersichtlich und einfach zu bedienen ist und für Anfänger geeignet ist, die mit der Quantifizierung des Handels arbeiten. Mit ständiger Optimierung und Verbesserung wird die Wirksamkeit davon ausgegangen, dass sie besser und besser wird.

Strategiequellcode
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
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/
// © armigoldman

//@version=3
strategy(title="Galileo Galilei", shorttitle="Galileo Galilei", overlay=true, initial_capital = 100000, default_qty_type=strategy.cash, default_qty_value = 100000)
len = input(11, minval=1, title="Length")
src = input(open, title="Source")
out = ema(src, len)
plot(out, title="EMA", color=yellow)
//last8h = highest(close, 8)
//lastl8 = lowest(close, 8)

//plot(last8h, color=red, linewidth=2)
//plot(lastl8, color=green, linewidth=2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE

// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2020, title="From Year", minval=1970)

// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=12, title="To Month", minval=1, maxval=12)
toYear = input(defval=2021, title="To Year", minval=1970)

// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


bearish = cross(close, out) == 1 and close[1] > close
bullish = cross(close, out) == 1 and close[1] < close

plotshape(bearish, color=white, style=shape.arrowdown, text="BEAR", location=location.abovebar)
plotshape(bullish, color=white, style=shape.arrowup, text="BULL", location=location.belowbar)

buy = if cross(close, out) == 1 and close[1] < close
    strategy.entry("BUY", strategy.long, when=time_cond)
        //strategy.close_all(when=bearish)
        // strategy.exit("exit", "Long", profit =, loss = 35)


sell = if cross(close, out) == 1 and close[1] > close
    strategy.entry("SELL", strategy.short, when=time_cond)
        //sell = if bearish
        //strategy.close_all(when=bullish)
        // strategy.exit("exit", "Long", profit = bullish, loss = 100)

profit = strategy.netprofit
if not time_cond
    strategy.close_all()

//plotshape(true, style=shape.triangleup, location=location.abovebar)