
Strategi ini adalah sistem perdagangan keseimbangan dinamik berdasarkan pelbagai petunjuk teknikal. Ia menggunakan pelbagai alat analisis teknikal seperti RSI (Relative Strength Index), Bollinger Bands (BB), Indeks Moving Average (EMA) dan Moving Average Convergence Divergence Indicator (MACD) untuk mengenal pasti peluang jual beli di pasaran dengan saling mengesahkan antara petunjuk. Strategi ini menggunakan pengurusan kedudukan peratusan, dengan 10% daripada jumlah aset yang dimasukkan secara lalai setiap perdagangan.
Logik utama strategi ini adalah untuk meningkatkan kebolehpercayaan isyarat dagangan melalui pengesahan berkolaborasi pelbagai petunjuk. Secara khusus:
Isyarat beli mestilah memenuhi sekurang-kurangnya dua syarat berikut:
Sinyal menjual akan dihidupkan apabila salah satu daripada berikut berlaku:
Strategi ini membina sistem perdagangan yang agak lengkap dengan penggunaan gabungan pelbagai petunjuk teknikal. Kebolehpercayaan isyarat perdagangan ditingkatkan dengan cross-verifikasi antara petunjuk. Di samping itu, pengurusan kedudukan konservatif digunakan untuk mengawal risiko. Walaupun terdapat beberapa aspek yang perlu dioptimumkan, reka bentuk kerangka keseluruhan adalah munasabah dan mempunyai nilai aplikasi praktikal.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("ETH/USDT Multi-Indicator Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=250)
// Parametri za RSI
rsiPeriod = 14
rsiOversold = 30
rsiOverbought = 70
// Parametri za Bollinger Bands
bbLength = 20
bbStdDev = 2
// Parametri za EMA
emaShort = 50
emaLong = 200
// Parametri za MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// RSI izračun
rsi = ta.rsi(close, rsiPeriod)
// Bollinger Bands izračun
basis = ta.sma(close, bbLength)
upperBand = basis + bbStdDev * ta.stdev(close, bbLength)
lowerBand = basis - bbStdDev * ta.stdev(close, bbLength)
// EMA izračun
emaFast = ta.ema(close, emaShort)
emaSlow = ta.ema(close, emaLong)
// Pravilo 1: RSI prelazi iznad 30 nakon preprodatosti
rsiSignal = rsi < rsiOversold
// Pravilo 2: Cena dotakne donju Bollinger traku
bbSignal = close < lowerBand
// Pravilo 3: EMA crossover (zlatni krst)
emaSignal = emaFast > emaSlow
// Pravilo 4: MACD prelazak iznad signalne linije
macdSignal = macdLine > signalLine
// Kombinovani signal za kupovinu (bar dva uslova ispunjena)
buySignal = (rsiSignal and bbSignal) or (emaSignal and macdSignal)
// Pravilo za prodaju (RSI prekupljen ili cena iznad gornje Bollinger trake)
sellSignal = rsi > rsiOverbought or close > upperBand
// Vizualizacija signala
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategija: Otvaranje i zatvaranje pozicija
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")
// Bollinger Bands vizualizacija
plot(upperBand, color=color.new(color.blue, 50), title="Upper Band")
plot(lowerBand, color=color.new(color.blue, 50), title="Lower Band")
plot(basis, color=color.blue, title="Basis")
// EMA vizualizacija
plot(emaFast, color=color.orange, title="EMA Short")
plot(emaSlow, color=color.red, title="EMA Long")