Diese Strategie identifiziert starke Trends und günstiges Timing für den kurzfristigen Handel mit Verlustkontrolle. Sie verfolgt Preisbreaks von einfachen gleitenden Durchschnitten als Trendsignale und setzt Stop-Loss/Take-Profit auf der Grundlage von RSI-Divergenzen, um kurzfristige Preisbewegungen zu erfassen.
Berechnung der einfachen gleitenden Durchschnittswerte für mehrere Perioden
Festlegung von 9-Tage-, 50-Tage- und 100-Tage-SMA
Kurze SMA, die die lange SMA überschreitet, zeigt die Trendrichtung an
Beurteilung der überkauften/überverkauften Niveaus anhand des RSI
RSI-Länge beträgt 14 Perioden
RSI über 70 ist überkauft, unter 30 ist überverkauft
Eintritt in Geschäfte, wenn der Preis den 9-Tage-SMA durchbricht
Gehen Sie lang, wenn der Preis über die 9-Tage-SMA bricht
Wenn der Kurs unter die 9-Tage-SMA fällt, gehen Sie kurz
Festlegung von Stop Loss/Take Profit auf der Grundlage von RSI-Divergenzen
RSI-Divergenz für Stop-Loss
Gewinn machen, wenn der RSI vorgegebene Werte erreicht
Erfasst kurzfristige Trends, geeignet für den Hochfrequenzhandel
SMA-Combos filtern Trendsignale und vermeiden schlechte Trades
RSI hilft, Zeit zu bestimmen, Risiken wirksam zu kontrollieren
Flexible Stop-Loss-/Take-Profit-Verbindungen kurzfristige Gewinne
Kombination von Indikatoren verbessert die Stabilität
Eine ungenaue Bewertung des kurzfristigen Trends führt zur Verfolgung
Falsche RSI-Signale vergrößern Verluste
Unzulässige Stop-Loss-/Take-Profit-Einstellungen verringern den Gewinn oder vergrößern den Verlust
Eine hohe Handelsfrequenz erhöht die Kosten und die Verschiebungen
Ineffiziente Parameter und abnormale Marktauswirkung
Optimierung der Parameter, strenge Stop-Loss, Kostenmanagement
Verschiedene SMA-Kombinationen testen, um das Trendbeurteilen zu verbessern
Überlegen Sie zusätzliche Indikatoren wie STOCH, um RSI-Signale zu überprüfen
Einsatz von maschinellem Lernen zur Bestimmung gültiger Ausbrüche
Anpassung der Parameter für verschiedene Produkte und Sitzungen
Optimierung der Stop-Loss-/Take-Profit-Logik für dynamisches Trailing
Erforschen Sie automatische Parameter-Tuning-Mechanismen
Diese Strategie kombiniert SMA und RSI für einen konservativen kurzfristigen Handelsansatz. Feinabstimmung von Parametern, Validierung von Signalen, Kontrolle von Risiken macht sie robuster und anpassungsfähiger. Es gibt Raum für Verbesserungen, indem mehr SMA-Combos erforscht werden, maschinelle Lernmodelle hinzugefügt werden usw. Kontinuierliche Optimierung wird zu einer weiteren Reife führen.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 3h 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/ // © Coinrule //@version=4 strategy(shorttitle='Maximized Scalping On Trend',title='Maximized Scalping On Trend (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations movingaverage_fast = sma(close, input(9)) movingaverage_mid= sma(close, input(50)) movingaverage_slow = sma(close, input (100)) //Trend situation Bullish= cross(close, movingaverage_fast) Momentum = movingaverage_mid > movingaverage_slow // RSI inputs and calculations lengthRSI = 14 RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="long", long = true, when = Bullish and Momentum and RSI > 50) //Exit TP = input(70) SL =input(30) longTakeProfit = RSI > TP longStopPrice = RSI < SL strategy.close("long", when = longStopPrice or longTakeProfit and window()) plot(movingaverage_fast, color=color.black, linewidth=2 ) plot(movingaverage_mid, color=color.orange, linewidth=2) plot(movingaverage_slow, color=color.purple, linewidth=2)