Wichtige Pivot Point Reversal Strategie


Erstellungsdatum: 2024-01-29 14:58:15 zuletzt geändert: 2024-01-29 14:58:15
Kopie: 1 Klicks: 708
1
konzentrieren Sie sich auf
1629
Anhänger

Wichtige Pivot Point Reversal Strategie

Überblick

Diese Strategie basiert auf der traditionellen Strategie zur Umkehrung von Levers, die hauptsächlich durch die Berechnung des ATR und die Einstellung des ATR-Filterfaktors optimiert wird, um einige bedeutungslose Levers zu filtern und nur die wirklich wichtigen Levers zu handeln.

Strategieprinzip

Die Kernlogik der Strategie ist die Berechnung von wichtigen Hoch- und Tiefpunkt-Begleitpunkten. Die Hauptschritte zur Berechnung von Hochpunkt-Begleitpunkten sind:

  1. Berechnen Sie den ATR und setzen Sie den ATR-Filterfaktoratr_mult。
  2. Durchlaufen einer bestimmten Anzahl von K-Linien auf der linken Seite ((setzt von leftBars)), wenn der Höhepunkt-Stützpunkt höher ist als der Höhepunkt einer beliebigen K-Line auf der linken Seite + ATR*atr_mult, dann ist der Stützpunkt ungültig.
  3. Reisen Sie über eine bestimmte Anzahl von K-Linien auf der rechten Seite (setzt von RightBars) + ATR, wenn der Höchststandpunkt höher ist als der Höchststandpunkt einer beliebigen K-Line auf der rechten Seite*atr_mult, dann ist der Stützpunkt ungültig.
  4. Wenn der Höhenstützpunkt nach den oben genannten Prüfungen noch gültig ist, wird der Höhenstützpunkt als wichtiger Höhenstützpunkt zurückgegeben.

Die Logik der Berechnung der Tiefpunktspitzen ist ähnlich.

Nach Erreichen eines wichtigen Stützpunktes, machen Sie einen Shortfall, wenn der Preis den wichtigen Hochpunkt überschreitet; machen Sie einen Plus, wenn der Preis den wichtigen Tiefpunkt überschreitet.

Analyse der Stärken

Die wichtigsten Vorteile dieser Strategie sind:

  1. Mit den Filterparametern ATR und atr_mult können kleine, sinnlose Schwankungen herausgefiltert und nur die wirklich wichtigen Stützpunkte gehandelt werden, um unnötige Transaktionen zu vermeiden.
  2. Die ATR-Parameter können dynamisch angepasst werden, um den Handelsumfang in einem stark schwankenden Markt automatisch anzupassen, um Überhandel zu vermeiden.
  3. Die Pivot-Inversion-Strategie selbst hat eine relativ hohe Gewinn- und Verlustrate.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Die falsche Einstellung der ATR-Parameter kann zu viele effektive Handelsmöglichkeiten filtern. Wenn die ATR zu groß ist, können auch effektive Stützpunkte gefiltert werden.
  2. Das Risiko einer Gefangenschaft besteht bei der Stützpunkt-Umkehr-Strategie an sich, die mit Stop-Loss-Systemen kontrolliert werden muss.
  3. Umgekehrte Klassifizierungsstrategien sind auf die Transaktionskosten empfindlich und erfordern eine angemessene Einstellung von Stop-Loss- und Stop-Stop-Systemen.

Um die oben genannten Risiken zu kontrollieren, können Optimierungen in folgenden Bereichen vorgenommen werden:

  1. Optimierung der ATR-Parameter zur Sicherstellung ausreichender Handelsmöglichkeiten.
  2. Setzen Sie eine angemessene Stop-Loss-Ratio ein.
  3. Um den Einfluss der Transaktionskosten zu verringern, muss die Anzahl der aufgeschlagenen Positionen entsprechend angepasst werden.

Optimierungsrichtung

Die Strategie kann in folgenden Richtungen weiter optimiert werden:

  1. In Kombination mit anderen Indikatoren, um die Markttrend-Zustand zu beurteilen, um zu vermeiden, dass Umkehrungen in der Trend-Situation auftreten. Es kann in Betracht gezogen werden, Indikatoren wie MACD, KDJ und andere hinzuzufügen.

  2. Die Optimierung der Parameter durch die Zugabe von Machine Learning-Algorithmen und die automatische Optimierung der Parameter. Die Optimierung der Parameter kann mit Methoden wie genetischen Algorithmen oder Random Forests durchgeführt werden.

  3. Hinzufügen von quantitativen Daten zum Trainieren, um den optimalen ATR-Bereich zu finden. Die Hinzufügung von Historikern kann die Genauigkeit der Parameterwahl verbessern.

  4. Es kann auch in Kombination mit anderen Strategien verwendet werden, um die Vorteile verschiedener Arten von Strategien zu nutzen.

Zusammenfassen

Diese wichtige Stützpunkt-Umkehrstrategie filtert sinnlose kleine Schwankungen durch die Berechnung von ATR und die Einstellung eines Filterfaktors. Umkehrgeschäfte nur an wichtigen Stützpunkten können die Ertragslage der Strategie effektiv erhöhen. Gleichzeitig erhöht sich die Schwierigkeit der Optimierung bestimmter Parameter, um die optimalen Parameter aus mehreren Aspekten zu finden.

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

//@version=4
strategy("QuantNomad - Significant Pivot Reversal Strategy", shorttitle = "SPPS", overlay=true)

// Inputs 
leftBars   = input(4,   title = 'PP Left Bars')
rightBars  = input(2,   title = 'PP Right Bars')
atr_length = input(14,  title = 'ATR Length')
atr_mult   = input(0.1, title = 'ATR Mult')

// Pivot High Significant Function
pivotHighSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (high[right] < high[right+i] + atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (high[right] < high[i] + atr * atr_mult)
            pp_ok := false
    
    pp_ok ? high[right] : na

// Pivot Low Significant Function
pivotLowSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (low[right] > low[right+i] - atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (low[right] > low[i] - atr * atr_mult)
            pp_ok := false
    
    pp_ok ? low[right] : na


swh = pivotHighSig(leftBars, rightBars)
swl = pivotLowSig (leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

if (le)
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]


se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

if (se)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)