
Die Pine-Skript-Strategie implementiert auf der TradingView-Plattform eine tägliche Durchschnittskosten-Strategie, die in Kombination mit EMA-Anzeigen-Touchsignalen den Einstiegspunkt bestimmt. Die Strategie folgt dem Gesetz des Durchschnittskosten-Investments und kauft täglich einen festen Betrag, um das Risiko zu verteilen. Gleichzeitig wird durch EMA-Touchsignale ein spezifischer Einstiegszeitpunkt angewiesen.
Die Strategie hat folgende Merkmale:
Das Gesetz der durchschnittlichen täglichen Kosten
Die EMA-Indikatoren definieren den Einstiegspunkt
Dynamische Schadensbegrenzung
Maximale Positionsbeschränkung
Die Strategie investiert täglich einen festen Betrag und berechnet die Anzahl der Aktien, die zu kaufen sind, anhand des Schlusskurses des Tages. Auf dieser Grundlage wird ein Kaufsignal ausgelöst, wenn der Schlusskurs des Tages einen beliebigen EMA wie den 5., 10. und 20. Tag überschreitet. Sobald die kumulierte Position die maximale Grenze von 300 Pfennig erreicht, gibt es keine neuen Kaufoperationen.
Die Strategie hat folgende Vorteile:
Verteilung der Investitionen, Verringerung der Risiken bei einzelnen Investitionen
EMA-Kombination und Vermeidung von kurzfristigen Korrekturen
Dynamische Stop-Losses und Verlustkontrolle
Maximale Positionsbeschränkung, Risikokontrolle
Die intuitive EMA zeigt, dass es leicht zu beurteilen ist.
Höhenanpassung
Die Strategie birgt auch einige Risiken, die beachtet werden müssen:
Systemische Risiken sind nicht zu vermeiden
Die Risiken eines festen Kapitals
Die EMA kann nicht auf extreme Ereignisse reagieren
Positionsbeschränkungen beschränken auch die Gewinnmöglichkeiten
Die Einstellung des Stopps erfordert Erfahrung und Geschicklichkeit.
Die Strategie bietet auch Raum für weitere Optimierungen:
Erhöhung der dynamischen Anpassung der täglichen Einlagen
Ein weiterer Indikator für die Zulassung
Indikatoren mit beweglichen Durchschnitten
Dynamische Anpassung der Maximalposition
Die Verwendung von Schritt-zu-Schritt-Verlust
Insgesamt ermöglicht die EMA-Kostenstrategie in Kombination mit EMA-Touchsignalen eine langfristige Investitionsstrategie. Im Gegensatz zu einem einmaligen Startschuss können Risiken verteilt und Hochzeitsfeiern vermieden werden. Die EMA-Beitritt vermeidet auch zum Teil die Risiken einer kurzfristigen Anpassung und verhindert die Einnahme von Stop-Loss-Maßnahmen, um die größten Verluste zu kontrollieren.
/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000)
// Customizable Parameters
daily_investment = input(50000, title="Daily Investment")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month")
start_day = input(1, title="Start Day")
end_year = input(2023, title="End Year")
end_month = input(12, title="End Month")
end_day = input(1, title="End Day")
trade_count_limit = input(10000, title="Pyramiding Limit")
enable_sell = input(true, title="Enable Sell")
start_date = timestamp(start_year, start_month, start_day)
var int trade_count = 0
// Calculate the number of shares to buy based on the current closing price
shares_to_buy = daily_investment / close
// Check if a new day has started and after the start date
isNewDay = dayofmonth != dayofmonth[1] and time >= start_date
// Buy conditions based on EMA crossovers
ema5_cross_above = crossover(close, ema(close, 5))
ema10_cross_above = crossover(close, ema(close, 10))
ema20_cross_above = crossover(close, ema(close, 20))
ema50_cross_above = crossover(close, ema(close, 50))
ema100_cross_above = crossover(close, ema(close, 100))
ema200_cross_above = crossover(close, ema(close, 200))
if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit
strategy.entry("Buy", strategy.long, qty=shares_to_buy)
trade_count := trade_count + 1
// Dynamic sell conditions (optional)
sell_condition = true
if enable_sell and sell_condition
strategy.close_all()
// EMA Ribbon for visualization
plot(ema(close, 5), color=color.red, title="EMA 5")
plot(ema(close, 10), color=color.orange, title="EMA 10")
plot(ema(close, 20), color=color.yellow, title="EMA 20")
plot(ema(close, 50), color=color.green, title="EMA 50")
plot(ema(close, 100), color=color.blue, title="EMA 100")
plot(ema(close, 200), color=color.purple, title="EMA 200")