Strategie basierend auf der gleitenden Durchschnittsüberlagerung RSI


Erstellungsdatum: 2024-02-02 18:12:17 zuletzt geändert: 2024-02-02 18:12:17
Kopie: 0 Klicks: 924
1
konzentrieren Sie sich auf
1617
Anhänger

Strategie basierend auf der gleitenden Durchschnittsüberlagerung RSI

Überblick

Die Strategie erstellt einen benutzerdefinierten Composite CRSI und berechnet seinen einfachen Moving Average MA, um die Preisentwicklung zu beurteilen und Handelssignale zu erzeugen.

Strategieprinzip

Die Strategie berechnet zunächst den 3-Tage-RSI des Preises, um zu beurteilen, ob der Preis überhitzt oder überkühlt ist; gleichzeitig berechnet sie den Sonnen- und Sonnenschein-Indikator des Preises, um die Preisbewegung zu beurteilen; außerdem berechnet sie den Prozentsatz des Preises, der ROC, um die relative Preisänderungsgeschwindigkeit zu beurteilen. Dann wird der Durchschnitt dieser drei Indikatoren genommen, um einen benutzerdefinierten Komplex zu erstellen.

Analyse der Stärken

Die Strategie macht die Handelssignale zuverlässiger, indem sie mehrere Indikatoren kombiniert, um eine benutzerdefinierte CRSI-Anzeige zu erstellen. Der RSI kann beurteilen, ob der Preis überhitzt oder kalt ist, der RSI kann die Preisbewegung bestimmen, der ROC kann die Geschwindigkeit der Preisänderung bestimmen.

Risikoanalyse

Die Strategie verwendet mehrere Indikatoren in Kombination, aber es ist immer noch möglich, dass in bestimmten Marktumgebungen falsche Signale. Zum Beispiel in einem bewegten Umfeld, RSI, ROC und andere Indikatoren können häufige Kauf- und Verkaufssignale erzeugen, während der Preis in Wirklichkeit keine offensichtliche Tendenz; oder nach einem unerwarteten Ereignis, mehrere Indikatoren kann es sein, dass die Gefahr von Rückstand, verzögern die Erzeugung von Signal-Handel.

Optimierungsrichtung

Um diese Strategie zu optimieren, können folgende Aspekte berücksichtigt werden: 1) Optimierung der Parameter des RSI, des Positiv-Negativ-Indikators und des ROC, um den CRSI stabiler und zuverlässiger zu machen; 2) Hinzufügung anderer Hilfsindikatoren in Kombinationen wie KDJ, MACD usw., um das Signal umfassender zu machen; 3) Optimierung der Parameter des MA, um das Risiko von Verzögerungen zu verringern; 4) Erhöhung der Stop-Loss-Bedingungen, um Einzelschäden zu kontrollieren; 5) Kombination mit einem länger andauernden Indikator, um die Trendlage zu beurteilen und häufige Geschäfte in einem bewegten Markt zu vermeiden.

Zusammenfassen

Die Strategie erfolgt durch die Berechnung des RSI, des Sonnen- und Sonnenhinters und des Mittelwertes des ROC, die Erstellung eines CRSI-eigenen Indikators und die Berechnung des MA des CRSI, um bei einem MA mit einem bestimmten Preisniveau zu handeln. Diese Kombination von mehreren Indikatoren kann das Handelssignal stabiler und zuverlässiger machen. Die Strategie erfordert jedoch noch weitere Optimierungen der Parameter, die Hinzufügung von Hilfsindikatoren und Filterbedingungen, um die Auswirkungen von Fehlsignalen und Marktbedingungen zu reduzieren und die Stabilität der Profitabilität zu verbessern.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1, vlow = 20
updown(s) => 
    isEqual = s == s[1]
    isGrowing = s > s[1]
    ud = 0.0
    ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1)
    ud
rsi = rsi(src, lenrsi)
updownrsi = rsi(updown(src), lenupdown)
percentrank = percentrank(roc(src, 1), lenroc)
crsi = avg(rsi, updownrsi, percentrank)
MA = sma(crsi, malengt)

band1 = 70
band0 = 40
band2 = 20

ColorMA = MA>=band0 ? lime : red

p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA)

p2 = plot(low, title="idk", style=line, linewidth=2, color=blue)
p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange)
p4 = plot(vlow, title="idk3", style=line, linewidth=1, color=red)

//@version=2
strategy("CMARSI")


if crossover(MA, band0)
    strategy.entry("buy", strategy.long, 1, when=strategy.position_size <= 0)
    
if crossunder(MA, band1)
    strategy.exit("close", "buy",  1, profit=1, stop=1)
    



plot(strategy.equity)