Kombinierte quantitative Handelsstrategie für mehrere Indikatoren

Schriftsteller:ChaoZhang, Datum: 2024-01-24 15:10:41
Tags:

img

Übersicht

Diese Strategie verwendet drei technische Indikatoren für den Aktienkurs, den RSI, den StochRSI und die Bollinger Bands, und kombiniert Handelszeiten und Richtungsbedingungen, um Kauf- und Verkaufssignale für quantitative Handelsstrategien zu bestimmen.

Grundsätze

Wenn der RSI-Indikator unter dem unteren Bereich liegt und die StochRSI K-Linie über die D-Linie kreuzt, gilt dies als Kaufsignal. Gleichzeitig wird der Aktienkurs billiger als die unteren Linien des Bollinger Bands oder unterhalb der unteren Linien des Bollinger Bands als Kaufbasis verwendet.

Wenn der RSI-Indikator den oberen Bereich überschreitet und die StochRSI-K-Linie unterhalb der D-Linie kreuzt, gilt dies als Verkaufssignal. Gleichzeitig wird der Aktienkurs höher als die obere Linie des Bollinger Bands oder durchbricht die obere Linie des Bollinger Bands auch als Verkaufsgrundlage verwendet.

Der RSI-Indikator beurteilt, ob der Aktienkurs überkauft oder überverkauft ist, StochRSI beurteilt die Dynamik des Aktienkurses und Bollinger Bands beurteilt, ob der Aktienkurs auf hohem Niveau und billig läuft. Mehrere Indikatoren kombinieren sich, um Kauf und Verkauf zu bestimmen.

Analyse der Vorteile

Es handelt sich um eine Kombinationsstrategie mit mehreren Indikatoren mit einer breiten Abdeckung der Indikatoren und einer umfassenden Beurteilungsgrundlage. Vor der Beurteilung des Signals ist eine Überquerung zwischen dem aktuellen Aktienkurs oder Indikator und seiner Schwelle erforderlich, was eine gewisse Filterwirkung auf falsche Signale hat.

Vor der Auftragserteilung werden zeitliche Einschränkungen hinzugefügt, um größere Risiken in bestimmten Zeiträumen zu vermeiden.

Durch die Kombination der Beurteilungen mehrerer Indikatoren können mehrere Arten von Trends abgeglichen werden, um die Wirksamkeit der Strategie zu verbessern.

Risikoanalyse

Die Strategie beruht hauptsächlich auf drei Arten von Indikatoren. Wenn der Indikator ein falsches Signal gibt, wird die Strategie Verluste verursachen. Indikatoren sollten sich gegenseitig überprüfen und können sich nicht vollständig auf einen bestimmten Indikator verlassen. Zum Beispiel erhöht die RSI-Oszillation in einem bestimmten Zeitraum die Möglichkeit, falsche Signale auszugeben.

Die in der Strategie hinzugefügten Zeitbeurteilungsbedingungen können auch günstige Marktbedingungen verpassen.

Wenn die Bestandswahl nicht angemessen ist, z. B. Bestände mit schweren Übertreibungseffekten, wird die Gültigkeit dieser Indikatoren erheblich eingeschränkt.

Optimierung

  1. Erhöhung der Risikokontrollmaßnahmen wie maximale Auslastung zur Begrenzung von Verlusten.

  2. Anpassen der Indikatorenparameter, um besser mit den ausgewählten Aktien übereinstimmen.

  3. Erhöhen Sie die Filtermechanismen, wie zum Beispiel den Handel auszusetzen, wenn der Aktienkurs sich in der Mitte des Bollinger Bands befindet, um schwankende Marktbedingungen zu vermeiden.

  4. Die Auswahl von Aktien kann sich auf Fundamentaldaten beziehen, um Aktien mit schwerwiegendem Finanzbetrug zu vermeiden.

Zusammenfassung

Dies ist eine typische mehrvariable technische Indikatorstrategie mit einer ausgewogenen Mischung aus Indikatoren und einer umfangreichen Abdeckung. Gleichzeitig sind die Auftragsbedingungen streng, die Aktien effektiv auswählen können, um Gewinn zu erzielen, und der Drawdown wird innerhalb eines bestimmten Bereichs kontrolliert. Durch die Optimierung von Indikatoren und Parametern kann es sich besser an den Markt anpassen. Gleichzeitig erhöhen Sie den Risikokontrollmechanismus, um das Risiko zu minimieren, um die Stabilität und Zuverlässigkeit der Strategie weiter zu verbessern.


/*backtest
start: 2023-12-24 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version= 2
strategy("RSI+STOCHRSI+BB Strategy", overlay=true)
lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 70 )
price = close
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

bblength = input(50)
bbupmult =input(1.5,title="Multiplier for BB Upper Band")
bblowmult = input(1.5,title="Multiplier for BB Lower Band")

basis =  sma(close,bblength)

devup = bbupmult * stdev(close, bblength)
devlow = bblowmult * stdev(close, bblength)

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)


yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  ( crossover(k,d)) and ( crossover(vrsi,overSold) or vrsi<overSold)  and (  (price<lower) or crossover(price,lower) ) ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and  ( (price>upper) or crossunder(price,upper) )) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")
    
    
    

Mehr