Diese Strategie ist mit den Crossover-Prinzipien der EMA-Linien konzipiert, um angemessene kurzfristige Trades zu tätigen und angemessene Gewinne zu erzielen, wenn die Preise in gewissem Maße zurückgehen.
Die Strategie verwendet 5 EMA-Linien mit verschiedenen Parametern, insbesondere die 10-Tage-, 20-Tage-, 50-Tage-, 75-Tage- und 200-Tage-Linien.
Wenn der Preis über die 75-Tage-Linie überschreitet und unter die 50-Tage-Linie fällt, gilt dies als ein Signal für einen angemessenen kurzfristigen Pullback, um eine Short-Position einzunehmen.
Wenn die 10-Tage-Linie unterhalb der 20-Tage-Linie überschreitet, halten Sie die Short-Position fort.
Durch dieses Logikdesign können große kurzfristige Kursschwankungen erfasst werden, um bei Pullbacks von Preisspreads zu profitieren.
Der größte Vorteil dieser Strategie liegt in ihren einfachen und klaren Signalen, die leicht umzusetzen sind.
Darüber hinaus hilft die kombinierte Verwendung mehrerer EMA-Linien, Marktlärm effektiv zu filtern und den Zeitpunkt von mittelfristigen bis kurzfristigen Trendumkehrungen genau zu erkennen, um vernünftige Handelsentscheidungen zu treffen.
Das größte Risiko dieser Strategie ist die kurzfristige Gewaltschwankung der Preise. Unkontrollierte starke Preisschwankungen oder -rückgänge können dazu führen, dass Stop-Loss- oder Take-Profit-Linien gebrochen werden, was zu enormen Verlusten führt. Außerdem können unsachgemäße Parameter zu überhäufigen Handelssignalen führen, die die Rentabilität der Strategie beeinträchtigen.
Um Risiken zu kontrollieren, sollten die Parameter der gleitenden Durchschnitte angemessen angepasst werden, um die Signalfrequenz auf einem angemessenen Niveau zu halten. Es sollten auch angemessene Stop-Loss- und Take-Profit-Bereiche festgelegt werden, um übergroße Verluste pro Handel zu vermeiden. Es ist auch eine manuelle Intervention erforderlich, wenn spezielle Marktbedingungen bestehen und der Strategiehandel ausgesetzt wird.
Der Hauptoptimierungsbereich liegt in der Parameter-Tuning. Mehr Kombinationen können getestet werden, um das optimale Parameterportfolio zu finden. Zum Beispiel können mehr gleitende Durchschnitte wie 60-Tage- und 120-Tage-Linien eingeführt werden, um eine reichere Signalquelle zu bilden.
Optimierung kann auch um Aspekte wie Stop-Loss und Take-Profit herum durchgeführt werden. Eine ordnungsgemäße Lockerung des Stop-Loss-Bereichs kann die Wahrscheinlichkeit falscher Stops verringern. Eine Verengung des Take-Profit-Bereichs könnte die Rentabilität erhöhen. Diese Parameteranpassungen müssen auf den Rücktestresultaten für Optima basieren.
Diese Strategie ist insgesamt ziemlich einfach. Mit grundlegenden EMA-Crossover-Signalen konzipiert, verwandelt sie sich in eine machbare kurzfristige Handelstaktik. Ihr Vorteil liegt in klaren Signalen, die leicht auszuführen sind, die Handelschancen aus mittelfristigen bis kurzfristigen Trendumkehrungen effektiv nutzen können. Weitere Verbesserungen können durch Parameter-Tuning und Optimierung von Stop-Loss- und Take-Profit-Einstellungen erzielt werden.
/*backtest start: 2023-02-13 00:00:00 end: 2024-02-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © theswissguy //@version=5 strategy("Jan 2024 Daily (Short)", initial_capital = 10000, overlay=true, commission_value = 1) // use closing prices as data source throughout calcs. ema_source = close price = close // set up the EMA curves. ema10 = ta.ema(ema_source, 10) ema20 = ta.ema(ema_source, 20) ema50 = ta.ema(ema_source, 50) ema75 = ta.ema(ema_source, 75) ema200 = ta.ema(ta.ema(ema_source, 200), 35) plot(ema10, color=color.red, title="EMA10") plot(ema20, color=color.orange, title="EMA20") plot(ema50, color=color.green, title="EMA50") plot(ema75, color=color.yellow, title="EMA75") plot(ema200, color=color.blue, title="EMA200", linewidth = 4) // if EMA50 <= price <= EMA75 AND EMA10 < EMA20 - sell dailySellIndicator = ta.crossover(price, ema75) and ta.crossunder(price, ema50) and ta.crossunder(ema10, ema20) dailyBuyIndicator = ta.crossover(ema10, ema20) if(dailySellIndicator) strategy.entry("daily", strategy.short) else if(dailyBuyIndicator) strategy.entry("daily", strategy.long)