Strategi ini menjalankan perdagangan pembalikan berdasarkan penembusan titik pusingan. Ia mengira tinggi pusingan dan rendah pusingan dalam tempoh tertentu untuk menentukan tahap pusingan. Ia pergi pendek apabila harga memecahkan di atas tinggi pusingan, dan pergi panjang apabila harga memecahkan di bawah rendah pusingan. Ini adalah strategi pembalikan purata jangka pendek yang biasa.
Logik teras strategi ini adalah untuk mengira titik tinggi dan rendah pusingan. Rumusnya adalah:
Pivot High = Jumlah tertinggi tertinggi sepanjang bar N1 yang lalu / N1
Pivot Low = Jumlah rendah terendah sepanjang bar N2 yang lalu / N2
Di mana N1 dan N2 adalah parameter yang menentukan bilangan bar yang digunakan untuk mengira titik pivot.
Selepas mendapatkan tahap tinggi / rendah pivot, peraturan perdagangan adalah:
Jadi ia merealisasikan strategi pembalikan jangka pendek berdasarkan titik pusingan.
Kelebihan strategi mudah ini adalah:
Terdapat beberapa risiko:
Risiko ini boleh dikendalikan dengan menyesuaikan parameter, menggunakan peraturan keluar dan lain-lain.
Terdapat ruang yang besar untuk pengoptimuman:
Ringkasnya, ini adalah strategi pembalikan pivot jangka pendek yang sangat mudah. Kelebihannya adalah kesederhanaan dan keupayaan untuk menangkap pembalikan. Tetapi terdapat beberapa risiko yang perlu ditangani melalui pengoptimuman. Secara keseluruhan ini berfungsi sebagai strategi amalan yang baik untuk pemula dan membina asas untuk strategi lanjutan.
/*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)