
Strategi ini mengintegrasikan pelbagai petunjuk teknikal, termasuk indikator supertrend, purata bergerak dua indeks dan Brinks, untuk memanfaatkan kelebihan setiap petunjuk dan memberikan isyarat perdagangan yang lebih tepat.
Strategi ini menggunakan ATR 12 kitaran dan purata harga untuk mengira overtrend uptrend dan downtrend, berdasarkan harga menembusi uptrend dan downtrend untuk menilai tanda-tanda head dan head kosong. Pada masa yang sama, menggunakan 200 kitaran purata bergerak indeks ganda sebagai penolong untuk menentukan trend. Di samping itu, strategi ini juga menggunakan Brin untuk menentukan masa terbaik untuk masuk ke pasaran dan berhenti.
Isyarat beli dihasilkan apabila harga naik ke arah atas; isyarat jual dihasilkan apabila harga turun ke arah bawah. Apabila harga menembusi arah atas atau ke arah bawah, tanda dan tulisan ‘Buy’ atau ‘Sell’ akan digambarkan pada arah yang sesuai. Isyarat mudah alih juga dihantar.
Rata-rata bergerak dua indeks digambarkan di atas atau di bawah kurva harga, yang ditunjukkan dengan warna putih. Ia digunakan untuk menentukan arah trend keseluruhan.
Blinker digunakan untuk mencari masa terbaik untuk masuk dan berhenti. Laluan atas dan bawahnya membentuk saluran di sekitar turun naik harga yang boleh digunakan untuk menentukan bila harga telah keluar dari julat normal, iaitu turun naik terlalu lama.
Selepas masuk ke pasaran, strategi menggunakan hentian dan hentian untuk mengunci keuntungan atau mengurangkan kerugian. Penarikan automatik dilakukan dengan menetapkan harga hentian dan hentian.
Strategi ini mengintegrasikan pelbagai indikator yang dapat memanfaatkan kelebihan masing-masing untuk menghasilkan isyarat perdagangan yang lebih tepat.
Super trend mempunyai keupayaan untuk menyaring bunyi pasaran, mengelakkan perdagangan yang kerap. Rata-rata bergerak dua indeks dapat menilai trend yang lebih besar, mengelakkan perdagangan yang berlawanan.
Dengan menggunakan isyarat mudah alih, anda boleh mendapatkan isyarat perdagangan tepat pada masanya.
Oleh kerana strategi mengintegrasikan beberapa petunjuk, ia meningkatkan kerumitan strategi dan meningkatkan kemungkinan kesilapan. Tetapan petunjuk juga boleh menyebabkan peluang perdagangan yang terlewat atau menghasilkan isyarat yang salah.
Di samping itu, tetapan henti rugi yang terlalu radikal juga boleh menyebabkan kerugian meningkat. Kestabilan isyarat terminal mudah alih juga akan mempengaruhi kesan henti rugi yang tepat pada masanya.
Anda boleh menguji pelbagai parameter untuk mencari kombinasi terbaik. Anda juga boleh menyesuaikan parameter mengikut pasaran yang berbeza.
Anda boleh cuba menggunakan hanya sebahagian daripada penunjuk untuk mengurangkan kebarangkalian isyarat yang salah. Atau tambah penunjuk tambahan untuk pengoptimuman.
Keadaan hentian dan hentian juga boleh disesuaikan, dengan cara seperti menjejaki hentian atau hentian sebahagian.
Strategi ini menggabungkan penggunaan pelbagai petunjuk teknikal untuk mencapai keputusan isyarat perdagangan, mempunyai kegunaan yang kuat. Tetapi juga menghadapi risiko tertentu, memerlukan ujian dan pengoptimuman yang berterusan untuk benar-benar digunakan dengan selesa dan memperoleh keuntungan yang stabil.
/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zhuenrong
//@version=4
strategy("Supertrend + DEMA + Bollinger Bands", overlay=true)
// Input parameters for Supertrend
atrLength = input(title="ATR Period", type=input.integer, defval=12)
src = input(hl2, title="Source")
multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR = input(title="Change ATR Calculation Method?", type=input.bool, defval=true)
showSupertrend = input(title="Show Supertrend Indicator?", type=input.bool, defval=true)
// Input parameters for DEMA
demaLength = input(200, title="DEMA Period")
showDEMA = input(title="Show DEMA Indicator?", type=input.bool, defval=true)
// Calculate ATR for Supertrend
atr2 = sma(tr, atrLength)
atr = changeATR ? atr(atrLength) : atr2
// Calculate Supertrend
up = src - (multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up
dn = src + (multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
// Plot Supertrend
upPlot = plot(showSupertrend ? (trend == 1 ? up : na) : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
plotshape(buySignal ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
dnPlot = plot(showSupertrend ? (trend == 1 ? na : dn) : na, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
plotshape(sellSignal ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = (trend == 1 ? color.new(color.green, 80) : color.new(color.white, 0))
shortFillColor = (trend == -1 ? color.new(color.red, 80) : color.new(color.white, 0))
fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)
// Alert conditions
alertcondition(buySignal, title="Custom Supertrend Buy", message="Custom Supertrend Buy!")
alertcondition(sellSignal, title="Custom Supertrend Sell", message="Custom Supertrend Sell!")
// Calculate DEMA
ema1 = ema(close, demaLength)
dema = 2 * ema1 - ema(ema1, demaLength)
// Plot DEMA with white color
plot(showDEMA ? dema : na, color=color.new(color.white, 0), title="DEMA", linewidth=2)
// Add push notification on mobile if buy and sell occurred
if (buySignal)
strategy.entry("Buy", strategy.long)
//strategy.exit("Sell")
//alert("Buy Signal - Supertrend")
if (sellSignal)
strategy.entry("Sell", strategy.short)
//strategy.exit("Cover")
//alert("Sell Signal - Supertrend")
// === Stop LOSS ===
if strategy.position_size>0
strategy.exit("Stop Loss/Profit Long","Buy", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1)
if strategy.position_size<0
strategy.exit("Stop Loss/Profit Short","Sell", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1)