Durchbruchstrategie zur Positionierung von Schwingungen mit mehreren Indikatoren

Schriftsteller:ChaoZhang, Datum: 2023-12-01 17:49:34
Tags:

img

Übersicht

Diese Strategie kombiniert mehrere Indikatoren, darunter STOCH.RSI, RSI, Dual Strategy, CM Williams Indikator und Money Flow Index (MFI), um Marktschwankungen genau zu lokalisieren und nach Long/Short-Möglichkeiten zu suchen. Sie kann Handelssignale erzeugen, wenn sich die Aktienkurse auf Unterstützungs- oder Widerstandsniveaus nähern. Durch die Integration der Vorteile mehrerer Indikatoren und der Quervalidierung kann diese Strategie falsche Signale effektiv reduzieren und die Zuverlässigkeit erhöhen.

Strategie Logik

  1. Der STOCH.RSI kombiniert die Stärken des Stochastic Oscillators und des Relative Strength Index (RSI) und zeigt überkaufte/überverkaufte Niveaus an, um Umkehrmöglichkeiten zu erkennen.

  2. Der RSI beurteilt Überkauf-/Überverkaufsbedingungen als Hilfsbestätigung.

  3. Dual Strategy bestimmt Crossovers zwischen Stoch und RSI, um Handelssignale zu generieren.

  4. CM Williams Indicator berechnet Perzentilbänder. Das Abprallen der Bande stellt eine Marktumkehr dar und hilft bei der Beurteilung von Schwankungen und Umkehrungen.

  5. Der Money Flow Index (MFI) beurteilt die Fondsströme und validiert die Signale zusammen mit Stoch.RSI und RSI zur Verbesserung der Qualität.

Zusammenfassend kann diese Strategie durch die Kombination von Stoch.RSI, RSI, Dual Strategy, CM Williams und MFI überkaufte/überverkaufte Niveaus effektiv bestimmen, Umkehrpunkte lokalisieren und Qualitätssignale erzeugen.

Analyse der Vorteile

Zu den Hauptvorteilen dieser Strategie gehören:

  1. Die Kombination mehrerer Indikatoren verbessert die Signalqualität durch Validierung und reduziert falsche Signale.

  2. STOCH.RSI, RSI und MFI erkennen überkaufte/überverkaufte Zonen und Wendepunkte des Marktes effektiv.

  3. CM Williams berechnet Perzentilbänder, um Marktschwankungen und -umkehrungen zu beurteilen.

  4. Dual Strategy erzeugt einfache Handelssignale, die leicht zu verfolgen sind.

  5. Sehr anpassungsfähig mit einer breiten Palette an optimierbaren Parametern, die an verschiedene Märkte angepasst werden können.

Risikoanalyse

Einige Risiken:

  1. Komplexe Berechnungen mit mehreren Indikatoren erfordern eine hohe Rechenleistung, die für den Hochfrequenzhandel ungeeignet ist.

  2. Eine falsche Einstellung der Parameter könnte die Signalqualität beeinträchtigen.

  3. Es kann sein, dass sich die Umkehrsignale verzögern, aber mehr Indikatoren könnten helfen, den Trend zu bestimmen.

  4. Eine hohe Handelsfrequenz kann zu einer schlechten Kapitalnutzung führen.

Lösungen:

  1. Verwenden Sie leistungsstarke Endgeräte und optimieren Sie die Parameter.

  2. Umfassend zurückgetestet, um optimale persönliche Parameter zu finden.

  3. Fügen Sie weitere Indikatoren hinzu, um im Voraus Trends zu ermitteln.

  4. Optimieren Sie Risikokontrollmechanismen wie Stop Loss, um Verluste pro Handel zu begrenzen.

Optimierungsrichtlinien

Diese Strategie kann in den folgenden Bereichen verbessert werden:

  1. Optimieren Sie die Indikatorparameter, um die optimale Kombination zu finden.

  2. Zusätzlich werden Indikatoren wie Volumen und Gewinnfaktor hinzugefügt, um die Aktienwahl zu verbessern.

  3. Einbeziehen Sie mehr Trendlinien, Bollinger-Bänder usw. zur Prognose von Unterstützungs-/Widerstandsniveaus.

  4. Fügen Sie Stop-Loss hinzu, Markteintrittsfilter, um das Risiko zu kontrollieren.

  5. Die Parameter variieren je nach Produkt und je nach Zeitrahmen.

Schlussfolgerung

Diese Strategie lokalisiert Marktumkehrungen, indem sie mehrere Indikatoren, einschließlich STOCH.RSI, RSI, Dual Strategy, CM Williams und MFI, genau kombiniert. Die Kreuzvalidierung verbessert die Signalqualität und reduziert falsche Signale. Weitere Verbesserungen wie Parameteroptimierung und zusätzliche Filter können es zu einem stabilen, praktischen Handelssystem machen.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


     //////////////////////////////////////////////////////////////////////////
    ////  STOCHASTIC_RSI+RSI+DOUBLE_STRATEGY+CM_WILLIAMS_VIX_FIX+MFI  ////////
   //////////////////////////////////////////////////////////////////////////


//  This is a simple combination of integrated and published scripts, useful 
//  if you don't have a PRO account and want to bypass the 3 indicators limit. 
//  It includes:
//  1) Stoch.RSI
//  2) Relative strenght index (RSI)
//  3) Stochastic + RSI, Double Strategy (by ChartArt)
//  4) CM_Williams_Vix_Fix Finds Market Bottoms (by ChrisMoody)
//  5) Monetary Flow Index (MFI)
//  For more details about 3) and 4) check the original scripts.


//@version=3
// @author GianlucaBezziccheri

strategy(title="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI", shorttitle="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI")


///STOCH.RSI///
smoothK = input(3, minval=1, title="Stochastic %K Smoothing")
smoothD = input(3, minval=1, title="Stochastic %K Moving Average")
lengthRSI = input(14, minval=1, title="RSI Lenght")
lengthStoch = input(14, minval=1, title="Stochastic Lenght")
RSIprice = close
rsi1 = rsi(RSIprice, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
plot(k, color=blue, linewidth=2)
plot(d, color=silver, linewidth=2)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=purple, transp=78)


///RSI///
up = rma(max(change(RSIprice), 0), lengthRSI)
down = rma(-min(change(RSIprice), 0), lengthRSI)
rsi2 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi2, color=fuchsia, linewidth=2)
band0 = hline(70)
band1 = hline(30)
fill(band0, band1, color=purple, transp=100)


///OVERBOUGHT-OVERSOLD STRATEGY///
StochOverBought = input(80, title="Stochastic RSI overbought")
StochOverSold = input(20, title="Stochastic RSI oversold")
ks = sma(stoch(close, high, low, lengthStoch), smoothK)
ds = sma(k, smoothD)
RSIOverBought = input( 70  , title="RSI overbought")
RSIOverSold = input( 30  , title="RSI oversold")
vrsi = rsi(RSIprice, lengthRSI)
if (not na(ks) and not na(ds))
    if (crossover(ks,ds) and k < StochOverSold)
        if (not na(vrsi)) and (crossover(vrsi, RSIOverSold))
            strategy.entry("LONG", strategy.long, comment="LONG")
if (crossunder(ks,ds) and ks > StochOverBought)
    if (crossunder(vrsi, RSIOverBought))
        strategy.entry("SHORT", strategy.short, comment="SHORT")
 
 
///CM WILLIAMS VIX FIX///
pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bollinger Band Length")
mult = input(2.0    , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50  , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
pl = input(1.01, title="Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99%")
hp = input(false, title="Show High Range (Based on Percentile and LookBack Period)?")
sd = input(false, title="Show Standard Deviation Line?")
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph
rangeLow = (lowest(wvf, lb)) * pl
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray
plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(hp and rangeLow ? rangeLow : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(wvf, title="Williams Vix Fix", style=columns, linewidth = 4, color=col, transp=85)
plot(sd and upperBand ? upperBand : na, title="Upper Band", style=line, linewidth = 3, color=aqua)


///MONETARY FLOW INDEX
length4 = input(title="MFI Length", defval=14, minval=1, maxval=2000)
src4 = hlc3
upper4 = sum(volume * (change(src4) <= 0 ? 0 : src4), length4)
lower4 = sum(volume * (change(src4) >= 0 ? 0 : src4), length4)
mf4 = rsi(upper4, lower4)
plot(mf4, color=yellow, style=line, linewidth=2, title="Monetary Flow Index")
overbought=hline(70, title="MFI Overbought", color=yellow)
oversold=hline(30, title="MFI Oversold", color=yellow)
fill(overbought, oversold, color=#9915ff, transp=100)

Mehr