Strategie der doppelten Stochastik

Schriftsteller:ChaoZhang, Datum: 2023-11-07 15:25:19
Tags:

img

Übersicht

Die Dual Stochastics-Strategie beurteilt bullische und bärische Zonen, indem sie stochastische Indikatoren des laufenden Zeitraums und mehrerer Zeitrahmen berechnet, mit dem Ziel, niedrig zu kaufen und hoch zu verkaufen.

Strategie Logik

Die Strategie berechnet zwei Sätze von Stochastischen Indikatoren gleichzeitig. Der erste Satz ist die Stochastik des laufenden Zeitraums, nämlich die K- und D-Werte. Der zweite Satz ist die Stochastik von 3 mal dem laufenden Zeitraum, nämlich MTFK und MTFD.

Wenn die MTFK über 50 liegt und der aktuelle K größer als D ist, wird ein Kaufsignal generiert, das auf eine bullische Zone hinweist, die lang geht.

Daher verwendet die Strategie doppelte stochastische Indikatoren, um bullische und bärische Zonen zu beurteilen und Preistrends zu verfolgen.

Insbesondere ist die Logik des langen Eintrags:

longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD  

Die kurze Logik lautet:

shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD

Wo mtfK der K-Wert der 3x-Periode und mtfD der D-Wert der 3x-Periode ist. Lange Signale werden erzeugt, wenn mtfK über 50 und k>d überschreitet. Kurze Signale werden erzeugt, wenn mtfD unter 50 und k

Die Strategie setzt auch eine Stop-Loss-Logik. Bei Long, wenn mtfD unter dem oberen Band überschreitet, wird ein Close-Signal generiert. Bei Short, wenn mtfK über dem unteren Band überschreitet, wird ein Close-Signal ausgelöst.

Analyse der Vorteile

Die Vorteile dieser Strategie sind:

  1. Die Verwendung von Dual-Stochastics ermöglicht eine genauere Beurteilung der bullischen und bärischen Zonen. Der aktuelle Zeitraum Indikator beurteilt kurzfristige Trends, während der größere Zeitraum Indikator beurteilt langfristige Trends.

  2. Der Handel auf der Grundlage von Crossovers verschiedener Zeitrahmenindikatoren kann Trends effektiv verfolgen und niedrige Kauf- und hohe Verkaufspreise erreichen.

  3. Die Stop-Loss-Logik hilft, Risiken zu kontrollieren und Verluste in gewissem Maße zu begrenzen.

  4. Die Strategielogik ist einfach und klar, leicht zu verstehen und für den Live-Handel umzusetzen.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Dual Stochastics können falsche Signale erzeugen, was zu unnötigen Trades führt, z. B. Differenzen zwischen kurz- und langfristigen Trends, die durch plötzliche Ereignisse verursacht werden.

  2. Eine falsche Einstellung des Stoppverlustes kann zu vergrößerten Verlusten führen.

  3. Häufiger Handel durch die Strategie kann sich negativ auf die Gewinne aufgrund von Provisionen auswirken.

  4. Die Strategie stützt sich ausschließlich auf technische Indikatoren ohne Berücksichtigung der Fundamentaldaten, die bis zu einem gewissen Grad überwacht werden sollten.

Lösungen:

  1. Anpassung der Parameter der dualen Stochastika zur Verringerung falscher Signale.

  2. Optimieren Sie die Stop-Loss-Logik und setzen Sie angemessene Stop-Loss-Distanzen.

  3. Anpassen der Parameter, um die Handelsfrequenz zu reduzieren.

  4. Achten Sie auf wesentliche Fundamentereignisse, um subjektive Handlungen zu vermeiden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimieren Sie die Parameter der dualen Stochastika, um falsche Signale zu reduzieren. Testen Sie die Auswirkungen verschiedener K- und D-Werte.

  2. Andere Indikatoren einbeziehen, um Signale wie MACD, gleitende Durchschnitte usw. zu filtern, um falsche Signale zu vermeiden.

  3. Optimieren Sie die Stop-Loss-Strategie, indem Sie verschiedene Stop-Loss-Punkte und -Kennzahlen testen, um Risiken effektiv zu kontrollieren.

  4. Verknüpfen Sie Handelsvolumenindikatoren, wie z. B. Volumen-Breakouts, um ineffiziente Geschäfte während der Preiskonsolidierung zu vermeiden.

  5. Versuche verschiedene Haltezeiten: Zu kurze Haltezeiten führen zu Provisionen, die den Gewinn verzehren, zu lange verhindern nicht rechtzeitig Verluste.

  6. Einbeziehen Sie grundlegende Faktoren, Schließen von Positionen rund um wichtige Ereignisse, um zu vermeiden, dass Sie schockiert werden.

Zusammenfassung

Die Dual Stochastics-Strategie beurteilt bullische und bärische Zonen nach aktuellen Perioden und mehreren Perioden-Stochastikindikatoren, um das Ziel zu erreichen, niedrig zu kaufen und hoch zu verkaufen. Sie hat Vorteile wie starke Trendverfolgungsfähigkeit, einfache Logik und einfachen Live-Handel. Es gibt jedoch Risiken, die Parameter-Tuning, Stop-Loss-Optimierung und die Einbeziehung anderer Techniker oder Fundamentaldaten erfordern, um sich zu verbessern. Wenn sie umfassend optimiert und streng zurück getestet wird, kann diese Strategie zu einem sehr praktischen Trendfolgensystem werden.


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

//@version=3
strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

len = input(54, minval=1, title="Length for Main Stochastic") 
smoothK = input(12, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(100,minval=10,title="Trialing step value")

// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)

//mtf stochastic calculation smoothed with period

mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)

plot(k,"current TF k",blue,style=line, linewidth=2)
plot(d,"current TF d",red,style=line, linewidth=2)
plot(mtfK,"MTF TF k",black,style=line)
plot(mtfD,"Multi TF d",green,style=line, linewidth=2)
hline(upLine)
hline(50)
hline(lowLine)

longCondition = crossover(mtfK, 50) and k>50 and  k>d and mtfK>mtfD
if (longCondition)
    strategy.entry("Lungo", strategy.long)

shortCondition = crossunder(mtfD, 50) and k<50 and  k<d and mtfK<mtfD
if (shortCondition)
    strategy.entry("Corto", strategy.short)
    
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)

if (exitlong)
    strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
    strategy.exit("Esci corto","Corto",trail_points=trailStep)
    
showZones   = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule: 
bullishRule = k >= mtfD
// bearish signal rule: 
bearishRule = k <= mtfD
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)



Mehr