Strategie für einen doppelten Preissprung im gleitenden Durchschnitt

Schriftsteller:ChaoZhang, Datum: 2023-11-21 14:28:35
Tags:

img

Übersicht

Diese Strategie verwendet den RSI-Indikator zur Bestimmung von Überkauf- und Überverkaufszuständen in Kombination mit einem Trendbeurteilungssystem, das mit schnellen, mittleren und langsamen gleitenden Durchschnittslinien konstruiert wurde, um Möglichkeiten zur Eröffnung von Long- oder Short-Positionen zu identifizieren, wenn die Preise springen.

Strategieprinzip

  1. Verwenden Sie den RSI-Indikator zur Bestimmung von Überkauf- und Überverkaufsbedingungen

    • Der RSI-Parameter ist auf 14 Perioden eingestellt
    • Überverkauft bei 30, übergekauft bei 70
  2. Verwenden Sie drei SMA-Linien aus verschiedenen Perioden, um den Trend zu bestimmen.

    • Fast Line ist ein 9-Perioden-SMA, der einen kurzfristigen Trend darstellt.
    • Die mittlere Linie ist der 50-Perioden-SMA, der den mittelfristigen Trend darstellt.
    • Slow Line ist ein 200-Perioden SMA, der einen langfristigen Trend darstellt.
  3. Wenn die schnelle Linie über die mittlere Linie geht und der RSI-Indikator überverkauft zeigt, gehen Sie lang

  4. Wenn die schnelle Linie unterhalb der mittleren Linie kreuzt und der RSI-Indikator überkauft zeigt, gehen Sie kurz

  5. Stop-Loss wird auf 4% des Einstiegspreises festgelegt.

  6. Die Gewinnentnahme erfolgt in Chargen, zunächst 20% Gewinn, dann 15% nehmen, wie der Preis weiter steigt, Positionen allmählich verlassen

Analyse der Vorteile

  1. Die Verwendung von drei SMA-Linien aus verschiedenen Zeiträumen kann Trendveränderungen in verschiedenen Zeitrahmen beurteilen
  2. Die Verwendung des RSI-Indikators vermeidet die Eröffnung von Positionen außerhalb von Überkauf-/Überverkaufszonen.
  3. Erhöhung der Gewinnspanne nach Batch-Aufnahme

Risikoanalyse

  1. Wahrscheinlichkeit falscher Signale aus den drei gleitenden Durchschnittslinien
  2. Risiko eines unvollständigen Gewinns bei der Ausführung
  3. Notwendigkeit, geeignete Instrumente mit hoher Preisschwankung auszuwählen

Optimierungsrichtlinien

  1. Kann Modifikationsparameter von gleitenden Durchschnitten und RSI testen, um Ein- und Ausstieg zu optimieren
  2. Kann andere Indikatoren hinzufügen, um Kerzenmuster usw. zu filtern, um die Genauigkeit zu verbessern
  3. Kann den Stop-Loss dynamisch verfolgen, um das Risiko weiter zu kontrollieren

Zusammenfassung

Diese Strategie kombiniert gleitende Durchschnittsindikatoren und den Überkauf/Überverkauf-Indikator RSI. Durch die Erfassung von Preis-Trendveränderungen bei der Beurteilung von Handelschancen gehört sie zu einer häufig verwendeten Trendverfolgungsstrategie. Weitere Optimierungen und verbesserte Gewinnrate können durch Parameter-Tests und die Einbeziehung zusätzlicher Hilfsbeurteilungsindikatoren erreicht werden.


/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
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/
// © syfuslokust

//@version=4
strategy(shorttitle='CoinruleCombinedCryptoStrat',title='CoinruleCombinedCryptoStrat', overlay=true)


// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
//Normal
oversold = input(30)
overbought =  input(70)
//ALGO
//oversold= input(26)
//overbought= input(80)

//sell pct
SellPct = input(20)
ExitPct = input(15)

//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))

//Look Back
inp_lkb = input(12, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

//Entry 

//MA
bullish = crossover(movingaverage_signal, movingaverage_fast)
//Execute buy
strategy.entry(id="long", long = true, when = (RSI < oversold and movingaverage_fast < movingaverage_mid))

//when = crossover(close, movingaverage_signal) and movingaverage_signal < movingaverage_slow and RSI < oversold)

//Exit

//RSI
Stop_loss= ((input (4))/100)
longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
//MA
bearish = crossunder(movingaverage_signal, movingaverage_fast)
//Execute sell
strategy.close("long", qty_percent = SellPct, when = RSI > overbought and movingaverage_fast > movingaverage_mid)
//when = (crossunder(low, movingaverage_signal) and movingaverage_fast > movingaverage_slow and RSI > overbought) or (movingaverage_signal < movingaverage_fast and crossunder(low, movingaverage_fast)) or (low < longStopPrice))


//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2, title="signal")
plot(movingaverage_fast, color=color.orange, linewidth=2, title="fast")
plot(movingaverage_slow, color=color.purple, linewidth=2, title="slow")
plot(movingaverage_mid, color=color.blue, linewidth=2, title="mid")

Mehr