Strategi Breakout Oscillasi Rata-rata Bergerak Ganda

Penulis:ChaoZhang, Tanggal: 2024-01-08 14:43:48
Tag:

img

Gambaran umum

Strategi Breakout Osilasi Rata-rata Bergerak Ganda adalah strategi perdagangan jangka pendek yang memanfaatkan sistem rata-rata bergerak ganda. Strategi ini menghasilkan sinyal perdagangan berdasarkan saluran harga dan Bollinger Band ganda, dibantu oleh indikator RSI cepat untuk menentukan kondisi overbought dan oversold.

Logika Strategi

Strategi Breakout Oscillation Dual Moving Average menggunakan saluran harga 20 periode dan Bollinger Bands sebagai indikator perdagangan utama. Saluran harga terdiri dari rata-rata bergerak harga tertinggi dan terendah, yang mewakili kisaran osilasi harga saat ini. Bollinger Bands dibentuk oleh garis tengah saluran harga dan deviasi standar, yang secara intuitif menggambarkan kisaran fluktuasi harga. Ketika harga mendekati rel atas dan bawah saluran, ini menunjukkan bahwa harga dapat menembus kisaran osilasi dan membentuk tren baru. Pada titik ini, dikombinasikan dengan indikator RSI cepat untuk menilai kondisi overbought atau oversold, arah tren dapat ditentukan dan keputusan perdagangan dapat dibuat.

Secara khusus, ketika RSI cepat berada di bawah 5, itu dianggap zona oversold, dan ketika RSI cepat melebihi 99, itu dianggap zona overbought. Selain itu, faktor-faktor seperti arah entitas K-line dan tinggi baru (rendah) dalam harga juga harus dipertimbangkan untuk menghindari pecah palsu. Ketika kondisi di atas terpenuhi, sinyal beli dan jual dihasilkan.

Keuntungan

Keuntungan terbesar dari strategi Double Moving Average Oscillation Breakout adalah bahwa strategi ini menangkap titik infleksi dari tren harga jangka menengah untuk keuntungan. Dibandingkan dengan rata-rata bergerak tunggal dan saluran, Bollinger Bands ganda lebih secara intuitif mencerminkan fluktuasi harga dan volume. Dan dibandingkan dengan indikator siklus yang lebih lama seperti rata-rata bergerak 20 hari dan 60 hari, strategi ini merespons lebih cepat terhadap perubahan harga dan memiliki tingkat keberhasilan yang lebih tinggi dalam menangkap putaran. Selain itu, menggabungkan indikator RSI cepat dapat secara efektif menyaring breakout palsu. Oleh karena itu, strategi ini dapat memaksimalkan probabilitas keuntungan.

Risiko

Strategi Breakout Dual Moving Average Oscillation memiliki beberapa risiko. Pertama, perdagangan jangka menengah itu sendiri memiliki risiko stop-loss yang lebih tinggi. Dalam tren yang kuat, breakout palsu dapat terjadi beberapa kali pada indikator jangka menengah, menyebabkan berhenti. Kedua, efektivitas indikator RSI cepat dalam menilai zona overbought dan oversold akan dipengaruhi oleh sentimen pasar. Ketika perubahan struktural terjadi di pasar, utilitas indikator tambahan tersebut akan berkurang. Akhirnya, menggabungkan faktor lain seperti harga penutupan, volume dan omset dapat meningkatkan akurasi keputusan.

Pengaturan stop loss adalah untuk menyesuaikan rentang stop loss dengan tepat, melonggarkan titik stop loss dalam tren naik, dan memperketatnya dalam tren turun. Selain itu, pertimbangkan sepenuhnya lebih banyak indikator tambahan untuk menghindari hanya mengandalkan satu atau dua indikator. Ketika efek penilaian menurun, kurangi posisi dengan tepat untuk menghindari risiko.

Arahan Optimasi

Masih ada ruang untuk pengoptimalan lebih lanjut dari strategi Breakout Rata-rata Osilasi Bergerak Ganda. Pertama, pengoptimalan parameter. Lebih banyak parameter siklus dapat diuji untuk menemukan kombinasi parameter optimal. Kedua, pengoptimalan model. Memperkenalkan model pembelajaran mesin untuk menilai area overbought dan oversold dengan lebih akurat. Ketiga, pengoptimalan kerangka waktu. Uji di bawah kerangka waktu yang berbeda seperti harian dan 60 menit secara terpisah untuk menentukan skenario aplikasi terbaik. Keempat, pengoptimalan kondisi. Tambahkan lebih banyak indikator volume dan harga ke sinyal filter, seperti tren ekspansi volume dan indeks DMI.

Kesimpulan

Dual Moving Average Oscillation Breakout Strategy menangkap price breakout jangka menengah dengan membangun sistem band Bollinger ganda, yang merupakan strategi pelacakan tren yang efektif. Strategi ini memiliki tingkat keberhasilan yang tinggi dan respon cepat, dan dapat menghasilkan keuntungan secara efektif. Dengan cara pengoptimalan parameter, pengoptimalan model, pemilihan kerangka waktu dan sarana lainnya, kinerja strategi dapat ditingkatkan lebih lanjut. Strategi ini cocok untuk pedagang kuantitatif berpengalaman untuk melakukan peningkatan kuantitatif dan aplikasi.


/*backtest
start: 2023-01-07 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Strategy v1.4", shorttitle = "NoroBands str 1.4", 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")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use ColorBar")
usecb = input(true, "Use CryptoBottom")
usersi = input(true, "Use RSI")
usemm = input(true, "Use min/max")
needbb = input(false, defval = false, title = "Show Bands")
needbg = input(false, defval = false, title = "Show Background")
needlo = input(false, defval = false, title = "Show Locomotive")
src = close

//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)

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

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

//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 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")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")
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)

//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) and (min < min[1] or usemm == false) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) and (max > max[1] or usemm == false) ? 1 : 0 
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom
//dn2 = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //CryptoBottom
up3 = fastrsi < 5 ? 1 : 0
//dn3 = fastrsi > 99 ? 1 : 0

//Locomotive
uploco = trend == 1 and close < open and min < min[1] and close < center ? 1 : 0
plotarrow(needlo == true and uploco == 1 ? 1 : 0, colorup = black, colordown = black, transp = 0)

longCondition = up == 1 or (up2 == 1 and usecb == true) or (up3 == 1 and usersi == true)
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)

Lebih banyak