Die Ressourcen sind geladen. Beförderung...

Scalping-Strategie mit gleitendem Durchschnitt

Schriftsteller:ChaoZhang, Datum: 21.09.2023
Tags:

Übersicht

Diese Strategie gehört zum Scalping-Strategietypen und zielt darauf ab, Positionen häufig zu eröffnen und zu schließen, um von kleinen Gewinnen zu profitieren und gleichzeitig Abwärtsrisiken zu begrenzen.

Strategie Logik

Die Strategie verwendet 4 gleitende Durchschnitte - 9, 50, 100 und 200 Perioden.

Die spezifischen Handelsregeln sind:

  • Verlängern, wenn 9 MA über 50 MA liegt
  • 50 MA ist unter 100 MA
  • 100 MA ist unter 200 MA

Diese Kombination identifiziert Situationen, in denen sich der Preis kurzfristig im Abwärtstrend befindet, aber eine Umkehrung eintreten kann.

Die Exit-Regel gilt, wenn 9 MA über 200 MA liegt.

Vorteile

  • Häufige Öffnungs- und Schlusskontrolle Einfachverlust
  • MA-Crossover fängt potenzielle Tiefststände ein
  • Nähere Gewinnziele bei kleinen Gewinnen
  • Verkürzte Haltedauer minimiert den Einfluss des Trends
  • Hohe Kapitalverwertung für kleine Konten

Risiken

  • MA-Verzögerung kann die besten Einstiegspunkte verpassen
  • Kleine Gewinnspanne anfällig für Gebühren
  • Mehr ungültige Berufe erhöhen Zeit- und Energiekosten
  • Übermäßig konservative TP verfehlt die Trends
  • Schwer zu profitieren an den Märkten mit Bandbreite

Die Risiken können verringert werden, indem

  • Optimierung der MA-Parameter für eine bessere Signalgenauigkeit
  • Erleichterung der TP zur Gewinnung von mehr Trendgewinnen
  • Hinzufügen anderer Indikatoren zur Bestätigung, Verringerung ungültiger Geschäfte
  • Optimierung der Kapitalnutzung und Positionsgröße
  • Überlegungen zur Wiedereinreise

Optimierungsrichtlinien

Die Strategie kann verbessert werden, indem

  1. Optimierung von MA-Kombinationen

    Mehr Prüfzeiten für eine bessere Rückkehrerkennung.

  2. Erweiterung der Gewinnspanne

    Erlauben Sie eine größere TP-Distanz für mehr Trendgewinne.

  3. Hinzufügen weiterer Indikatoren

    Wie KDJ, MACD zur Bestätigung, um ungültige Trades zu reduzieren.

  4. Optimierung der Positionsgröße

    Dynamische Größenpositionen basierend auf spezifischen TP und SL.

  5. Hinzufügen von Wiedereinreisebestimmungen

    Wenn der Trend anhält, sollten Sie nach TP erneut eintreten.

Zusammenfassung

Diese Scalping-Strategie identifiziert potenzielle kurzfristige Umkehrungen mit MA-Kombinationen für häufige kleine Gewinne. Dies kontrolliert effektiv einzelne Verluste und Risiken und macht sie für das Wachstum kleiner Konten geeignet. Es gibt jedoch Einschränkungen wie kleine Gewinnspanne und übermäßige Trades. Verbesserungen können durch Parameter-Tuning, TP-Anpassung, Filter hinzufügen usw. vorgenommen werden, um Gewinne zu erweitern, während die Stärken beibehalten werden, wodurch die Strategie robuster und effizienter wird.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, 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_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Entry 
bullish = crossover(movingaverage_signal, movingaverage_fast)

strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window())

//Exit

bearish = crossover(movingaverage_signal, movingaverage_slow)


Stop_loss= ((input (2))/100)
Take_profit= ((input (8))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = bearish)

// close < longStopPrice or close > longTakeProfit and window())

//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2 )
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)
plot(movingaverage_mid, color=color.blue, linewidth=2)


Mehr