
Artikel ini akan membahas sistem strategi perdagangan yang menggabungkan beberapa indikator teknis. Sistem ini dirancang untuk memberikan solusi perdagangan yang komprehensif kepada pedagang dengan mengintegrasikan beberapa metode analisis teknis seperti MACD, EMA, moving average sederhana, dan MA100, dengan manajemen risiko dan filter waktu.
Strategi ini adalah sistem analisis teknis multi-strategi yang terdiri dari empat substrategi independen: strategi MACD, strategi EMA8, strategi MA sederhana, dan strategi MA100. Sistem ini memungkinkan pedagang untuk memilih jenis strategi yang berbeda secara fleksibel sesuai dengan kondisi pasar, masing-masing substrategi memiliki masuk dan keluar logis yang unik, dan dilengkapi dengan mekanisme manajemen risiko yang sesuai.
Strategi MACD: menangkap tren pasar dengan mengidentifikasi pola kenaikan dan penurunan MACD secara berturut-turut. Ketika tiga pilar naik secara berturut-turut memicu sinyal beli, dua pilar turun secara berturut-turut memicu sinyal jual.
Strategi EMA8: menggabungkan analisa pola garis EMA8 lingkaran, garis tinggi sebelumnya dan garis K. Sistem membeli ketika harga menembus garis EMA8 lingkaran dan harga penutupan lebih tinggi dari garis tinggi sebelumnya, serta garis K yang kuat. Strategi ini dilengkapi dengan pengaturan stop loss 2%.
Strategi MA Sederhana: Membangun sistem pelacakan tren dengan menggunakan moving averages multi-indeks (periode 10, 15, 25, 35, 40). Trigger sinyal beli ketika rata-rata periode yang lebih pendek berada di atas rata-rata periode yang lebih panjang dan harga menembus rata-rata periode yang paling pendek.
Strategi MA100: Menggabungkan 100 hari rata-rata, 8 hari rata-rata dan 25 hari rata-rata, dan memperkenalkan indikator acak untuk penilaian oversold. Ketika rata-rata jangka pendek berada di atas rata-rata jangka panjang dan harga berfluktuasi di sekitar MA100, sistem mencari peluang beli di daerah oversold. Strategi ini menggunakan pengaturan stop loss 3%.
Sistem perdagangan analisis teknis multi-strategi ini menyediakan pedagang dengan kerangka keputusan perdagangan yang komprehensif dengan mengintegrasikan beberapa metode analisis teknis yang sudah mapan. Keunggulan utama sistem adalah fleksibilitas dan kemampuan pengendalian risiko, tetapi juga membutuhkan pemahaman yang lebih dalam tentang pasar bagi pedagang untuk digunakan dengan benar. Dengan terus-menerus mengoptimalkan dan memperbaiki, sistem ini diharapkan menjadi alat perdagangan yang lebih baik.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ v5 code implements multiple trading strategies
//@version=5
strategy("Multi-Strategy Trading System", overlay=true)
// Input parameters for customization
strategy_type = input.string("MACD", "Strategy Type", options=["MACD", "EMA8", "SimpleMA", "MA100"])
show_macd = input.bool(true, "Show MACD Signals")
show_ema = input.bool(true, "Show EMA Signals")
show_ma = input.bool(true, "Show MA Signals")
// MACD Strategy Components
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
// Function to detect three consecutive ascending histogram bars
isThreeAscendingBars(hist) =>
not na(hist[3]) and hist[3] < hist[2] and hist[2] < hist[1] and hist[1] < hist[0]
// Function to detect two consecutive descending histogram bars
isTwoDescendingBars(hist) =>
not na(hist[2]) and hist[2] > hist[1] and hist[1] > hist[0]
// EMA Strategy Components
ema8_weekly = request.security(syminfo.tickerid, "W", ta.ema(close, 8))
weeklyHigh = request.security(syminfo.tickerid, "W", high)
previousWeekHigh = weeklyHigh[1]
isStrongCandleWeekly = request.security(syminfo.tickerid, "W", close > open and (close - open) > (high - low) * 0.6)
// Simple MA Strategy Components
ema10 = ta.ema(close, 10)
ema15 = ta.ema(close, 15)
ema25 = ta.ema(close, 25)
ema35 = ta.ema(close, 35)
ema40 = ta.ema(close, 40)
// MA100 Strategy Components
ma100 = ta.sma(close, 100)
ma8 = ta.sma(close, 8)
ma25 = ta.sma(close, 25)
// Corrected Stochastic Oscillator Calculation
stochK = ta.stoch(high, low, close, 14)
stochD = ta.sma(stochK, 3)
isOversold = stochK < 20 and stochD < 20
// MACD Strategy Logic
if strategy_type == "MACD"
// Buy condition: Three ascending histogram bars after lowest
if isThreeAscendingBars(histLine)
strategy.entry("MACD Buy", strategy.long)
// Sell condition: Two descending histogram bars after highest
if isTwoDescendingBars(histLine)
strategy.close("MACD Buy")
// EMA8 Strategy Logic
if strategy_type == "EMA8"
if close > ema8_weekly and close > previousWeekHigh and isStrongCandleWeekly
strategy.entry("EMA8 Buy", strategy.long)
strategy.exit("EMA8 Exit", "EMA8 Buy", stop=low - (low * 0.02))
// Simple MA Strategy Logic
if strategy_type == "SimpleMA"
isUptrend = ema10 > ema15 and ema15 > ema25 and ema25 > ema35 and ema35 > ema40
if isUptrend and close > ema10 and close[1] <= ema10[1]
strategy.entry("MA Buy", strategy.long)
strategy.exit("MA Exit", "MA Buy", stop=low - (low * 0.02))
// MA100 Strategy Logic
if strategy_type == "MA100"
isUptrend = ma8 > ma100 and ma25 > ma100
isPriceNearMA100 = math.abs(close - ma100) / ma100 * 100 < 1
if isUptrend and isPriceNearMA100 and isOversold
strategy.entry("MA100 Buy", strategy.long)
strategy.exit("MA100 Exit", "MA100 Buy", stop=low - (low * 0.03))
// Plotting components for visualization
plot(ma100, "MA100", color=color.blue, linewidth=2)
plot(ema8_weekly, "EMA8 Weekly", color=color.yellow, linewidth=2)
plot(series=histLine, title="MACD Histogram", style=plot.style_histogram, color=histLine > 0 ? color.green : color.red)