Doppelte stochastische Oszillator-Strategie


Erstellungsdatum: 2023-09-17 18:26:16 zuletzt geändert: 2023-09-17 18:26:16
Kopie: 0 Klicks: 845
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie verwendet zwei Arten von Zufallsindikatoren mit unterschiedlichen Parameter-Einstellungen, um die Berechnung von Mehrraumbedingungen zu ermöglichen. Sie gehört zu einem typischen linearen Kreuzungssystem. Die Schnellindikatoren werden verwendet, um die kurzfristigen Trends und die Einstiegsmomente zu bestimmen, während die langsamen Indikatoren die Richtung der großen Trends bestimmen, die in Kombination ein Handelssignal bilden.

Strategieprinzip

  1. Der K-Wert des schnellen Zufallsindikators zeigt die Richtung des kurzfristigen Trends an, wobei die K-Linie, die den Moving Average SM1 kreuzt, ein Einstiegssignal darstellt.

  2. Die K-Werte des Slow-Random-Indikators spiegeln den Trend wider. Wenn der Fast-Indikator ein Umkehrsignal zeigt, überprüfen Sie, ob der Slow-Indikator die Richtung der großen Richtung vernünftig beurteilt.

  3. Wenn K schnell über SM1 fährt, ist dies ein Positivsignal; wenn K langsam über 50 fährt, ist dies ein Aufwärtstrend, der die Mehrfachbedingung erfüllt.

  4. Wenn K schnell nach unten durch die SM1 geht, ist dies ein Beobachtungssignal; wenn K langsamer als 50 ist, zeigt dies eine große Abwärtsbewegung an, die die Kurzschlussbedingungen erfüllt.

  5. Setzen Sie den Stop-Loss-Punkt, um den Stop-Loss in einem festen Verhältnis zu verhindern.

Analyse der Stärken

  1. Doppel-Zufallsmessung filtert Geräusche und erhöht die Erfolgsrate. Schnell und langsam kombiniert, reduziert das Risiko von Ausblendungen.

  2. SM1 ist klein, K-Spiegel sind empfindlich und eignen sich für die Erfassung von Kurzstrecken.

  3. Große Zyklen beurteilen große Trends, kleine Zyklen erfassen Umkehrungen. Die Mehrraumstrategie entspricht den meisten Marktsituationen.

  4. Fixed Stop-Loss-Punkte, Risikogewinne sind kontrollierbar, und es ist nicht leicht, übermäßig zu wackeln.

Risikoanalyse

  1. Abweichungen zwischen den Indikatoren führen zu verpassten Handelschancen oder falschen Signalen.

  2. Der festen Stop-Loss-Punkt ist nicht flexibel genug, um sich an Marktveränderungen anzupassen.

  3. Die Parameter des lbl-Indikators müssen wiederholt optimiert werden.

  4. Kurzfristige Transaktionen erfordern eine höhere Frequenz und erhöhen die Transaktionskosten.

Optimierungsrichtung

  1. Hinzufügen von anderen Kennzahlen oder Filterbedingungen, um die Qualität der Kennzeichen zu gewährleisten.

  2. Verschiedene Parameterkombinationen werden getestet, um die optimale Parameterkonfiguration zu finden.

  3. In Kombination mit Schwankungsraten und so weiter, um die Stop-Loss-Höhe dynamisch anzupassen.

  4. Zeitliche Filterung, um Schlüsselfälle zu vermeiden und unvernünftige Schwankungen zu kontrollieren.

  5. Optimierung der Kapitalmanagement-Strategie, Optimierung der Lagerhaltung und Optimierung der Kapitalnutzung.

Zusammenfassen

Die Strategie integriert schnelle und schnelle Zufallsindikatoren in ein Mehrfachhandelssystem. Es ist jedoch erforderlich, weitere Optimierungsparameter festzulegen und Indikatoren wie Trend und Volatilität als Filterbedingungen zu verwenden. Unter strenger Risikokontrolle kann die Strategie einen relativ stabilen Überschuss erzielen.

Strategiequellcode
/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Double Stochastic", overlay=true)

//-----------------------Stochastics------------------------//

c= security(syminfo.tickerid,timeframe.period , close)  
h= security(syminfo.tickerid, timeframe.period, high)  
l= security(syminfo.tickerid, timeframe.period, low)  

c1= security(syminfo.tickerid, timeframe.period, close)  
h2= security(syminfo.tickerid, timeframe.period, high)  
l1= security(syminfo.tickerid, timeframe.period, low)  

K1 = input(5, title="K", minval=1, title="Leading K")
SM1 = input(2, title="Smooth", minval=1, title="Leading Smooth ")
k = ema(stoch(c, h, l, K1), SM1)

K2 = input(97, title="K", minval=1, title="Lagging K")
D2 = input(3, title="D", minval=1, title="Lagging D")
SM2 = input(1, title="Smooth", minval=1, title="Lagging Smooth")
k1 = ema(stoch(c1, h2, l1, K2), SM2)

// buy ((k[2] < 40 and k > 40) and bars_up > 0 and k1 > 50) 
// sell (k[2] > 60 and k < 60) and bars_down > 0 and k1 < 50

//-----------------------Mechanics------------------------//

buy = k1 > 50 and k < 30 and k > k[1] ? 1 : 0
sell = k1 < 50 and k > 70 and k < k[1] ? 1 : 0

buy_val = valuewhen(buy == 1, close, 1)
sell_val = valuewhen(sell == 1, close, 1)

buy_close = buy_val * input(1.20, minval=0.1)
sell_close = sell_val / input(1.20, minval=0.1)

//------------------------Buy/Sell-------------------------//

longCondition = buy == 1
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

close_long = close >= buy_close
if (close_long)
    strategy.close("My Long Entry Id")
    
sellCondition = sell == 1
if (sellCondition)
    strategy.entry("My Short Entry Id", strategy.short)

close_short = close <= sell_close
if (close_short)
    strategy.close("My Short Entry Id")