Strategie des gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2024-02-02 18:12:17
Tags:

img

Übersicht

Diese Strategie erstellt einen benutzerdefinierten zusammengesetzten CRSI-Indikator, indem sie den Durchschnitt des RSI, der Bullen-/Bärenkraft und der Preisquote der prozentuale Veränderungsstufe annimmt und auf der Grundlage des gleitenden Durchschnitts des CRSI, der feste Ebenen überschreitet, handelt.

Strategie Logik

Die Strategie berechnet zunächst den 3-tägigen RSI des Preises, um zu messen, ob der Preis überkauft oder überverkauft ist. In der Zwischenzeit berechnet sie die Bullen-/Bärenkraft des Preises, um die Dynamik zu beurteilen. Sie berechnet auch die prozentuale Rangfolge der Kursänderung (ROC), um die relative Geschwindigkeit der Preisänderung zu überprüfen. Dann nimmt sie den Mittelwert dieser drei Indikatoren, um einen benutzerdefinierten zusammengesetzten Indikator CRSI zu konstruieren, der den Gesamtzustand des Preises widerspiegelt. Schließlich berechnet sie den 2-tägigen einfachen gleitenden Durchschnitt (MA) des CRSI. Wenn der MA über das Niveau von 40 überschreitet, geht er lang. Wenn der MA unter das Niveau von 70 überschreitet, tritt er aus den Longpositionen.

Analyse der Vorteile

Diese Strategie kombiniert mehrere Indikatoren, um den benutzerdefinierten CRSI-Indikator zu konstruieren, wodurch Handelssignale zuverlässiger werden. Der RSI kann feststellen, ob der Preis überhitzt oder überverkauft ist. Die Bull/Bear Power kann die Dynamik beurteilen. ROC überprüft, wie schnell sich der Preis ändert.

Risikoanalyse

Obwohl diese Strategie mehrere Indikatoren für eine Kombination verwendet, besteht immer noch das Risiko, falsche Signale in bestimmten Marktbedingungen zu erzeugen. Zum Beispiel können in Bereichsgebundenen Märkten RSI, ROC und andere Indikatoren häufige Kauf- und Verkaufssignale erzeugen, während der Preis tatsächlich keinen klaren Trend hat. Oder einige Indikatoren können nach einem plötzlichen Ereignis verzögern und die Erstellung von Handelssignalen verzögern. Diese Situationen können Verluste verursachen. Die Risiken können durch Optimierung von Parametern oder Hinzufügen anderer Filterbedingungen reduziert werden.

Optimierungsrichtlinien

Hier sind einige Aspekte, die diese Strategie optimieren könnten: 1) Optimieren Sie die Parameter RSI, Bull/Bear Power und ROC, um den CRSI stabiler und zuverlässiger zu machen; 2) Fügen Sie andere Hilfsindikatoren wie KDJ, MACD für umfassendere Signale hinzu; 3) Optimieren Sie die MA-Parameter, um das Verzögerungsrisiko zu senken; 4) Fügen Sie Stop-Loss-Bedingungen hinzu, um Einzelverluste zu kontrollieren; 5) Integrieren Sie längerfristige Indikatoren, um den Trendstatus zu beurteilen und vermeiden Sie den Überhandel von eingehenden Range-Märkten.

Schlussfolgerung

Diese Strategie baut einen benutzerdefinierten Indikator CRSI auf der Grundlage des Mittelwerts von RSI, Bull/Bear Power und ROC auf und handelt auf dem MA von CRSI, der feste Ebenen überschreitet. Eine solche Multi-Indikator-Kombination kann Handelssignale stabiler und zuverlässiger machen.


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


Mehr