Strategi Penarikan Multi Timeframe

Penulis:ChaoZhang, Tanggal: 2023-12-29 16:17:56
Tag:

img

Gambaran umum

Strategi multi timeframe breakout menghasilkan sinyal trading yang lebih andal dengan menggabungkan sinyal price breakout dari dua timeframe yang berbeda. Strategi ini menghitung sinyal price breakout secara bersamaan pada timeframe yang lebih pendek seperti 1 jam, 2 jam, 3 jam, dll. dan timeframe yang lebih lama seperti 4 jam, harian, dll. Ini hanya akan menghasilkan sinyal beli atau jual ketika sinyal dari dua timeframe berada dalam arah yang sama untuk pelaksanaan perdagangan yang sesuai.

Logika Strategi

Logika inti dari strategi ini adalah untuk menghitung sinyal price breakout pada dua kerangka waktu yang berbeda masing-masing dan kemudian mencocokkannya untuk penyaringan. Secara khusus, strategi akan memeriksa apakah harga memecahkan level tertentu pada kerangka waktu yang lebih pendek (misalnya 1 jam) dan juga jika harga memecahkan level yang sesuai pada kerangka waktu yang lebih lama (misalnya 4 jam). Hanya ketika sinyal breakout dari dua kerangka waktu berada di arah yang sama, yaitu harga pada kedua kerangka waktu pecah ke atas atau ke bawah, strategi akan menghasilkan sinyal perdagangan.

Kondisi untuk sinyal beli adalah bahwa harga penutupan atau harga rendah pada kedua kerangka waktu yang lebih pendek dan lebih lama melanggar di atas tingkat harga mereka. Kondisi untuk sinyal jual adalah bahwa harga penutupan atau harga tinggi pada kedua kerangka waktu melanggar di bawah tingkat mereka. Dengan mencocokkan sinyal di seluruh kerangka waktu dengan cara ini, strategi dapat menyaring beberapa sinyal palsu dan membuat sinyal lebih dapat diandalkan.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah keandalan sinyal perdagangan yang lebih tinggi. Dengan membutuhkan price breakout pada level dalam dua kerangka waktu, secara efektif dapat menyaring beberapa kebisingan dan menghindari perdagangan yang buruk. Selain itu, sinyal breakout dari kerangka waktu yang berbeda dapat saling memvalidasi, membuat peluang perdagangan lebih efisien. Selain itu, strategi ini menawarkan beberapa fleksibilitas dengan memungkinkan pengguna memilih kerangka waktu untuk menggabungkan dan sumber data dll sesuai dengan kebutuhan mereka sendiri.

Analisis Risiko

Risiko utama dari strategi ini adalah bahwa selama Zeitgeist pasar yang tenang, harga mungkin tidak pecah pada kedua kerangka waktu. Dalam hal ini, strategi tidak akan menghasilkan sinyal perdagangan dan mungkin kehilangan peluang. Juga, ada beberapa keterlambatan waktu antara kedua kerangka waktu yang dapat menyebabkan sinyal yang tidak efisien. Selain itu, strategi tidak mencakup logika stop loss dan memiliki risiko yang lebih besar.

Arahan Optimasi

Strategi ini dapat dioptimalkan dalam aspek berikut: 1) Tambahkan logika stop loss untuk mengendalikan risiko; 2) Optimalkan kombinasi kerangka waktu untuk meningkatkan efisiensi; 3) Tambahkan lebih banyak kerangka waktu untuk kombinasi untuk membuat sinyal perdagangan lebih ketat; 4) Menggabungkan indikator lain untuk penyaringan untuk meningkatkan kualitas sinyal; 5) Mengembangkan mekanisme keluar untuk mengontrol keuntungan dengan lebih baik, dll.

Kesimpulan

Strategi breakout multi timeframe meningkatkan kualitas sinyal dengan membandingkan price breakout di seluruh timeframe dan merupakan strategi trend yang relatif dapat diandalkan.


/*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()

Lebih banyak