Strategi ini menggabungkan indikator gelombang Weiss dan indikator Brin untuk menentukan arah trend pasaran, dan melakukan perdagangan pecah pada titik SUPPORT penting. Ia adalah strategi pemecahan trend yang tipikal.
Prinsip-prinsip strategi:
Mengira gelombang Weiss dan menilai trend harga melalui corak pilar.
Brin dikira naik ke bawah dan masuk ke dalam medan apabila harga menembusi orbit.
Apabila gelombang Weiss menunjukkan trend berbilang arah, harga akan melakukan lebih banyak apabila ia menembusi Bollinger Bands.
Apabila gelombang Weiss menunjukkan trend ke atas, harga melepasi Bollinger Bands dan melemahkannya.
Tetapkan stop loss untuk keluar dari kedudukan dalam medan apabila trend berbalik.
Kelebihan strategi ini:
Indeks Gelombang Weiss berkesan untuk menentukan arah trend utama.
Brin dapat menemui titik rintangan SUPPORT yang kritikal.
Penggunaan gabungan indikator dapat meningkatkan ketepatan penilaian.
Risiko strategi ini:
Waves of Weiss dan Brin bermasalah dengan ketinggalan dan tidak mendapat tempat yang baik.
Perdagangan terobosan mudah dirompak dan memerlukan perlindungan dari kerugian.
Dalam kes ini, sukar untuk melihat trend yang berterusan dan titik pecah yang jelas.
Ringkasnya, strategi ini menggabungkan gelombang Weiss dan Brin untuk menilai arah trend, melakukan perdagangan terobosan di titik-titik penting. Ia dapat meningkatkan ketepatan ke tahap tertentu, tetapi perlu berjaga-jaga dengan masalah pasaran yang tidak stabil dan bergolak.
/*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)