Strategi Pemecahan Rangka Berbilang Masa


Tarikh penciptaan: 2023-12-29 16:17:56 Akhirnya diubah suai: 2023-12-29 16:18:22
Salin: 0 Bilangan klik: 632
1
fokus pada
1621
Pengikut

Strategi Pemecahan Rangka Berbilang Masa

Gambaran keseluruhan

Strategi pemecahan pelbagai bingkai masa menghasilkan isyarat perdagangan yang lebih dipercayai dengan menggunakan gabungan isyarat pemecahan harga pada dua bingkai masa yang berbeza. Strategi ini mengira isyarat pemecahan harga pada bingkai masa yang lebih lama, seperti 1 jam, 2 jam, 3 jam dan 4 jam, garis matahari. Isyarat pembelian atau penjualan dihasilkan apabila isyarat pada kedua-dua bingkai masa diselaraskan, dan perdagangan dilakukan di arah yang sesuai.

Prinsip Strategi

Logik teras strategi ini adalah dengan mengira isyarat penembusan harga secara berasingan pada dua bingkai masa yang berbeza, dan kemudian melakukan penapisan yang sepadan. Secara khusus, strategi ini akan mengira sama ada harga telah menembusi tahap yang ditetapkan pada bingkai masa yang lebih pendek (seperti garis 1 jam) dan pada bingkai masa yang lebih lama (seperti garis 4 jam).

Sinyal beli dihasilkan apabila harga penutupan atau harga terendah pada jangka masa pendek dan jangka masa panjang telah melampaui tahap harga yang sesuai. Sinyal jual dihasilkan apabila harga penutupan atau harga tertinggi pada jangka masa pendek dan jangka masa panjang telah melampaui tahap harga yang sesuai.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah kebolehpercayaan isyarat dagangan yang tinggi. Dengan meminta harga untuk menembusi tahap yang sesuai pada kedua-dua bingkai masa, ia dapat menghapuskan sebahagian daripada kebisingan dan mengelakkan perdagangan yang salah. Selain itu, isyarat penembusan pada bingkai masa yang berbeza dapat diverifikasi antara satu sama lain, menjadikan peluang perdagangan lebih berkesan.

Analisis risiko

Risiko utama strategi ini adalah bahawa dalam tempoh Zeit ketika pasaran tenang, harga pada kedua-dua bingkai masa tidak akan mengalami peningkatan. Pada masa ini, strategi tidak akan menghasilkan sebarang isyarat perdagangan dan mungkin kehilangan peluang perdagangan. Di samping itu, terdapat beberapa lag antara kedua-dua bingkai masa yang boleh menyebabkan isyarat tidak efisien.

Arah pengoptimuman

Strategi ini dapat dioptimumkan dalam beberapa aspek: 1) menambah logik stop-loss untuk mengawal risiko; 2) mengoptimumkan kombinasi jangka masa untuk meningkatkan kecekapan perdagangan; 3) menambah lebih banyak kerangka masa untuk kombinasi, menjadikan isyarat perdagangan lebih ketat; 4) penapisan dalam kombinasi dengan petunjuk lain, meningkatkan kualiti isyarat; 5) membangunkan mekanisme Exiting untuk mengawal keuntungan dengan lebih baik.

ringkaskan

Strategi penembusan pelbagai bingkai masa meningkatkan kualiti isyarat dengan membandingkan penembusan harga pada dua bingkai masa. Strategi ini adalah strategi pengesanan trend yang lebih dipercayai. Tetapi terdapat beberapa kelemahan yang dapat dioptimumkan secara berterusan untuk menjadikannya strategi perdagangan kuantitatif yang stabil dan boleh dipercayai.

Kod sumber strategi
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Levels Strategy v1.1", shorttitle = "Levels str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf1 = input('W', title = "timeframe 1")
tf2 = input('D', title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "use saw filter")
cf = input(true, defval = true, title = "гыу color filter")
showlines = input(true, defval = true, title = "Show lines")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
level1 = request.security(syminfo.tickerid, tf1, src)
level2 = request.security(syminfo.tickerid, tf2, src)
col = showlines ? silver : na
p1 = plot(level1, linewidth = 3, color = col, title = "Level 1")
p2 = plot(level2, linewidth = 3, color = col, title = "Level 2")

//Signals
up1 = close > level1 and ap == false ? true : low > level1 ? true : false
dn1 = close < level1 and ap == false ? true : high < level1 ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]

if up1 and up2 and (close < open or cf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if dn1 and dn2 and (close > open or cf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()