Pivot Reversal Dipertingkatkan Hanya Lama - Strategi Momentum Berganda

Penulis:ChaoZhang, Tarikh: 2023-12-25 17:47:11
Tag:

img

Ringkasan

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.

Logika Strategi

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.

Kelebihan

  1. Menggabungkan kekuatan dua strategi untuk keputusan perdagangan yang lebih stabil dan boleh dipercayai

  2. Strategi titik pusingan menilai titik pembalikan, sementara LSMA menapis pecah palsu, mengurangkan risiko perdagangan

  3. Hanya berlangsung lama, selaras dengan kebanyakan orang'Psikologi jangkaan

  4. Logik strategi yang mudah dan jelas, mudah difahami dan dioptimumkan

  5. Frekuensi dagangan sederhana, sesuai untuk operasi jangka sederhana hingga panjang

Analisis Risiko

  1. Tidak dapat merebut peluang dalam kemerosotan pesat

  2. Terdapat kelewatan tertentu, mungkin terlepas beberapa peluang naik

  3. Kerugian yang lebih besar apabila trend pasaran berbalik

Penyelesaian:

  1. Memendekkan kitaran pengiraan untuk mengurangkan kelewatan

  2. Sesuaikan parameter MA untuk mengoptimumkan penyertaan

  3. Tambah stop loss untuk mengurangkan kerugian tunggal

Arahan pengoptimuman

  1. Tambah beberapa penunjuk trend untuk meningkatkan ketepatan

  2. Menggabungkan ramalan pembelajaran mesin untuk membimbing keputusan

  3. Menggabungkan penunjuk turun naik untuk mengawal saiz kedudukan

  4. Mengoptimumkan parameter untuk meningkatkan kadar kemenangan

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

Ringkasan

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)




Lebih lanjut