
Strategi ini adalah sistem perdagangan keseimbangan dinamis yang didasarkan pada beberapa indikator teknis. Strategi ini menggunakan beberapa alat analisis teknis, seperti indikator relative strength (RSI), Bollinger Bands (BB), Indeks Moving Average (EMA) dan Moving Average Convergence Divergence (MACD), untuk mengidentifikasi peluang jual beli di pasar melalui verifikasi antar indikator. Strategi ini menggunakan manajemen posisi persentase, dengan default 10% dari total aset yang dimasukkan dalam setiap perdagangan.
Logika inti dari strategi ini adalah untuk meningkatkan keandalan sinyal perdagangan melalui konfirmasi kolaboratif dari beberapa indikator. Secara khusus:
Sinyal pembelian harus memenuhi setidaknya dua dari persyaratan berikut:
Sinyal selang akan dipicu oleh salah satu dari berikut ini:
Strategi ini membangun sistem perdagangan yang relatif lengkap dengan kombinasi aplikasi dari beberapa indikator teknis. Dengan cross-verifikasi antar indikator, meningkatkan keandalan sinyal perdagangan. Dengan manajemen posisi konservatif untuk mengendalikan risiko. Meskipun ada beberapa aspek yang perlu dioptimalkan, desain kerangka kerja secara keseluruhan masuk akal dan memiliki nilai aplikasi praktis.
/*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")