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.
Die Strategie verwendet 4 gleitende Durchschnitte - 9, 50, 100 und 200 Perioden.
Die spezifischen Handelsregeln sind:
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.
Die Risiken können verringert werden, indem
Die Strategie kann verbessert werden, indem
Optimierung von MA-Kombinationen
Mehr Prüfzeiten für eine bessere Rückkehrerkennung.
Erweiterung der Gewinnspanne
Erlauben Sie eine größere TP-Distanz für mehr Trendgewinne.
Hinzufügen weiterer Indikatoren
Wie KDJ, MACD zur Bestätigung, um ungültige Trades zu reduzieren.
Optimierung der Positionsgröße
Dynamische Größenpositionen basierend auf spezifischen TP und SL.
Hinzufügen von Wiedereinreisebestimmungen
Wenn der Trend anhält, sollten Sie nach TP erneut eintreten.
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)