
Die Strategie verwendet zwei unterschiedliche Perioden von Moving Averages als Kauf- und Verkaufssignal. Sie kauft, wenn der kurzfristige Durchschnitt über dem langfristigen Durchschnitt liegt, und verkauft, wenn der kurzfristige Durchschnitt unter dem langfristigen Durchschnitt liegt. Der Code der Strategie unterstützt mehrere gängige Moving Average-Typen, wie den einfachen Moving Average (SMA), den Index Moving Average (EMA), den binären Moving Average (DEMA), den dreidimensionalem Moving Average (TEMA), den Gewichteten Moving Average (WMA) und den Volumengewichteten Moving Average (VMA), und bietet die Möglichkeit, die Kurz- und den langfristigen Durchschnitt flexibel zu bestimmen.
Der Kern der Strategie besteht darin, die Trend-Eigenschaften und die Verzögerung von zwei verschiedenen periodischen Moving Averages zu nutzen, um die Preisentwicklung zu erfassen. Im Allgemeinen ist die kurzfristige Durchschnittslinie empfindlicher auf Preisänderungen, während die langfristige Durchschnittslinie relativ nachlässig ist. Wenn die Preise im Aufwärtstrend sind, bewegt sich die kurzfristige Durchschnittslinie vor der langfristigen Durchschnittslinie nach oben und durchbricht schließlich die langfristige Durchschnittslinie, wodurch ein “Goldfork” -Kaufsignal entsteht.
Einfach zu bedienen: Die Dual Moving Average Crossover Strategie ist eine einfache, leicht zu verstehende und umsetzbare Quantifizierungsstrategie, die für Anfänger geeignet ist, sie zu lernen und zu verwenden.
Breite Anwendbarkeit: Die Strategie kann auf verschiedene Finanzmärkte und Handelsmarken wie Aktien, Futures, Devisen, Kryptowährungen usw. angewendet werden.
Die Strategie-Code unterstützt verschiedene gängige Moving Average-Typen und Preis-Typen. Der Benutzer kann die Parameter flexibel an seine Bedürfnisse anpassen, um sich an unterschiedliche Marktumgebungen und Handelsstile anzupassen.
Trend-Tracking: Durch die Kreuzung von Signalen aus zwei verschiedenen periodischen Durchschnittslinien kann die Strategie die wichtigsten Preistrends besser erfassen und hilft, den Trend zu verfolgen und Gegenhandel zu vermeiden.
Verzögerung: Der Moving Average ist im Wesentlichen ein Trend-Tracking-Indikator, der eine gewisse Verzögerung aufweist, die möglicherweise die besten Einstiegs- und Ausstiegsmomente verpasst.
In einem wackligen Markt oder in einer horizontalen Korrektur, bei der die Preise stark schwanken und die Signalfrequenz der Durchschnittslinie häufig ist, kann die Strategie zu häufigen Transaktionen führen, was zu hohen Transaktionskosten und Kapitalverlusten führt.
Parameter-Optimierung: Die Auswahl der mittleren Periode hat einen großen Einfluss auf die Effektivität der Strategie, aber die optimalen Parameter variieren häufig aufgrund der unterschiedlichen Marktsituationen. Es ist schwierig, eine optimale Kombination von Parametern zu finden, die alle überall trifft.
Einführung von Trendfiltern: Auf der Grundlage von Gleichlauf-Kreuzsignalen können Trendfilter in Kombination mit anderen Trendindikatoren wie MACD, ADX usw. durchgeführt werden. Der Handel erfolgt nur, wenn ein Trend eindeutig ist, und es wird vermieden, häufig in einem wackligen Markt zu handeln.
Optimierung des Stop-Losses: Die Einführung einer angemessenen Stop-Loss-Logik in der Strategie, wie z. B. Moving Stop, Volatilitätsstop, um das Risiko eines einzelnen Handels zu kontrollieren und die Risikogewinnquote der Strategie zu erhöhen.
Dynamische Optimierung von Parametern: Dynamische Optimierungen von Parametern wie z. B. der Durchschnittszyklus können regelmäßig für verschiedene Marktumstände durchgeführt werden, um die Strategie an Marktveränderungen anzupassen und die Stabilität zu verbessern.
Mehrfaktorenkombination: Die Kombination von zwei beweglichen Durchschnittskreuzungen mit anderen effektiven Quantifizierungsfaktoren (z. B. Momentum, Wert, Übergangsmenge usw.) führt zu einer stabileren und effektiveren Mehrfaktorenstrategie.
Die Dual Moving Average Crossover Strategie ist eine einfache, klassische Trend-Tracking-Strategie, die die Preisentwicklung durch die Kreuzung von Signalen aus zwei verschiedenen Periodenachsen erfasst und für trendige Märkte geeignet ist. Die Strategie ist jedoch auch mit Problemen verbunden, wie Rückstand und Parameter-Optimierung.
/*backtest
start: 2023-05-08 00:00:00
end: 2024-05-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SustainableInvestment
//@version=5
strategy("Moving average strategy (이동평균선 전략)", overlay=true)
// === INPUTS ===
basisType = input.string(defval = "EMA", title = "MA Type: SMA, EMA, DEMA, TEMA, WMA, VWMA ",options=["SMA", "EMA", "DEMA", "TEMA", "WMA", "VWMA"])
shortLen = input.int(defval = 1, title = "Short MA Period", minval = 1)
longLen = input.int(defval = 20, title = "Long MA Period", minval = 1)
price = input.string(defval = "Typical", title = "Price Type : Close, High, Open, Low, Typical, Center ",options=["Close", "High", "Open", "Low", "Typical", "Center"])
// === BASE FUNCTIONS ===
// 가격 종류 설정
priceType(price) =>
Typical = (high+low+close)/3
Center = (high+low) / 2
price=="High"?high : price=="Low"?low : price=="Open"?open : price=="Typical"?Typical : price=="Center"?Center : close
// 이동평균선 종류 설정
variant(type, src, len) =>
v1 = ta.sma(src, len) // Simple
v2 = ta.ema(src, len) // Exponential
v3 = 2 * v2 - ta.ema(v2, len) // Double Exponential
v4 = 3 * (v2 - ta.ema(v2, len)) + ta.ema(ta.ema(v2, len), len) // Triple Exponential
v5 = ta.wma(src, len) // Weighted
v6 = ta.vwma(src, len) // Volume Weighted
type=="EMA"?v2 : type=="DEMA"?v3 : type=="TEMA"?v4 : type=="WMA"?v5 : type=="VWMA"?v6 : v1
longCondition = ta.crossover(variant(basisType, priceType(price), shortLen), variant(basisType, priceType(price), longLen))
if (longCondition)
strategy.entry("Long Entry", strategy.long)
exitCondition = ta.crossunder(variant(basisType, priceType(price), shortLen), variant(basisType, priceType(price), longLen))
if (exitCondition)
strategy.close("Long Entry","Long Exit")