Umfassende Strategie mit mehreren gleitenden Durchschnitten


Erstellungsdatum: 2023-12-22 11:56:42 zuletzt geändert: 2023-12-22 11:56:42
Kopie: 0 Klicks: 733
1
konzentrieren Sie sich auf
1621
Anhänger

Umfassende Strategie mit mehreren gleitenden Durchschnitten

Überblick

Die Multiple Moving Average Comprehensive Strategy ist eine sehr umfassende und universelle Technische Analyse-Strategie. Sie kombiniert Moving Averages aus mehreren Zeiträumen, um einen umfassenden Einblick in Markttrends zu geben. Die Strategie hilft bei der Identifizierung potenzieller Ein- und Ausstiegspunkte, indem sie klare Kauf- und Verkaufssignale erzeugt.

Grundsätze

Im Mittelpunkt der Strategie steht die Berechnung und Verfolgung von Moving Averages für mehrere Zeiträume unterschiedlicher Länge, darunter Moving Averages von 10, 20, 30 und 100 Tagen. Diese Moving Averages werden als Mittelwert des heutigen Schlusskurses gegenüber den Schlusskurses für einen bestimmten Zeitraum in der Vergangenheit (z. B. 10 oder 20 Tage) festgelegt. Ein 20-Tage-Moving Average ist beispielsweise der Mittelwert der Schlusskurs der letzten 20 Tage.

Wenn der heutige Schlusskurs über all diesen Moving Averages liegt, wird ein Kaufsignal erzeugt. Wenn der heutige Schlusskurs unter all diesen Moving Averages liegt, wird ein Verkaufsignal erzeugt. So wird nur dann ein Signal erzeugt, wenn alle Moving Averages aller Perioden in die gleiche Richtung weisen, wodurch viele Geräuschhandelsmöglichkeiten gefiltert werden, was das Signal zuverlässiger macht.

Vorteile

  1. Das Unternehmen hat sich in der Vergangenheit bemüht, die Entwicklung von Produkten und Dienstleistungen zu verbessern, die auf dem Markt verfügbar sind.

  2. Mehrfache Bestätigung, Noise-Filter, Signal zuverlässig

  3. Regeln für den Handel sind klar, leicht zu verstehen und umzusetzen

  4. Hochgradige Anpassbarkeit, bei der der Benutzer die Parameter an seine individuellen Bedürfnisse anpassen kann

  5. Geben Sie klare Anweisungen für Eintritt, Verlust und Verlust, um Risikomanagement zu unterstützen

Risiken und Lösungen

  1. Wenn der Markt in einer Phase der Erschütterung ist, können mehrere Moving Averages einander überschneiden, was zu unklaren Signalen führt. Die Wahrscheinlichkeit des Überschneidens kann durch Anpassung der Anzahl und Länge der Moving Average-Zyklen verringert werden.

  2. Die Wahrscheinlichkeit, dass der Preis in Zukunft mehrere Moving Averages durchbrechen wird, ist geringer und es ist möglich, dass einige Handelschancen verpasst werden. Die Anzahl der Moving Averages kann angemessen reduziert werden, um die Schwierigkeit des Durchbruchs zu verringern.

  3. Die Signalverzögerung führt dazu, dass Trends nicht vor dem Preiswendepunkt erfasst werden können. In Kombination mit anderen Vorlaufindikatoren wie MACD kann die Beurteilung einer Trendwende verbessert werden.

  4. Die Anzahl der Transaktionen kann gering sein und es ist schwierig, einen stabilen Gewinn zu erzielen. Die Länge des Moving Averages kann entsprechend verkürzt werden oder in Kombination mit anderen Strategien / Indikatoren verwendet werden.

Optimierungsrichtung

  1. Parameter-Anpassung: Anpassung der Anzahl und Länge der Moving Average-Zyklen, um die optimale Kombination von Parametern zu finden. Zum Beispiel kann die Kombination von Moving Averages mit 5, 10 und 20 Tagen getestet werden.

  2. In Kombination mit anderen Indikatoren: In Kombination mit anderen Indikatoren wie MACD, RSI und anderen, um die Resilienz der Strategie zu verbessern. Verschiedene Indikatoren können sich ergänzen.

  3. Strategie-Kombination: Kombination mit anderen Strategien wie Breakthrough-System, Trend-Tracking-System zur Steigerung der Stabilität. Verschiedene Strategien können das Risiko verteilen.

  4. Automatische Optimierung: Die Verwendung von Algorithmen, die verschiedene Parameter automatisch testen, um die gewünschte Kombination von Parametern zu finden.

Zusammenfassen

Die Multiple Moving Average Comprehensive Strategy ist ein sehr umfassendes und leistungsfähiges Strategie-Tool. Sie bietet mehrere Zeitskala-Einblicke, die Signale sind zuverlässig, leicht zu verstehen und zu verwenden, und ist sehr anpassungsfähig. Es gibt auch einige Einschränkungen, die jedoch durch Anpassung der Parameter und Kombination mit anderen Modellen optimiert werden können, um sich an komplexere Marktbedingungen anzupassen.

Strategiequellcode
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multiple Moving Average Strategy", overlay=true)

// Function to calculate moving average
get_ma(src, length) =>
    ta.sma(src, length)

// Initialize moving average lengths
ma_length_10 = 10
ma_length_20 = 20
ma_length_30 = 30
ma_length_40 = 40
ma_length_50 = 50
ma_length_60 = 60
ma_length_70 = 70
ma_length_80 = 80
ma_length_90 = 90
ma_length_100 = 100

// Calculate 10-day, 20-day, 30-day, 40-day, 50-day, 60-day, 70-day, 80-day, 90-day, and 100-day moving averages
ma_10 = get_ma(close, ma_length_10)
ma_20 = get_ma(close, ma_length_20)
ma_30 = get_ma(close, ma_length_30)
ma_40 = get_ma(close, ma_length_40)
ma_50 = get_ma(close, ma_length_50)
ma_60 = get_ma(close, ma_length_60)
ma_70 = get_ma(close, ma_length_70)
ma_80 = get_ma(close, ma_length_80)
ma_90 = get_ma(close, ma_length_90)
ma_100 = get_ma(close, ma_length_100)

// Generate Buy/Sell signals for the 10 moving averages
buy_signal = close > ma_10
sell_signal = close < ma_10

// Add conditions for each additional moving average length
buy_signal := buy_signal and (close > get_ma(close, ma_length_20))
sell_signal := sell_signal and (close < get_ma(close, ma_length_20))

buy_signal := buy_signal and (close > get_ma(close, ma_length_30))
sell_signal := sell_signal and (close < get_ma(close, ma_length_30))

buy_signal := buy_signal and (close > get_ma(close, ma_length_40))
sell_signal := sell_signal and (close < get_ma(close, ma_length_40))

buy_signal := buy_signal and (close > get_ma(close, ma_length_50))
sell_signal := sell_signal and (close < get_ma(close, ma_length_50))

buy_signal := buy_signal and (close > get_ma(close, ma_length_60))
sell_signal := sell_signal and (close < get_ma(close, ma_length_60))

buy_signal := buy_signal and (close > get_ma(close, ma_length_70))
sell_signal := sell_signal and (close < get_ma(close, ma_length_70))

buy_signal := buy_signal and (close > get_ma(close, ma_length_80))
sell_signal := sell_signal and (close < get_ma(close, ma_length_80))

buy_signal := buy_signal and (close > get_ma(close, ma_length_90))
sell_signal := sell_signal and (close < get_ma(close, ma_length_90))

buy_signal := buy_signal and (close > get_ma(close, ma_length_100))
sell_signal := sell_signal and (close < get_ma(close, ma_length_100))

// Plot Buy/Sell signals on the chart
plotshape(buy_signal, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(sell_signal, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Execute long buy order when all ten moving averages give a Buy signal
if (buy_signal)
    strategy.entry("Buy", strategy.long)

// Execute sell order when all ten moving averages give a Sell signal
if (sell_signal)
    strategy.close("Buy")

// Execute short sell order when all ten moving averages give a Sell signal
if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Execute buy order when all ten moving averages give a Buy signal
if (buy_signal)
    strategy.close("Sell")

// Plot closing price and moving averages on the chart
plot(close, title="Close", color=color.blue)
plot(ma_10, title="MA 10", color=color.orange)
plot(ma_20, title="MA 20", color=color.purple)
plot(ma_30, title="MA 30", color=color.blue)
plot(ma_40, title="MA 40", color=color.red)
plot(ma_50, title="MA 50", color=color.green)
plot(ma_60, title="MA 60", color=color.yellow)
plot(ma_70, title="MA 70", color=color.fuchsia)
plot(ma_80, title="MA 80", color=color.gray)
plot(ma_90, title="MA 90", color=color.teal)
plot(ma_100, title="MA 100", color=color.maroon)