Diese Strategie führt umgekehrten Handel auf der Grundlage von Pivot Point Breakouts durch. Es berechnet den Pivot-Hoch und Pivot-Tief über einen bestimmten Zeitraum, um die Pivot-Levels zu bestimmen. Es geht kurz, wenn der Preis über den Pivot-Hoch bricht, und geht lang, wenn der Preis unter den Pivot-Tief bricht. Dies ist eine typische kurzfristige Mittelumkehrstrategie.
Die Kernlogik dieser Strategie besteht darin, die Pivot-Hoch- und Tiefpunkte zu berechnen.
Pivot-High = Summe des höchsten Höchststands über die letzten N1-Barren / N1
Pivotlow = Summe des niedrigsten Tiefpunkts der letzten N2-Bars / N2
Hierbei sind N1 und N2 Parameter, die die Anzahl der für die Berechnung der Drehpunkte verwendeten Stäbe definieren.
Nach Erlangung der Pivot-Hoch-/Niedrigniveaus gelten folgende Handelsregeln:
Also realisiert es eine kurzfristige Umkehrstrategie basierend auf Drehpunkt-Ausbrüchen.
Die Vorteile dieser einfachen Strategie sind:
Es gibt einige Risiken:
Diese Risiken können durch Parameter-Tuning, Anwendung von Ausstiegsregeln usw. verwaltet werden.
Es gibt viel Optimierungsmöglichkeiten:
Zusammenfassend ist dies eine sehr einfache kurzfristige Pivot-Umkehrstrategie. Seine Vorteile sind Einfachheit und Fähigkeit, Umkehrungen zu erfassen. Aber es gibt einige Risiken, die durch Optimierung angegangen werden müssen. Insgesamt dient dies als eine gute Praxisstrategie für Anfänger und bildet die Grundlage für fortgeschrittene Strategien.
/*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)