
Strategi ini adalah sistem perdagangan campuran yang menggabungkan beberapa indikator analisis teknikal. Ia bergantung kepada sistem garis rata (EMA) untuk menilai trend pasaran, sambil menggabungkan tahap rintangan sokongan (SR) sebagai isyarat masuk, dan menggunakan amplitud turun naik sebenar (ATR) untuk mengawal risiko. Strategi ini menggunakan tetapan hentian yang dinamik, yang dapat menyesuaikan kedudukan hentian mengikut turun naik pasaran.
Strategi ini beroperasi berdasarkan komponen teras berikut:
Optimasi penapis isyarat
Pengoptimuman pengurusan kedudukan
Pengoptimuman Stop Loss
Strategi ini membina sistem perdagangan yang lengkap dengan menggabungkan beberapa kaedah analisis teknikal yang matang. Kelebihan utamanya adalah kemampuan sistem untuk menyesuaikan diri dan mengawal risiko. Dengan terus mengoptimumkan dan menyempurnakan, strategi ini dijangka mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran.
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-16 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Multi-Strategy Trader v1 by SUNNY GUHA +91 9836021040 / www.oiesu.com", overlay=true)
// Basic Inputs
supResLookback = input.int(9, "Support/Resistance Lookback")
atrPeriod = input.int(14, "ATR Period")
stopMultiplier = input.float(10.0, "Stop Loss ATR Multiplier")
// Technical Indicators
atr = ta.atr(atrPeriod)
highestHigh = ta.highest(high, supResLookback)
lowestLow = ta.lowest(low, supResLookback)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
// Basic Strategy Rules
isTrending = math.abs(ema20 - ema50) > atr
longSignal = close > highestHigh[1] or (isTrending and ema20 > ema50 and close > ema20)
shortSignal = close < lowestLow[1] or (isTrending and ema20 < ema50 and close < ema20)
// Entry Logic
if longSignal and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
if shortSignal and strategy.position_size >= 0
strategy.entry("Short", strategy.short)
// Stop Loss Logic
longStopPrice = close - (atr * stopMultiplier)
shortStopPrice = close + (atr * stopMultiplier)
// Exit Logic
if strategy.position_size > 0
strategy.exit("Long Exit", "Long", stop=longStopPrice)
if strategy.position_size < 0
strategy.exit("Short Exit", "Short", stop=shortStopPrice)
// Basic Plotting
plot(ema20, "EMA 20", color.blue)
plot(ema50, "EMA 50", color.red)