Golden Bollinger Band Gap Reversion System (Sistem Reversi Gap Bollinger Band Emas)

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

img

Gambaran umum

Ini adalah sistem perdagangan gap forex berdasarkan Bollinger Bands. Ini cocok untuk pasangan mata uang utama, dengan komisi terendah yang mungkin (di bawah 1 pip) dan kerangka waktu mulai dari 1-15 menit.

Logika Strategi

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

Bollinger Bands digunakan untuk mengidentifikasi price breakout. Go long ketika harga pecah di atas band atas, pergi short ketika harga pecah di bawah band bawah. RSI digunakan untuk menghindari false breakout. Breakout dianggap valid hanya ketika RSI terbalik (jatuh dari zona overbought atau naik dari zona oversold). ADX digunakan untuk menyaring pasar tanpa tren yang jelas, hanya mengambil perdagangan ketika ADX di bawah 32.

Aturan masuk yang spesifik adalah: masuk panjang membutuhkan harga pecah di atas band atas, RSI naik dari zona oversold dan melintasi garis 30, ADX di bawah 32 pada saat yang sama. masuk pendek membutuhkan harga pecah di bawah band bawah, RSI jatuh dari zona overbought dan melintasi garis 70, ADX di bawah 32 pada saat yang sama.

Aturan keluar termasuk mengambil keuntungan / stop loss dan reversi garis tengah. yaitu: Tetapkan titik profit / stop loss tetap. Tutup posisi ketika harga kembali ke garis tengah Bollinger.

Analisis Keuntungan

Sistem ini memiliki keuntungan berikut:

  1. Menggunakan Bollinger Bands untuk menangkap peluang perdagangan gap, yang memiliki potensi keuntungan yang besar.

  2. Mengkombinasikan indikator RSI untuk menghindari kebocoran palsu dan meningkatkan probabilitas keuntungan.

  3. Menggunakan indikator ADX untuk menyaring pasar tanpa tren yang jelas, menghindari perdagangan yang tidak perlu.

  4. Penutupan pada reversi garis tengah mengunci sebagian besar keuntungan dan menghindari retracement keuntungan.

  5. Cocok untuk perdagangan leverage tinggi, keuntungan dapat diperkuat dengan cepat.

Analisis Risiko

Ada juga beberapa risiko:

  1. Tidak ada keuntungan jika tidak ada gap yang ditangkap.

  2. Risiko overfit backtest. hasil hidup mungkin berbeda dari backtest.

  3. Durasi tren yang tidak cukup. Whipsaws dapat menyebabkan kerugian.

  4. Leverage tinggi memperkuat risiko.

  5. Pembatasan waktu perdagangan dapat menyebabkan perdagangan yang hilang.

Arahan Optimasi

Sistem ini dapat ditingkatkan dari aspek berikut:

  1. Mengoptimalkan parameter untuk meningkatkan efektivitas indikator, misalnya periode Bollinger, pengaturan RSI dll.

  2. Tambahkan atau perbaiki filter untuk meningkatkan persentase perdagangan yang menang, misalnya menggabungkan lebih banyak indikator atau fundamental.

  3. Mengoptimalkan strategi pengambilan keuntungan untuk memaksimalkan keuntungan per perdagangan, misalnya trailing stop loss, stop loss berbasis ATR dll.

  4. Secara otomatis menentukan tingkat leverage yang tepat untuk memaksimalkan pengembalian yang diharapkan.

  5. Menggunakan teknik pembelajaran mesin untuk menemukan parameter optimal secara otomatis daripada iterasi manual.

Kesimpulan

Golden Bollinger Band Gap Reversion System adalah sistem breakout jangka pendek yang khas. Ini bertujuan untuk menangkap keuntungan dari kesenjangan harga. Beberapa filter digunakan untuk meningkatkan kualitas sinyal. Ini menunjukkan profitabilitas yang baik dalam backtest.


/*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 banyak