
Die Strategie erzeugt ein Handelssignal durch die Berechnung einer Kreuzung des 5-Tage-Index-Moving Averages (EMA) und des 20-Tage-Simple Moving Averages (SMA). Bei einem Durchbruch des 20-Tage-SMA über die 5-Tage-EMA wird ein Push in die Multi-Order genommen; bei einer Preisänderung von 5% oder -5% wird die Position belegt. Die Strategie kombiniert gleichzeitig den Handelsvolumenindex (TII) als Hilfsindikator.
Der Doppelindex-Moving-Average ist ein weit verbreiteter technischer Indikator. Die 5-Tage-EMA steht für die Tendenz zu kurzfristigen Preisveränderungen, die 20-Tage-SMA für die mittelfristige Preisbewegung. Wenn der kurzfristige Durchschnitt über den Longer-Average geht, bedeutet dies, dass der Preis von einem Abwärtstrend abweicht, und man kann mehr einsteigen.
Die Strategie setzt die 5-Tage-EMA und die 20-Tage-SMA als Handelssignale ein. Generate ein Long-Position-Signal, wenn der 5-Tage-EMA den 20-Tage-SMA überschreitet. Eine Kursänderung um 5% oder -5% wird als Gewinn oder Verlust angesehen.
Die detaillierten Strategie-Schritte sind:
Die Strategie nutzt das Gold-Cross-Trading-Signal des Moving Averages und hat folgende Vorteile:
Insgesamt sind die Regeln der Strategie klar, leicht zu verstehen und zu implementieren, nutzt er erfahrene technische Kennzahlen wie die Kreuzung von Moving Averages, die Risikokontrollen sind umfassender und ist eine quantitative Handelsstrategie, die für Anfänger geeignet ist.
Die Strategie birgt auch Risiken, die sich auf folgende Bereiche beziehen:
Diese Risiken können durch folgende Maßnahmen verringert werden:
Es gibt also noch Raum für weitere Optimierungen.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der Moving Average-Parameter. Es ist möglich, eine Kombination aus EMA und SMA-Parametern zu testen, die kürzer oder länger sind, um bessere Parameterpaare zu finden.
Hinzufügen von Filter für andere Indikatoren. Hilfsurteile für Indikatoren wie MACD, KDJ und andere können teilweise Fehlsignale vermeiden.
Anwendung von Algorithmen für maschinelles Lernen. Modellierung historischer Daten mit statistischen Methoden oder neuronalen Netzwerken, um automatisch nach besseren Parametern zu suchen.
Setzen Sie eine dynamische Stop-Loss-Schranke. Anpassen Sie die Stop-Loss-Werte an die Marktfluktuation und die Eigenschaften der einzelnen Aktien, um das Risiko besser zu kontrollieren.
Die gleiche Strategie gilt auch für andere Währungen wie Devisen, digitale Währungen usw.
Durch Verbesserungen in den oben genannten Bereichen können die Stabilität und die Profitabilität der Strategie erheblich verbessert werden.
Diese Strategie ist insgesamt eine einfache und umsetzbare Dual Moving Average Crossover-Strategie. Sie nutzt die Vorteile des Moving Average-Signals und versucht mit dem TII-Indikator, falsche Signale zu filtern. Das Risiko wird durch die Einstellung eines Stop-Loss-Stopps kontrolliert.
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA-SMA Crossover Strategy", shorttitle="EMA-SMA Cross", overlay=true)
// Define the moving averages
ema5 = ta.ema(close, 5)
sma20 = ta.sma(close, 20)
smaVolume10 = ta.sma(volume, 50)
majorLength = input(60, title="Major Length")
minorLength = input(30, title="Minor Length")
src = input(close, title="Source")
smaValue = ta.sma(src, majorLength)
positiveSum = 0.0
negativeSum = 0.0
for i = 0 to minorLength - 1
price = na(src[i]) ? 0 : src[i]
avg = na(smaValue[i]) ? 0 : smaValue[i]
positiveSum := positiveSum + (price > avg ? price - avg : 0)
negativeSum := negativeSum + (price > avg ? 0 : avg - price)
tii = 100 * positiveSum / (positiveSum + negativeSum)
// Buy condition: 5 EMA crosses above 20 SMA
buyCondition = ta.crossover(ema5, sma20) and tii > 0 and tii >= tii[1]
//and volume > smaVolume10 //
// Track entry price
var entryPrice = 0.0
if (buyCondition)
entryPrice := close
// Calculate percentage change from entry price
priceChange = close / entryPrice - 1
// Plotting the moving averages on the chart
plot(ema5, color=color.blue, title="5 EMA")
plot(sma20, color=color.red, title="20 SMA")
// Highlighting buy signals and exit signals on the chart
// plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, size=size.small, style=shape.labelup, text="Buy")
// Strategy entry and exit
if (buyCondition)
strategy.entry("Buy", strategy.long)
// Exit conditions
if (strategy.opentrades > 0)
if (priceChange >= 0.05 or priceChange <= -0.05)
strategy.close("Buy")