Strategi Perdagangan Bollinger Bands Wei


Tanggal Pembuatan: 2023-09-13 13:55:24 Akhirnya memodifikasi: 2023-09-13 13:55:24
menyalin: 2 Jumlah klik: 942
1
fokus pada
1617
Pengikut

Strategi ini menggabungkan indikator gelombang Weiss dan indikator Bollinger Bands untuk menentukan arah tren pasar, dan melakukan perdagangan terobosan di titik-titik SUPPORT penting.

Prinsip-prinsip Strategi:

  1. Perhitungan gelombang Weiss untuk menentukan tren harga melalui pola pilar.

  2. Kalkulasi Brin naik ke bawah dan masuk ke dalam lapangan saat harga menembus orbit.

  3. Pada saat gelombang Weiss menunjukkan tren multi-head, harga akan melakukan lebih banyak ketika Bollinger Bands naik ke jalur.

  4. Ketika gelombang Weiss menunjukkan tren terbalik, harga terbalik ketika Bollinger Bands turun.

  5. Pada saat terjadi reversal, set stop loss untuk keluar dari posisi dalam lapangan.

Keuntungan dari strategi ini:

  1. Indikator Wave Weiss sangat efektif dalam menentukan arah tren utama.

  2. Brin dapat menemukan titik resistensi SUPPORT yang penting.

  3. Menggunakan kombinasi indikator dapat meningkatkan akurasi penilaian.

Bahaya dari strategi ini:

  1. Waves of Weiss dan Brin memiliki masalah keterlambatan dan tidak memiliki tempat yang bagus untuk masuk.

  2. Penembusan transaksi mudah diblokir dan memerlukan perlindungan stop loss.

  3. Di tengah gempa bumi, sulit untuk menemukan tren yang terus berlanjut dan titik-titik yang jelas.

Kesimpulannya, strategi ini menggabungkan gelombang Weiss dan Brin untuk menilai arah tren, melakukan perdagangan yang terobosan di titik-titik penting. Ini dapat meningkatkan akurasi sampai batas tertentu, tetapi perlu waspada terhadap masalah pasar yang tertinggal dan bergoyang.

Kode Sumber Strategi
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 1h
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/
// © sharatgbhat

//@version=4
// strategy("Weis BB Strategy", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 10,max_lines_count = 500, max_labels_count = 500)
maxIdLossPcnt = input(1, "Max Intraday Loss(%)", type=input.float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

method = input(defval="ATR", options=["ATR", "Traditional", "Part of Price"], title="Renko Assignment Method")
methodvalue = input(defval=14.0, type=input.float, minval=0, title="Value")
pricesource = input(defval="Close", options=["Close", "Open / Close", "High / Low"], title="Price Source")
useClose = pricesource == "Close"
useOpenClose = pricesource == "Open / Close" or useClose
useTrueRange = input(defval="Auto", options=["Always", "Auto", "Never"], title="Use True Range instead of Volume")
isOscillating = input(defval=false, type=input.bool, title="Oscillating")
normalize = input(defval=false, type=input.bool, title="Normalize")
vol = useTrueRange == "Always" or useTrueRange == "Auto" and na(volume) ? tr : volume
op = useClose ? close : open
hi = useOpenClose ? close >= op ? close : op : high
lo = useOpenClose ? close <= op ? close : op : low

if method == "ATR"
    methodvalue := atr(round(methodvalue))
if method == "Part of Price"
    methodvalue := close / methodvalue

currclose = float(na)
prevclose = nz(currclose[1])
prevhigh = prevclose + methodvalue
prevlow = prevclose - methodvalue
currclose := hi > prevhigh ? hi : lo < prevlow ? lo : prevclose

direction = int(na)
direction := currclose > prevclose ? 1 : currclose < prevclose ? -1 : nz(direction[1])
directionHasChanged = change(direction) != 0
directionIsUp = direction > 0
directionIsDown = direction < 0

barcount = 1
barcount := not directionHasChanged and normalize ? barcount[1] + barcount : barcount
vol := not directionHasChanged ? vol[1] + vol : vol
res = barcount > 1 ? vol / barcount : vol

plot(isOscillating and directionIsDown ? -res : res, style=plot.style_columns, color=directionIsUp ? color.green : color.red, transp=75, linewidth=3, title="Wave Volume")

length = input(14, minval=1)
src = input(close, title="Source")
mult = input(2, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

MomentumBull = close>upper
MomentumBear = close<lower

if (MomentumBull and directionIsUp)
	strategy.entry("Buy", strategy.long)
if (MomentumBear and directionIsDown)
	strategy.entry("Sell", strategy.short)
    strategy.exit("exit","Buy",when=directionIsDown,qty_percent=100,profit=20,loss=10)
    strategy.exit("exit","Sell",when=directionIsUp,qty_percent=100,profit=20,loss=10)