Golden Bollinger Band Gap Reversion System

Penulis:ChaoZhang, Tarikh: 2024-02-01 11:46:13
Tag:

img

Ringkasan

Ini adalah sistem perdagangan jurang forex berdasarkan Bollinger Bands. Ia sesuai untuk pasangan mata wang utama, dengan komisen terendah yang mungkin (di bawah 1 pip) dan jangka masa antara 1-15 minit.

Logika Strategi

Sistem ini menggunakan Bollinger Bands, RSI dan indikator ADX untuk mengenal pasti peluang perdagangan.

Bollinger Bands digunakan untuk mengenal pasti penembusan harga. Pergi panjang apabila harga pecah di atas band atas, pergi pendek apabila harga pecah di bawah band bawah. RSI digunakan untuk mengelakkan penembusan palsu. Penembusan dianggap sah hanya apabila RSI terbalik (jatuh dari zon overbought atau meningkat dari zon oversold). ADX digunakan untuk menapis pasaran tanpa trend yang jelas, hanya mengambil dagangan apabila ADX di bawah 32.

Peraturan kemasukan khusus adalah: Masuk panjang memerlukan harga pecah di atas jalur atas, RSI meningkat dari zon oversold dan melintasi garis 30, ADX di bawah 32 pada masa yang sama. Masuk pendek memerlukan harga pecah di bawah jalur bawah, RSI jatuh dari zon overbought dan melintasi garis 70, ADX di bawah 32 pada masa yang sama.

Peraturan keluar termasuk mengambil keuntungan / berhenti kerugian dan pembalikan garis tengah. iaitu: Tetapkan titik mengambil keuntungan / berhenti kerugian tetap. Tutup kedudukan apabila harga kembali ke garis tengah Bollinger.

Analisis Kelebihan

Sistem ini mempunyai kelebihan berikut:

  1. Menggunakan Bollinger Bands untuk menangkap peluang perdagangan jurang, yang mempunyai potensi keuntungan yang besar.

  2. Menggabungkan penunjuk RSI untuk mengelakkan pecah palsu dan meningkatkan kebarangkalian keuntungan.

  3. Menggunakan penunjuk ADX untuk menapis pasaran tanpa trend yang jelas, mengelakkan perdagangan yang tidak perlu.

  4. Penutupan pada garis tengah pembalikan kunci dalam kebanyakan keuntungan dan mengelakkan retracement keuntungan.

  5. Sesuai untuk perdagangan leverage tinggi, keuntungan boleh diperkuat dengan cepat.

Analisis Risiko

Terdapat juga beberapa risiko:

  1. Tidak ada keuntungan jika tidak ada kesenjangan.

  2. Risiko overfit backtest. Hasil hidup mungkin berbeza dari backtest.

  3. Tempoh trend yang tidak mencukupi. Whipsaws boleh menyebabkan kerugian.

  4. Leverage tinggi meningkatkan risiko.

  5. Sekatan masa dagangan boleh menyebabkan perdagangan yang hilang.

Arahan pengoptimuman

Sistem ini boleh diperbaiki dari aspek berikut:

  1. Mengoptimumkan parameter untuk meningkatkan keberkesanan penunjuk, contohnya tempoh Bollinger, tetapan RSI dll.

  2. Menambah atau meningkatkan penapis untuk meningkatkan peratusan perdagangan yang menang, contohnya menggabungkan lebih banyak penunjuk atau asas.

  3. Mengoptimumkan strategi mengambil keuntungan untuk memaksimumkan keuntungan setiap perdagangan, sebagai contoh, penangguhan stop loss, ATR berasaskan stop loss dan lain-lain.

  4. Menentukan tahap leverage yang sesuai secara automatik untuk memaksimumkan pulangan yang diharapkan.

  5. Gunakan teknik pembelajaran mesin untuk mencari parameter optimum secara automatik dan bukannya pengulangan manual.

Kesimpulan

Golden Bollinger Band Gap Reversion System adalah sistem pecah jangka pendek yang tipikal. Ia bertujuan untuk menangkap keuntungan dari jurang harga. Pelbagai penapis digunakan untuk meningkatkan kualiti isyarat. Ia menunjukkan keuntungan yang baik dalam backtests. Tetapi prestasi langsung masih belum disahkan, dengan kecairan dan hasil yang memberi kesan pada slippage. Secara keseluruhan ini adalah strategi perdagangan jangka pendek yang menjanjikan, bernilai ujian langsung dan pengoptimuman.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("Bollinger Bands, RSI and ADX Trading System", overlay=true)


timeinrange(res, sess) => time(res, sess) != 0


timer = color.red


//bgcolor(timeinrange(timeframe.period, "0300-0600") or timeinrange(timeframe.period, "0900-1300") or timeinrange(timeframe.period, "2030-2300") ? timer : na, transp=70)


//RSI
length = input( 20 )
overSold = input( 35 )
overBought = input( 65 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
//if (not na(vrsi))


//BB
lengthB = input(60, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthB)
dev = mult * stdev(src, lengthB)
upper = basis + dev
lower = basis - dev


//adx
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)

longEntry = close < upper and crossover(vrsi,overSold) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))

shortEntry = close > upper and crossunder(vrsi,overBought) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))


tp=input(90, step=10)
sl=input(90, step=10)

strategy.entry("long",1,when=longEntry)
strategy.exit("X_long", "long", profit=tp,  loss=sl )
strategy.close("long",when=crossunder(close,basis))

strategy.entry('short',0,when=shortEntry)
strategy.exit("x_short", "short",profit=tp, loss=sl)
strategy.close("short",when=crossover(close,basis))







Lebih lanjut