Cette stratégie effectue des transactions d'inversion basées sur des ruptures de point de pivot. Elle calcule le pivot high et le pivot low sur une période spécifiée pour déterminer les niveaux de pivot. Elle va court lorsque le prix dépasse le pivot high, et va long lorsque le prix dépasse le pivot low.
La logique de base de cette stratégie est de calculer les points hauts et bas du pivot.
Pivot High = somme du plus haut niveau au cours des dernières barres N1 / N1
Basse pivot = somme de la plus basse des dernières barres de N2 / N2
où N1 et N2 sont des paramètres qui définissent le nombre de barres utilisées pour calculer les points de pivotement.
Après avoir obtenu les niveaux pivot haut/bas, les règles de négociation sont les suivantes:
Il réalise donc une stratégie d'inversion à court terme basée sur des ruptures de point pivot.
Les avantages de cette stratégie simple sont les suivants:
Il y a des risques:
Ces risques peuvent être gérés en ajustant les paramètres, en appliquant des règles de sortie, etc.
Il y a beaucoup de marge d'optimisation:
En résumé, il s'agit d'une stratégie d'inversion de pivot à court terme très simple. Ses avantages sont la simplicité et la capacité de capturer les inversions. Mais il y a quelques risques qui doivent être abordés par l'optimisation. Dans l'ensemble, cela sert de bonne stratégie de pratique pour les débutants et jette les bases de stratégies avancées.
/*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)