Momentum Breakout Trading Strategi

Penulis:ChaoZhang, Tanggal: 2023-09-18 21:28:22
Tag:

Pengamatan

Strategi ini menggunakan indikator momentum Brin untuk melakukan perdagangan break-even, terutama untuk menentukan apakah harga akan keluar dari jalur Brin dan mengirimkan sinyal jual beli.

Prinsip

Strategi ini terutama didasarkan pada arah penentuan tren indikator Brin. Brin adalah daerah berbentuk pita yang terdiri dari rata-rata bergerak dan standar deviasinya. Brin adalah garis tengah dari n hari rata-rata bergerak, naik adalah + 2 kali standar deviasi dari garis tengah, turun adalah + 2 kali standar deviasi dari garis tengah.

Secara khusus, strategi pertama menghitung harga tertinggi dan harga terendah dalam waktu n hari, dan menghitung harga tengah (((harga tertinggi + harga terendah) / 2)); kemudian menghitung harga penutupan dan jarak antara harga tengah dengan rata-rata pergerakan tertimbang yang membentuk garis tengah pita Brin, dan setiap garis tengah ditambahkan dua kali perbedaan standar yang membentuk jalur bawah.

Jika harga penutupan menembus lintasan, menunjukkan tren naik; jika menembus lintasan bawah, menunjukkan tren turun; melakukan lebih banyak saat menembus lintasan, kosong saat menembus lintasan bawah.

Selain itu, strategi ini juga memperkenalkan reverse open positioning. Ketika harga menembus jalur Brin, jika MACD menurun, maka akan dilakukan operasi reverse market untuk melakukan null.

Keunggulan

  1. Dengan menggunakan tali pinggang untuk menentukan arah tren, memiliki kemampuan untuk melacak tren tertentu.

  2. Di sisi lain, mereka juga tidak bisa melakukan hal yang sama.

  3. Parameter seperti siklus tali pinggang, standar deviasi, dan lain-lain dapat disesuaikan untuk transaksi yang berbeda.

  4. Jika Anda ingin melakukan trading di pasar forex, Anda harus menggunakan metode ini.

Risiko dan tindakan

  1. Blink band sering digunakan untuk saham yang berfluktuasi tinggi dan mungkin tidak cocok untuk varietas seperti sumber daya atau indeks jangka panjang; efek dari parameter siklus yang berbeda dapat diuji.

  2. Sinyal terobosan dapat menimbulkan terobosan palsu; sinyal dapat disaring dengan faktor lain.

  3. Posisi terbalik dapat memperluas kerugian lebih lanjut. Posisi terbalik dapat ditutup.

  4. Pengunduran diri mungkin lebih besar. Ukuran posisi dapat disesuaikan sesuai.

Optimasi arah

  1. Anda dapat mempertimbangkan untuk menambahkan penyaringan tren untuk menghindari pasar yang bergolak dengan arah yang tidak jelas.

  2. Anda dapat menguji faktor standar deviasi pita Brin untuk mencari parameter yang lebih cocok.

  3. Jika Anda tidak memiliki uang tunai, Anda tidak akan dapat membayar uang tunai yang Anda miliki.

  4. Logika pembukaan dan penambahan posisi dapat dioptimalkan untuk membuat sinyal perdagangan lebih jelas.

Pengamatan

Strategi ini menggunakan indikator dasar Brin untuk menilai tren harga. Strategi pelacakan tren dasar dapat dicapai dengan pengaturan parameter sederhana. Namun, ada risiko penembusan palsu tertentu yang perlu disaring dengan indikator lain.

Gambaran umum

Strategi ini menggunakan indikator momentum Bollinger Bands untuk perdagangan breakout, terutama menilai apakah harga menembus Bollinger Bands atas atau bawah untuk sinyal perdagangan.

Prinsip-prinsip

Strategi ini terutama didasarkan pada indikator Bollinger Bands untuk menentukan arah tren. Bollinger Bands terdiri dari band tengah berdasarkan rata-rata bergerak dan band atas/bawah yang didefinisikan oleh deviasi standar. Band tengah adalah rata-rata bergerak periode n, band atas adalah band tengah + 2 deviasi standar, dan band bawah adalah band tengah - 2 deviasi standar. Ketika harga mendekati band atas, itu menunjukkan kondisi overbought, dan ketika mendekati band bawah, itu menandakan kondisi oversold.

Secara khusus, strategi pertama menghitung tertinggi tertinggi dan terendah terendah selama n periode terakhir, dan harga tengah ((tinggi tertinggi + terendah terendah) / 2). Kemudian menghitung jarak antara harga dekat dan harga tengah, menggunakan rata-rata bergerak eksponensial jarak untuk membentuk band tengah, dan menambahkan / mengurangi 2 kali standar deviasi di atas dan di bawah untuk membentuk band atas dan bawah.

Ketika harga dekat menembus band atas, itu menandakan tren naik; ketika menembus band bawah, itu menandakan tren turun.

Selain itu, strategi ini menggabungkan mekanisme kontra-trend. Ketika harga melanggar band atas tetapi MACD turun, ia akan mengambil posisi short kontra-trend.

Keuntungan

  1. Menggunakan Bollinger Bands untuk menentukan arah tren memberikan kemampuan mengikuti tren tertentu.

  2. Desain kontra-trend memungkinkan keuntungan dari pembalikan.

  3. Parameter yang dapat disesuaikan seperti perkalian periode dan standar deviasi membuatnya dapat disesuaikan dengan cakrawala perdagangan yang berbeda.

  4. Menonaktifkan perdagangan kontra-tren untuk mengurangi risiko.

Risiko dan Pengurangan

  1. Bollinger Bands bekerja paling baik untuk saham volatilitas tinggi, mungkin tidak cocok untuk komoditas atau indeks yang stabil.

  2. Sinyal breakout mungkin memiliki breakout palsu.

  3. Perdagangan kontra-trend dapat meningkatkan kerugian lebih lanjut.

  4. Pengurangan bisa signifikan, bisa menyesuaikan ukuran posisi.

Peluang Peningkatan

  1. Pertimbangkan untuk menambahkan filter tren untuk menghindari whipsaw di pasar non-arah.

  2. Uji kali lipat standar deviasi yang berbeda untuk menemukan parameter optimal.

  3. Menggabungkan stop loss untuk mengendalikan kerugian perdagangan tunggal.

  4. Mengoptimalkan entri dan logika tambahan untuk sinyal perdagangan yang lebih jelas.

Ringkasan

Strategi ini menggunakan Bollinger Bands sebagai indikator utama dan berdagang berdasarkan trend breakout. Dengan parameter sederhana, strategi ini menyediakan kemampuan tren dasar. Namun ada risiko breakout palsu, yang membutuhkan filter tambahan. Parameter, stop loss dan kontrol risiko dapat ditingkatkan. Secara keseluruhan, strategi ini berfungsi sebagai strategi breakout baseline yang wajar.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bands Scalper Strategy v1.6", shorttitle = "Scalper str 1.6", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needbe = input(true, defval = true, title = "Bands Entry")
needct = input(false, defval = false, title = "Counter-trend entry")
bodylen = input(10, defval = 10, minval = 0, maxval = 50, title = "Body length")
trb = input(1, defval = 1, minval = 1, maxval = 5, title = "Trend bars")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
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")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
chd = close > hd
cld = close < ld
uptrend = trb == 1 and chd ? 1 : trb == 2 and chd and chd[1] ? 1 : trb == 3 and chd and chd[1] and chd[2] ? 1 : trb == 4 and chd and chd[1] and chd[2] and chd[3] ? 1 : trb == 5 and chd and chd[1] and chd[2] and chd[3] and chd[4] ? 1 : 0
dntrend = trb == 1 and cld ? 1 : trb == 2 and cld and cld[1] ? 1 : trb == 3 and cld and cld[1] and cld[2] ? 1 : trb == 4 and cld and cld[1] and cld[2] and cld[3] ? 1 : trb == 5 and cld and cld[1] and cld[2] and cld[3] and cld[4] ? 1 : 0
trend = dntrend == 1 and high < center ? -1 : uptrend == 1 and low > center ? 1 : trend[1]

//trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd2, color = colo, linewidth = 1, transp = 0, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, title = "Low band 2")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = ema(body, 30) / 10 * bodylen

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and bar == -1)) ? 1 : 0
dn7 = trend == 1 and ((bar == 1 and bar[1] == 1) or (close > hd and needbe == true)) and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and ((bar == -1 and bar[1] == -1) or (close < ld2 and needbe == true)) and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and bar == 1)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00)
    strategy.close_all()

Lebih banyak