
Ini adalah strategi perdagangan kuantitatif yang hanya melakukan banyak kepala, yang menggabungkan kelebihan strategi pembalikan titik pivot dan strategi minimum dua kali pergerakan rata-rata. Strategi ini mengikuti tren utama dalam pasaran lembu, membuat lebih banyak keputusan tentang isyarat pembalikan setelah melihat pembentukan pivot; dan ia memerlukan harga penutupan lebih tinggi daripada minimum dua kali pergerakan rata-rata untuk membuka lebih banyak kedudukan, menjadikan strategi lebih stabil.
Strategi ini menggabungkan strategi pembalikan titik pivot dan strategi minimum dua kali pergerakan rata-rata. Strategi pembalikan titik pivot akan mengira harga tertinggi dan terendah pada hari dagangan tertentu yang lalu, dan mendapat kenaikan dan penurunan. Apabila harga menembusi kenaikan, ia dianggap sebagai isyarat pembalikan.
Khususnya, strategi ini pertama kali mengira harga tertinggi 3 K dan harga terendah 16 K lalu, untuk mendapatkan titik-titik utama di atas dan di bawah landasan. Apabila landasan atas terbentuk, buka lebih banyak; apabila landasan bawah berikutnya terbentuk, tutup.
Menggabungkan kelebihan kedua-dua strategi menjadikan keputusan perdagangan lebih stabil dan boleh dipercayai
Strategi titik-titik pusat dapat menentukan titik-titik perubahan, minimum dua kali rata-rata bergerak penapis pecah palsu, mengurangkan risiko perdagangan
Hanya berkeras, sesuai dengan jangkaan kebanyakan orang.
Strategi yang ringkas, jelas, mudah difahami dan dioptimumkan
Frekuensi dagangan sederhana, sesuai untuk operasi talian panjang sederhana
Tidak dapat memanfaatkan peluang penurunan harga yang pantas
Terdapat beberapa kelewatan, mungkin kehilangan sebahagian daripada peluang untuk mendapatkan wang.
Jika anda menukar, anda akan mengalami kerugian yang lebih besar.
Penyelesaian:
Mempercepatkan pengiraan untuk mengurangkan kelewatan
Menyesuaikan parameter purata bergerak untuk mengoptimumkan penyertaan
Meningkatkan strategi penangguhan kerugian dan mengurangkan kerugian tunggal
Menambah keakuratannya dengan menggabungkan pelbagai indikator trend
Meningkatkan hasil ramalan model pembelajaran mesin untuk membimbing keputusan
Gabungan Indeks Volatiliti untuk Mengendalikan Saiz Kedudukan
Optimumkan parameter untuk meningkatkan peluang strategi
Uji data kitaran masa yang lebih lama untuk mengesahkan kestabilan
Strategi ini mengintegrasikan kelebihan strategi pembalikan titik pivot dan strategi minimum dua kali ganda bergerak, mengawal risiko semasa menilai trend pembalikan, dan merupakan strategi yang mantap. Strukturnya mudah, mudah difahami dan diuji, sangat sesuai untuk pembelajaran dan amalan pemula perdagangan kuantitatif. Tetapi strategi ini hanya melakukan lebih banyak, tidak dapat memanfaatkan pergerakan menurun untuk keuntungan, yang merupakan batasan utamanya. Dengan memperkenalkan lebih banyak petunjuk dan kaedah pembelajaran mesin, pengoptimuman dapat meningkatkan lagi kestabilan dan kemampuan pengesanan strategi ini, sehingga dapat memperoleh prestasi yang lebih baik.
/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//@author exlux99
strategy(title = "Pivot Reversal Upgraded long only", overlay = true, pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1)
/////////////
//time
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2031, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
//
length = input(title="Length MA", type=input.integer, defval=20)
offset = 0//input(title="Offset", type=input.integer, defval=0)
src = input(close, title="Source")
lsma = linreg(src, length, offset)
//LSMA
leftBars = input(3)
rightBars = input(16)
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond and time_cond? true : (le[1] and high > hprice ? false : le[1])
//leverage
multiplier=input(1.0, step=0.5)
g(v, p) => round(v * (pow(10, p))) / pow(10, p)
risk = input(100)
leverage = input(1.0, step = 0.5)
c = g((strategy.equity * leverage / open) * (risk / 100), 4)
//entry
strategy.entry("long", strategy.long,c, when=le and close > lsma, comment="long", stop=(hprice + syminfo.mintick) * multiplier)
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])
strategy.close("long", when=se)