Strategi terobosan osilasi rata-rata pergerakan ganda


Tanggal Pembuatan: 2024-01-08 14:43:48 Akhirnya memodifikasi: 2024-01-08 15:51:13
menyalin: 0 Jumlah klik: 570
1
fokus pada
1617
Pengikut

Strategi terobosan osilasi rata-rata pergerakan ganda

Ringkasan

Sebuah strategi perdagangan short-line yang menggunakan sistem double-mean-line. Strategi ini didasarkan pada saluran harga dan dua Brin Belt untuk membangun sinyal perdagangan, yang didukung oleh indikator RSI cepat untuk menilai overbought dan oversold, sehingga menghasilkan sinyal masuk dan keluar. Strategi ini dirancang untuk menangkap terobosan dalam tren harga short-line dan menghasilkan keuntungan.

Prinsip Strategi

Strategi penembusan pergerakan berganda menggunakan saluran harga dengan panjang 20 siklus dan Brines sebagai indikator utama. Saluran harga terdiri dari garis rata-rata harga tertinggi dan terendah, yang mewakili zona pergerakan harga saat ini. Saluran Brines terdiri dari sumbu tengah saluran harga dan standar deviasi, dan zona berbinas menggambarkan lebih intuitif tentang lingkup pergerakan harga. Ketika harga mendekati terowongan bawah saluran, ini menunjukkan bahwa harga mungkin akan menembus zona pergerakan berganda, membentuk tren baru.

Secara khusus, ketika RSI cepat di bawah 5 dianggap sebagai zona oversold, dan ketika RSI cepat di atas 99 dianggap sebagai zona overbought. Selain itu, juga harus dikombinasikan dengan arah entitas K-line, inovasi harga tinggi (baru rendah) dan faktor-faktor lainnya untuk menghindari terjadinya terobosan palsu di kepala.

Keunggulan Strategis

Keuntungan terbesar dari strategi penembusan rantai gempa ganda adalah menangkap titik balik dari tren harga rantai pendek tengah dan menghasilkan keuntungan. Dibandingkan dengan rantai gempa tunggal dan saluran, rantai gempa ganda lebih dapat mencerminkan fluktuasi harga dan kapasitas secara intuitif. Dibandingkan dengan indikator periode yang lebih lama, seperti rantai gempa 20 dan 60 hari, rantai gempa ganda bereaksi lebih cepat terhadap perubahan harga dan memiliki tingkat keberhasilan yang lebih tinggi untuk menangkap penembusan. Selain itu, kombinasi dengan indikator RSI cepat dapat secara efektif memfilter penembusan palsu.

Risiko Strategis

Ada beberapa risiko dalam strategi penembusan goyangan rasio rata-rata ganda. Pertama, perdagangan rasio rata-rata sendiri memiliki risiko stop loss yang lebih tinggi. Dalam situasi tren yang kuat, indikator rasio rata-rata dapat mengalami beberapa penembusan palsu kepala yang menyebabkan stop loss. Kedua, efek indikator RSI cepat pada penilaian overbought dan oversold dipengaruhi oleh sentimen pasar.

Solusi yang tepat adalah menyesuaikan stop loss, melonggarkan titik penghentian kerugian di pasar yang naik, memperketat di pasar yang turun. Selain itu, mempertimbangkan lebih banyak indikator tambahan, menghindari ketergantungan tunggal pada satu atau dua indikator.

Arah optimasi strategi

Ada ruang untuk lebih banyak pengoptimalan dalam strategi penembusan gempa dua rata-rata. Pertama, pengoptimalan parameter. Anda dapat menguji lebih banyak parameter siklus untuk menemukan kombinasi parameter yang optimal. Kedua, pengoptimalan model.

Meringkaskan

Strategi ini memiliki tingkat keberhasilan yang tinggi, respon yang cepat, dan dapat menghasilkan keuntungan yang efektif. Dengan cara seperti optimasi parameter, optimasi model, dan pilihan kerangka waktu, kinerja strategi dapat ditingkatkan lebih lanjut. Strategi ini cocok untuk peningkatan kuantitatif dan aplikasi oleh pedagang kuantitatif yang berpengalaman.

Kode Sumber Strategi
/*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)