Strategi Keseimbangan Jangka Panjang-Pendek Berdasarkan Titik Pivot dan Rata-rata Pergerakan Kuadrat Terkecil


Tanggal Pembuatan: 2023-12-25 17:47:11 Akhirnya memodifikasi: 2023-12-25 17:47:11
menyalin: 0 Jumlah klik: 597
1
fokus pada
1623
Pengikut

Strategi Keseimbangan Jangka Panjang-Pendek Berdasarkan Titik Pivot dan Rata-rata Pergerakan Kuadrat Terkecil

Ringkasan

Ini adalah strategi perdagangan kuantitatif multi-headed yang menggabungkan keunggulan strategi pivot reversal dan minimal dua kali bergerak rata-rata. Strategi ini mengikuti tren utama di pasar bullish, dan menilai sinyal reversal setelah mengamati pivot yang terbentuk di atas rel. Pada saat yang sama, ia meminta harga close out di atas minimal dua kali bergerak rata-rata untuk membuka posisi lebih banyak, membuat strategi lebih stabil.

Prinsip Strategi

Strategi ini menggabungkan strategi pivot point reversal dan strategi minimal dua kali rata-rata bergerak. Strategi pivot point reversal menghitung harga tertinggi dan terendah pada hari perdagangan tertentu yang lalu, dan mendapatkan uptrend dan downtrend. Ketika harga menembus uptrend, pertimbangannya adalah sinyal reversal.

Secara khusus, strategi ini pertama-tama menghitung harga tertinggi dari 3 garis K terakhir dan harga terendah dari 16 garis K terakhir, untuk mendapatkan titik sumbu atas dan bawah. Ketika jalur atas terbentuk, buka lebih banyak; ketika jalur bawah berikutnya terbentuk, tutup. Pada saat yang sama, ia meminta harga penutupan lebih tinggi dari rata-rata bergerak minimal dua kali 20 hari untuk membuka posisi.

Keunggulan Strategis

  1. Menggabungkan keunggulan dari kedua strategi ini membuat keputusan trading lebih stabil dan dapat diandalkan

  2. Strategi pivot point dapat menentukan titik balik, minimal dua kali rata-rata bergerak memfilter kebocoran palsu, mengurangi risiko perdagangan

  3. Hanya melakukan hal-hal yang sesuai dengan harapan sebagian besar orang.

  4. Strategi yang sederhana dan jelas, mudah dipahami dan dioptimalkan

  5. Frekuensi perdagangan sedang, cocok untuk operasi jangka panjang menengah

Analisis risiko

  1. Tidak dapat memanfaatkan peluang penurunan pasar yang cepat

  2. Ada beberapa keterlambatan, mungkin kehilangan beberapa kesempatan untuk mendapatkan uang

  3. “Kalau Anda bertransformasi, Anda akan mengalami kerugian lebih besar”.

Solusi:

  1. Mempersingkat siklus perhitungan dengan tepat untuk mengurangi keterlambatan

  2. Menyesuaikan parameter moving average untuk mengoptimalkan partisipasi

  3. Meningkatkan strategi stop loss dan mengurangi kerugian tunggal

Arah optimasi

  1. Menambahkan berbagai kombinasi indikator tren untuk meningkatkan akurasi penilaian

  2. Meningkatkan Prediksi Model Pembelajaran Mesin untuk Memandu Keputusan

  3. Kombinasi dengan indikator volatilitas untuk mengontrol ukuran posisi

  4. Optimalkan parameter untuk meningkatkan peluang strategi

  5. Uji data siklus waktu yang lebih lama untuk memverifikasi stabilitas

Meringkaskan

Strategi ini mengintegrasikan keunggulan strategi pivot reversal dan strategi minimal dua kali lipat moving average, mengendalikan risiko sambil menilai trend reversal, merupakan strategi yang solid. Strukturnya sederhana, mudah dipahami dan diuji, sangat cocok untuk belajar dan berlatih pemula perdagangan kuantitatif. Namun, strategi ini hanya melakukan lebih banyak dan tidak dapat memanfaatkan tren turun untuk mendapatkan keuntungan, ini adalah keterbatasan utamanya.

Kode Sumber Strategi
/*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)