
Die schnelle Durchschnittslinie-Kreuzstrategie ist eine einfache Moving-Average-Strategie. Sie verwendet zwei Moving-Averagen, einen schnelleren und einen langsameren, um zu zeigen, dass der Preis steigen kann, wenn der schnelle Moving-Average von unten durch den langsamen Moving-Average geht; und einen niedrigeren, wenn der schnelle Moving-Average von oben durch den langsamen Moving-Average geht, um zu zeigen, dass der Preis fallen kann.
Die Strategie verwendet zwei Moving Averages, einen schnellen und einen langsamen. Insbesondere ist die Länge des schnellen Moving Averages 25 Zyklen und der langsamen Moving Averages 62 Zyklen. Die Strategie erlaubt die Auswahl verschiedener Arten von Moving Averages, darunter SMA, EMA, WMA, RMA und VWMA.
Wenn der schnelle gleitende Durchschnitt von unten den langsamen gleitenden Durchschnitt durchbricht, bedeutet dies, dass der kurzfristige Preis den langfristigen Preis zu durchbrechen beginnt. Dies ist ein typisches Gold-Kreuzsignal, das darauf hinweist, dass der Preis möglicherweise in den Aufwärtskanal eintritt.
So kann man die Kursentwicklung und -richtung anhand der schnellen Durchschnittslinie bestimmen und entsprechend zulegen oder auszugleichen, um so einen Gewinn zu erzielen.
Diese Strategie hat folgende Vorteile:
Insgesamt ist die Strategie mit dem schnellen Durchschnittskreuz als Kernhandelssignal, die Fähigkeit, die zukünftige Entwicklung der Preise zu beurteilen, ist stark, und auf der Grundlage der Vorteile der Trendverfolgung kann ein guter Gewinn erzielt werden, der sich für den Einsatz im Kampf lohnt.
Die Strategie birgt auch einige potenzielle Risiken:
Diese Risiken können kontrolliert und verbessert werden, indem:
Die wichtigsten Optimierungsmöglichkeiten für diese Strategie sind:
Periodische Auswahl von schnellen und langsamen Durchschnittslinien: Die aktuelle Standardparameter sind möglicherweise nicht optimal. Versuchen Sie mit verschiedenen Periodiparametern, um die optimale Konfiguration zu finden
Die Wahl der Art des Moving Averages: Es gibt mehrere Arten von Moving Averages zur Verfügung, um zu testen, welche Art am besten für bestimmte Sorten wirkt.
Kombination mit anderen Indikatoren oder Strategien: Kombination mit Volatilitätsindikatoren, Kennzahlen oder Trend-Tracking-Strategien kann erprobt werden, um die Wirksamkeit zu verbessern
Anpassungsoptimierung der Parameter: Die automatische Anpassung der parallelen Periodenparameter an die Volatilität und Liquidität des Marktes erhöht die Stabilität
AI-Modellunterstützung: Maschinelle Lernalgorithmen, die große Datenmengen analysieren, um automatisch die optimalsten Handelsregeln zu finden
Durch diese Optimierungsmechanismen soll die Ertragsperformance und Stabilität der Strategie weiter verbessert werden.
Die schnelle, langsame und mittlere Linie-Kreuzung ist insgesamt eine sehr praktische Trendverfolgungsstrategie. Sie erfasst die Veränderungsregeln der Preise auf verschiedenen Zeitskalen und beurteilt die möglichen zukünftigen Trends und Richtungen der Preise durch den Durchbruch der schnellen und langsamen Mittlere Linie. Die Strategie ist einfach, einfach zu verstehen und zu implementieren, die Parameter sind flexibel anpassbar, gleichzeitig ist sie zuverlässig, hochgradig automatisiert, breit anwendbar und erweiterbar.
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//Author @divonn1994
initial_balance = 100
strategy(title='Fast v Slow Moving Averages Strategy', shorttitle = 'Fast v Slow', overlay=true, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=initial_balance)
//Input for number of bars for moving average, Switch to choose moving average type, Display Options and Time Frame of trading----------------------------------------------------------------
fastBars = input.int(25, "Fast moving average length", minval=1)
slowBars = input.int(62, "Slow moving average length", minval=1)
strategy = input.string("EMA", "MA type", options = ["EMA", "VWMA", "SMA", "RMA", "WMA"])
redOn = input.string("On", "Red Background Color On/Off", options = ["On", "Off"], group='Display')
greenOn = input.string("On", "Green Background Color On/Off", options = ["On", "Off"], group='Display')
maOn = input.string("On", "Moving Average Plot On/Off", options = ["On", "Off"], group='Display')
startMonth = input.int(title='Start Month 1-12 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=12, group='Beginning of Strategy')
startDate = input.int(title='Start Date 1-31 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=31, group='Beginning of Strategy')
startYear = input.int(title='Start Year 2000-2100 (set any start time to 0 for furthest date)', defval=2011, minval=2000, maxval=2100, group='Beginning of Strategy')
endMonth = input.int(title='End Month 1-12 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=12, group='End of Strategy')
endDate = input.int(title='End Date 1-31 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=31, group='End of Strategy')
endYear = input.int(title='End Year 2000-2100 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=2100, group='End of Strategy')
//Strategy Calculations-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
inDateRange = true
maMomentum = switch strategy
"EMA" => (ta.ema(close, fastBars) >= ta.ema(close, slowBars)) ? 1 : -1
"SMA" => (ta.sma(close, fastBars) >= ta.sma(close, slowBars)) ? 1 : -1
"RMA" => (ta.rma(close, fastBars) >= ta.rma(close, slowBars)) ? 1 : -1
"WMA" => (ta.wma(close, fastBars) >= ta.wma(close, slowBars)) ? 1 : -1
"VWMA" => (ta.vwma(close, fastBars) >= ta.vwma(close, slowBars)) ? 1 : -1
=>
runtime.error("No matching MA type found.")
float(na)
fastMA = switch strategy
"EMA" => ta.ema(close, fastBars)
"SMA" => ta.sma(close, fastBars)
"RMA" => ta.rma(close, fastBars)
"WMA" => ta.wma(close, fastBars)
"VWMA" => ta.vwma(close, fastBars)
=>
runtime.error("No matching MA type found.")
float(na)
slowMA = switch strategy
"EMA" => ta.ema(close, slowBars)
"SMA" => ta.sma(close, slowBars)
"RMA" => ta.rma(close, slowBars)
"WMA" => ta.wma(close, slowBars)
"VWMA" => ta.vwma(close, slowBars)
=>
runtime.error("No matching MA type found.")
float(na)
//Enter or Exit Positions--------------------------------------------------------------------------------------------------------------------------------------------------------------------
if ta.crossover(maMomentum, 0)
if inDateRange
strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(maMomentum, 0)
if inDateRange
strategy.close('long')
//Plot Strategy Behavior---------------------------------------------------------------------------------------------------------------------------------------------------------------------
plot(series = maOn == "On" ? fastMA : na, title = "Fast Moving Average", color = color.new(color.white,0), linewidth=2, offset=1)
plot(series = maOn == "On" ? slowMA : na, title = "Slow Moving Average", color = color.new(color.purple,0), linewidth=3, offset=1)
bgcolor(color = inDateRange and (greenOn == "On") and maMomentum > 0 ? color.new(color.green,75) : inDateRange and (redOn == "On") and maMomentum <= 0 ? color.new(color.red,75) : na, offset=1)