Strategie für den Ausbruch aus mehreren gleitenden Durchschnitten


Erstellungsdatum: 2023-11-22 13:41:38 zuletzt geändert: 2023-11-22 13:41:38
Kopie: 0 Klicks: 607
1
konzentrieren Sie sich auf
1617
Anhänger

Strategie für den Ausbruch aus mehreren gleitenden Durchschnitten

Überblick

Die Strategie nutzt die Durchbrüche und Rückbrüche von mehreren Moving Averages, um Handelssignale zu erzeugen. Wenn der Preis den Aufwärtstrend überschreitet, machen Sie mehr; wenn der Preis den Abwärtstrend überschreitet, machen Sie weniger.

Strategieprinzip

Der Code verwendet vier unterschiedliche Perioden des Moving Averages, die sich auf die 21-Tage-, 50-Tage-, 100-Tage- und 200-Tage-Linien beziehen. Eintritt wird bei einem Durchbruch dieser Mittelwerte erfolgen, wenn der Kurs diese Mittelwerte überschreitet.

Die Kernidee der Strategie ist es, die Bewegung der Durchschnittswerte zu verwenden, um die Preisentwicklung zu beurteilen. Wenn der Preis die Aufwärtsmittellinie überschreitet, bedeutet dies, dass er im Aufwärtstrend ist, und es sollte mehr getan werden. Wenn der Preis die Abwärtsmittellinie unterbricht, bedeutet dies, dass er im Abwärtstrend ist, und es sollte leer sein.

Analyse der Stärken

Die Vorteile dieser Strategie sind:

  1. Die Verwendung von mehreren Mittellinien zur effektiven Filterung von Falschsignalen
  2. Setzen Sie eine Stop-Loss-Strategie, um Einzelschäden zu begrenzen
  3. Einfache Bedienung und einfache Umsetzung

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Die Moving-Average-Strategie kann zu Fehlpositionen führen, wodurch der Preis den Wendepunkt verpasst.
  2. Ein Falschsignal könnte Schäden verursachen
  3. Störungsschutzschalter können vergrößert werden

Diese Risiken können reduziert werden, indem die Parameter der Durchschnittslinie angepasst und die Stop-Loss-Strategie optimiert wird.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Testen von mehrzyklusigen Mittellinienkombinationen auf optimale Parameter
  2. Es ist nicht möglich, dass das System so funktioniert, wie es eigentlich ist.
  3. Optimierung der Stop-Loss-Strategie für eine bessere Rentabilität
  4. Anpassung der Parameter an unterschiedliche Marktbedingungen, um die Strategie robuster zu gestalten

Zusammenfassen

Die Strategie als Ganzes ist eine typische Trend-Tracking-Strategie. Der Vorteil ist, dass die Idee klar ist, leicht zu verstehen und zu implementieren; der Nachteil ist, dass es leicht zu falschen Signalen. Durch die Optimierung der Parameter und die Aufnahme anderer Indikatoren kann die Strategie besser wirken.

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

//@version=5
strategy("DolarBasar by AlperDursun", shorttitle="DOLARBASAR", overlay=true)

// Input for Moving Averages
ma21 = ta.sma(close, 21)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)
ma200 = ta.sma(close, 200)

// Calculate the lowest point of the previous candle for stop loss
lowestLow = ta.lowest(low, 2)

// Calculate the highest point of the previous candle for stop loss
highestHigh = ta.highest(high, 2)

// Calculate take profit levels
takeProfitLong = lowestLow - 3 * (lowestLow - highestHigh)
takeProfitShort = highestHigh + 3 * (lowestLow - highestHigh)

// Entry Conditions
longCondition = ta.crossover(close, ma21) or ta.crossover(close, ma50) or ta.crossover(close, ma100) or ta.crossover(close, ma200)
shortCondition = ta.crossunder(close, ma21) or ta.crossunder(close, ma50) or ta.crossunder(close, ma100) or ta.crossunder(close, ma200)

// Stop Loss Levels
stopLossLong = lowestLow * 0.995
stopLossShort = highestHigh * 1.005

// Exit Conditions
longExitCondition = low < stopLossLong or high > takeProfitLong
shortExitCondition = high > stopLossShort or low < takeProfitShort

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (longExitCondition)
    strategy.exit("Long Exit", from_entry="Long", stop=stopLossLong, limit=takeProfitLong)

if (shortExitCondition)
    strategy.exit("Short Exit", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)