Strategi Imbangan Panjang-Pendek Berdasarkan Titik Pangsi dan Purata Pergerakan Kuasa Dua Terkecil


Tarikh penciptaan: 2023-12-25 17:47:11 Akhirnya diubah suai: 2023-12-25 17:47:11
Salin: 0 Bilangan klik: 597
1
fokus pada
1623
Pengikut

Strategi Imbangan Panjang-Pendek Berdasarkan Titik Pangsi dan Purata Pergerakan Kuasa Dua Terkecil

Gambaran keseluruhan

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.

Prinsip Strategi

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.

Kelebihan Strategik

  1. Menggabungkan kelebihan kedua-dua strategi menjadikan keputusan perdagangan lebih stabil dan boleh dipercayai

  2. Strategi titik-titik pusat dapat menentukan titik-titik perubahan, minimum dua kali rata-rata bergerak penapis pecah palsu, mengurangkan risiko perdagangan

  3. Hanya berkeras, sesuai dengan jangkaan kebanyakan orang.

  4. Strategi yang ringkas, jelas, mudah difahami dan dioptimumkan

  5. Frekuensi dagangan sederhana, sesuai untuk operasi talian panjang sederhana

Analisis risiko

  1. Tidak dapat memanfaatkan peluang penurunan harga yang pantas

  2. Terdapat beberapa kelewatan, mungkin kehilangan sebahagian daripada peluang untuk mendapatkan wang.

  3. Jika anda menukar, anda akan mengalami kerugian yang lebih besar.

Penyelesaian:

  1. Mempercepatkan pengiraan untuk mengurangkan kelewatan

  2. Menyesuaikan parameter purata bergerak untuk mengoptimumkan penyertaan

  3. Meningkatkan strategi penangguhan kerugian dan mengurangkan kerugian tunggal

Arah pengoptimuman

  1. Menambah keakuratannya dengan menggabungkan pelbagai indikator trend

  2. Meningkatkan hasil ramalan model pembelajaran mesin untuk membimbing keputusan

  3. Gabungan Indeks Volatiliti untuk Mengendalikan Saiz Kedudukan

  4. Optimumkan parameter untuk meningkatkan peluang strategi

  5. Uji data kitaran masa yang lebih lama untuk mengesahkan kestabilan

ringkaskan

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.

Kod 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)