Ini adalah strategi dagangan kuantitatif yang hanya panjang yang menggabungkan kelebihan pembalikan titik pivot dan strategi purata bergerak paling rendah. Ia mengikuti trend utama semasa pasaran lembu dan menentukan isyarat pembalikan selepas memerhatikan rel atas titik pivot untuk pergi panjang. Pada masa yang sama, ia memerlukan harga penutupan berada di atas Purata Bergerak Berkuadrat Kecil sebelum membuka kedudukan panjang untuk menjadikan strategi lebih stabil.
Strategi ini mengintegrasikan strategi pembalikan titik pusingan dan purata bergerak paling rendah. Strategi pembalikan titik pusingan mengira harga tertinggi dan terendah dalam beberapa hari dagangan untuk mendapatkan rel atas dan bawah. Apabila harga menembusi rel atas, ia dinilai sebagai isyarat pembalikan.
Secara khusus, strategi ini mula-mula mengira harga tertinggi dari 3 bar terakhir dan harga terendah dari 16 bar terakhir untuk mendapatkan rel titik pusingan atas dan bawah. Ia pergi lama apabila rel atas terbentuk. Apabila rel bawah seterusnya terbentuk, ia menutup kedudukan. Pada masa yang sama, ia memerlukan harga penutupan lebih tinggi daripada Purata Bergerak Kuadrat Minimum 20 hari sebelum membuka kedudukan panjang.
Menggabungkan kekuatan dua strategi untuk keputusan perdagangan yang lebih stabil dan boleh dipercayai
Strategi titik pusingan menilai titik pembalikan, sementara LSMA menapis pecah palsu, mengurangkan risiko perdagangan
Hanya berlangsung lama, selaras dengan kebanyakan orang'Psikologi jangkaan
Logik strategi yang mudah dan jelas, mudah difahami dan dioptimumkan
Frekuensi dagangan sederhana, sesuai untuk operasi jangka sederhana hingga panjang
Tidak dapat merebut peluang dalam kemerosotan pesat
Terdapat kelewatan tertentu, mungkin terlepas beberapa peluang naik
Kerugian yang lebih besar apabila trend pasaran berbalik
Penyelesaian:
Memendekkan kitaran pengiraan untuk mengurangkan kelewatan
Sesuaikan parameter MA untuk mengoptimumkan penyertaan
Tambah stop loss untuk mengurangkan kerugian tunggal
Tambah beberapa penunjuk trend untuk meningkatkan ketepatan
Menggabungkan ramalan pembelajaran mesin untuk membimbing keputusan
Menggabungkan penunjuk turun naik untuk mengawal saiz kedudukan
Mengoptimumkan parameter untuk meningkatkan kadar kemenangan
Uji data jangka masa yang lebih lama untuk mengesahkan kestabilan
Strategi ini mengintegrasikan kekuatan pembalikan titik pusingan dan strategi LSMA untuk mengawal risiko semasa menilai pembalikan trend. Dengan struktur yang mudah untuk mudah difahami dan diuji, ia sangat sesuai untuk pemula belajar dan berlatih. Tetapi pendekatannya yang panjang hanya menghalang keuntungan dari penurunan pasaran, satu batasan utama. Penambahbaikan lanjut dalam kestabilan dan keupayaan penjejakan dapat dicapai dengan memperkenalkan lebih banyak penunjuk dan pengoptimuman pembelajaran mesin untuk 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)