Diese Strategie verwendet EMA zur Bestimmung der Trendrichtung und adaptive Fibonacci-Retracement, um automatisch Umkehrpunkte zu identifizieren, mit dem Ziel, hohe und niedrige zu verkaufen, indem Trends eingefangen werden.
Verwenden Sie die 9-Tage-EMA und die 21-Tage-EMA, um die Trendrichtung zu bestimmen.
Implementieren Sie adaptive Fibonacci-Retracement mit 100 Perioden, um automatisch die wichtigsten Retracement-Level auf der Grundlage der jüngsten Kursschwankungen zu bestimmen.
Der Preisbruch von 0,236 Fibonacci-Retracement zeigt eine Umkehrung an und schließt die bestehende Position.
Wenn der 9-Tage-EMA unter den 21-Tage-EMA fällt und der Preis niedriger als das adaptive Fibonacci-Hoch ist, gehen Sie kurz.
Das Ziel für einen langen Gewinn ist ein Crossover über der 200-Tage-EMA.
EMA gibt klare Trendsignale, die leicht umzusetzen sind
Adaptive Fibonacci vermeidet die manuelle Einstellung von Parametern
Häufiger Handel erfasst kurzfristige Bewegungen bei Hochfrequenzstrategien
Schlüssel-Retracement-Niveaus für einen zeitnahen Stop-Loss
Konfigurierbare Parameter für die Optimierung über Zyklen hinweg
EMA-Verzögerungen müssen von anderen Indikatoren bestätigt werden
Adaptive Fibonacci-Risiken bei übermäßiger Anpassung an instabile Werte
Hochfrequenzhandel erhöht die Kosten für Provisionen und Slippage
Eine unwirksame Filterung von Trendbereichen führt zu falschen Signalen
Notwendigkeit einer Verbesserung des Abzugsmanagements und der Risikovergütungskontrolle
Hinzufügen von Volumenindikatoren zur Vermeidung falscher Signale aus der Preis-Volumen-Divergenz
Optimierung der EMA-Perioden, um sie besser an die aktuellen Marktbedingungen anzupassen
Implementieren dynamischer Stop-Loss für eine bessere Risikokontrolle
Einbeziehung von Trendstärkeindex, um Whipsaws zu vermeiden
Berücksichtigen Sie die Auswirkungen der Handelskosten und legen Sie ein Mindestgewinnziel fest
Diese Strategie identifiziert die Trendrichtung mit der EMA und bestimmt die Umkehrniveaus dynamisch mithilfe eines adaptiven Fibonacci-Retracements, das sich automatisch an unterschiedliche Marktbedingungen anpasst. Sie stützt sich jedoch stärker auf Indikatorsignale ohne Trendsegmentierung und Elliott Wave-Logik und lässt Raum für Optimierung. Insgesamt kann sie als hochfrequente kurzfristige Handelsstrategie schnelle Preisänderungen erfassen, beinhaltet aber Risiken von häufigen Stop-Loss und Overtrading, mit denen Händler umgehen müssen.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © CheatCode1 //@version=5 strategy("CC-Trend strategy 2", overlay=true, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity, default_qty_value = 100 ) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) ema55 = ta.ema(close, 55) ema200 = ta.ema(close, 200) plot(ema200, '22', color.blue, 2) FibL = input.int(100, 'Fibonacci Length', 1, 500, group = 'Automatic Fibonacci Retracement') len1 = input.int(1, 'Show Last', 0, 1000, group = 'Automatic Fibonacci Retracement') len2 = input.int(5, 'Offset Length', 0, 1000, group = 'Automatic Fibonacci Retracement') highF = ta.highest(ema55 >= ema9 ? ema55:ema9, FibL) lowF = ta.lowest(ema55 >= ema9 ? ema9:ema55, FibL) AvgFib = highF - lowF //Fibonacci Executions LL2 = highF + .618 * AvgFib LL1 = highF + .272 * AvgFib L1 = highF L236 = highF - 0.236 * AvgFib L382 = highF - 0.382 * AvgFib Mid = highF - 0.50 * AvgFib S382 = lowF + 0.382 * AvgFib S236 = lowF + 0.236 * AvgFib S1 = lowF SS1 = lowF - .272 * AvgFib SS2 = lowF - .618 * AvgFib //Fibonacci Plot's high2FP = plot(LL2, 'Highe2', color.red,offset = len2, show_last = len1, trackprice = true) high1FP = plot(LL1, 'Highe1', color.red,offset = len2, show_last = len1, trackprice = true) highFP = plot(highF, 'High', color.red,offset = len2, show_last = len1, trackprice = true) L236P = plot(L236, "0.764", #ED381C, offset = len2, show_last = len1, trackprice = true ) L382P = plot(L382, "0.618", color.white,offset = len2, show_last = len1, trackprice = true ) MidP = plot(Mid, "0.5", color.orange,offset = len2, show_last = len1, trackprice = true ) S382P = plot(S382, "0.382", color.yellow ,offset = len2, show_last = len1, trackprice = true) S236P = plot(S236, "0.236", color.lime ,offset = len2, show_last = len1, trackprice = true) lowFP = plot(lowF, 'Low', color.green,offset = len2, show_last = len1, trackprice = true) low1FP = plot(SS1, 'Lowe1', color.green,offset = len2, show_last = len1, trackprice = true) low2FP = plot(SS2, 'Lowe2', color.green,offset = len2, show_last = len1, trackprice = true) plot(ema9, '22', color.yellow, 2) plot(ema55, '55', color.aqua, 2) plot(ema200, '200', color.maroon, 2) shortCondition = close[1] < highF and ema21 < ema55 if (shortCondition) strategy.entry("Short", strategy.short) shorttp = ta.crossover(close, ema200) and strategy.openprofit >= 0 if (shorttp) strategy.close('Short', 'Short TP', qty_percent = 100) shortclose2 = close[1] > L236 and not (shortCondition) if(shortclose2) strategy.close('Short', 'Short RM', qty_percent = 100)