Ini adalah strategi perdagangan kuantitatif yang hanya panjang yang menggabungkan keuntungan dari pembalikan titik pivot dan strategi rata-rata bergerak paling kecil. Ini mengikuti tren utama selama pasar bull dan menentukan sinyal pembalikan setelah mengamati rel atas titik pivot untuk pergi panjang. Pada saat yang sama, ini mengharuskan harga penutupan berada di atas Rata-rata Gerak Berkuadrat Terendah sebelum membuka posisi panjang untuk membuat strategi lebih stabil.
Strategi ini mengintegrasikan strategi pembalikan titik pivot dan rata-rata bergerak paling kecil. Strategi pembalikan titik pivot menghitung harga tertinggi dan terendah selama sejumlah hari perdagangan untuk mendapatkan rel atas dan bawah. Ketika harga menembus rel atas, itu dinilai sebagai sinyal pembalikan.
Secara khusus, strategi ini pertama menghitung harga tertinggi dari 3 bar terakhir dan harga terendah dari 16 bar terakhir untuk mendapatkan rel titik pivot atas dan bawah.
Menggabungkan kekuatan dari dua strategi untuk keputusan perdagangan yang lebih stabil dan andal
Strategi titik pivot menilai titik pembalikan, sementara LSMA menyaring pemasangan palsu, mengurangi risiko perdagangan
Hanya berlangsung lama, sesuai dengan harapan psikologis kebanyakan orang
Logika strategi yang sederhana dan jelas, mudah dipahami dan dioptimalkan
Frekuensi perdagangan moderat, cocok untuk operasi jangka menengah hingga panjang
Tidak mampu menangkap peluang dalam penurunan yang cepat
Ada keterlambatan tertentu, mungkin kehilangan beberapa peluang naik
Kerugian yang lebih besar ketika tren pasar berbalik
Solusi:
Singkatkan siklus perhitungan dengan tepat untuk mengurangi lag
Sesuaikan parameter MA untuk mengoptimalkan partisipasi
Tambahkan stop loss untuk mengurangi kerugian tunggal
Tambahkan beberapa indikator tren untuk meningkatkan akurasi
Mengintegrasikan prediksi pembelajaran mesin untuk memandu keputusan
Menggabungkan indikator volatilitas untuk mengontrol ukuran posisi
Mengoptimalkan parameter untuk meningkatkan tingkat menang
Uji data jangka waktu yang lebih lama untuk memverifikasi stabilitas
Strategi ini mengintegrasikan kekuatan pembalikan titik pivot dan strategi LSMA untuk mengendalikan risiko saat menilai pembalikan tren. Dengan struktur sederhana untuk pemahaman dan pengujian yang mudah, ini sangat cocok untuk pemula yang baru belajar dan berlatih.
/*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)