Einfache quantitative Pivot-Reversal-Handelsstrategie


Erstellungsdatum: 2024-01-17 15:37:33 zuletzt geändert: 2024-01-17 15:37:33
Kopie: 0 Klicks: 659
1
konzentrieren Sie sich auf
1617
Anhänger

Einfache quantitative Pivot-Reversal-Handelsstrategie

Überblick

Diese Strategie basiert auf einem Durchbruch der Pivot-Punkte, um einen Umkehrhandel durchzuführen. Sie berechnet die Höchst- und Mindestpreise für die angegebene Periode, um die Pivot-Hochpunkte und Pivot-Tiefs zu bestimmen. Wenn der Preis über den Pivot-Hochpunkt hinausgeht, machen Sie einen Short; wenn der Preis unter dem Pivot-Tief liegt, machen Sie einen Plus.

Strategieprinzip

Die Kernlogik dieser Strategie ist die Berechnung von Pivotal Highs und Pivotal Lows. Die Berechnungsformel für Pivotal Highs und Pivotal Lows lautet wie folgt:

Axialhöhe = Summe der höchsten Werte der letzten N1-K-Radlinie / N1

Pivotal-Tiefpunkt = die Summe der niedrigsten Preise der letzten N2-K-Linie / N2

N1 und N2 sind die zwei einzustellbaren Parameter, die die Anzahl der K-Linien darstellen, die zur Berechnung des Hubpunkts benötigt werden.

Nach der Berechnung der Pivot-High-Low-Punkte kann die Strategie gehandelt werden. Die konkreten Handelsregeln sind:

  1. Wenn der Preis über die Achse hoch ist, nehmen Sie eine offene Position ein
  2. Wenn der Preis unterhalb der Pivotal-Tiefe liegt, nehmen Sie mehr Positionen ein.
  3. Ein Stop-Loss nach dem Halten der Position

Auf diese Weise wird eine kurze Linie-Umkehrstrategie realisiert, die auf dem Durchbruch der Kernspitze basiert.

Analyse der Stärken

Es ist eine sehr einfache Umkehrstrategie mit folgenden Vorteilen:

  1. Prinzipien sind einfach, leicht zu verstehen und umzusetzen
  2. Passend für kurze und häufige Transaktionen
  3. Die Reaktion auf den Durchbruch der Achse
  4. Optimierung durch Anpassung der Parameter

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Die Gefahr, dass eine Umkehrung fehlschlägt. Eine Umkehrung nach dem Durchbruch des Pivot Points ist nicht unbedingt erfolgreich, es besteht die Möglichkeit, dass der ursprüngliche Trend fortgesetzt wird.
  2. Risiko, dass der Stop-Loss-Preis überschritten wird. Der eingestellte Stop-Loss-Preis kann überschritten werden, was zu einem größeren Verlust führt.
  3. Risiken, die durch falsche Parameter entstehen. Wenn die Parameter falsch eingestellt werden, kann dies die Effektivität der Strategie beeinträchtigen.

Diese Risiken können durch Anpassung der Parameter und die Einrichtung von Ausspielstrategien kontrolliert werden.

Optimierungsrichtung

Es gibt noch viel Optimierungsmöglichkeiten für diese Strategie:

  1. In Kombination mit anderen technischen Indikatoren, um eine genauere Einstiegszeit zu bestimmen
  2. Hinzufügen von Ausstiegsbedingungen, wie beispielsweise Bewegungsstillstand, Nachgewinnsstillstand
  3. Dynamische Anpassung der Parameter zur Anpassungsfähigkeit der Strategie
  4. Optimierung von Parametern, um die beste Kombination von Parametern zu finden

Zusammenfassen

Diese Strategie ist eine sehr einfache Kurzlinien-Achs-Umkehr-Strategie. Ihre Vorteile sind einfach zu verstehen, geeignet für häufige Geschäfte, um Umkehrungen zu erfassen. Aber es gibt auch gewisse Risiken, die weiter optimiert werden müssen, um das Risiko zu verringern.

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

//@version=4
strategy("Pivot Reversal Strategy - FIGS & DATES 2.0", overlay=true, pyramiding=0, initial_capital=10000, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100.0, commission_value=0.075)

leftBars = input(4)
rightBars = input(2)

// backtesting date range
from_day = input(defval=1, title="From Day", minval=1, maxval=31)
from_month = input(defval=1, title="From Month", minval=1, maxval=12)
from_year = input(defval=2018, title="From Year", minval=1900)

to_day = input(defval=1, title="To Day", minval=1, maxval=31)
to_month = input(defval=1, title="To Month", minval=1, maxval=12)
to_year = input(defval=9999, title="To Year", minval=1900)

time_cond = true

swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)

middle = (swh+swl)/2

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 and time_cond
    strategy.entry("LONG", strategy.long, comment="LONG", 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 and time_cond
    strategy.entry("SHORT", strategy.short, comment="SHORT", stop=lprice - syminfo.mintick)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)