Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan pelbagai penunjuk teknikal, terutamanya menggunakan Moving Average (MA), Indeks Kekuatan Relatif (RSI), dan Indeks Arah Purata (ADX) untuk mengenal pasti trend dan momentum pasaran. Ia menggunakan Julat Benar Purata (ATR) untuk menetapkan tahap stop-loss dan mengambil keuntungan secara dinamik. Sistem ini menggunakan pendekatan analisis pelbagai tempoh, mengesahkan isyarat perdagangan melalui persilangan penunjuk dalam tempoh masa yang berbeza, memastikan ketepatan perdagangan dan kawalan risiko yang berkesan.
Strategi ini menggunakan mekanisme pengesahan tiga lapisan untuk mengesahkan isyarat perdagangan: 1. Lapisan Pengenalan Trend: Menggunakan persilangan purata bergerak 20 tempoh dan 50 tempoh untuk menentukan arah trend, dengan MA cepat melintasi di atas MA perlahan yang menunjukkan trend menaik dan sebaliknya. 2. Lapisan Pengesahan Momentum: Menggunakan RSI 14 tempoh untuk mengesahkan momentum harga, dengan RSI di atas 50 menunjukkan momentum menaik dan di bawah 50 menunjukkan momentum menurun. 3. Lapisan Penapis Kekuatan Trend: Menggunakan ADX 14 tempoh untuk mengukur kekuatan trend, hanya mengesahkan dagangan apabila ADX melebihi 25, menunjukkan kekuatan trend yang mencukupi.
Tambahan pula, strategi itu melaksanakan sistem stop-loss dan take-profit dinamik berasaskan ATR: - Stop-loss ditetapkan pada 2 kali ATR - Take-profit ditetapkan pada 4 kali ATR, mengekalkan nisbah 1: 2 risiko-balasan
Strategi ini membina sistem dagangan yang agak lengkap melalui sinergi pelbagai penunjuk teknikal. Kekuatannya terletak pada mekanisme pengesahan pelbagai lapisan dan sistem pengurusan risiko dinamik, walaupun perhatian harus diberikan kepada kesesuaiannya dalam persekitaran pasaran yang berbeza. Melalui pengoptimuman dan peningkatan yang berterusan, strategi ini menunjukkan janji untuk mencapai pulangan yang stabil dalam perdagangan sebenar.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-15 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("Daily Trading Strategy", overlay=true) // --- Indikator --- // Kombinasi MA untuk trend fastMA = ta.sma(close, 20) slowMA = ta.sma(close, 50) // RSI untuk momentum rsi = ta.rsi(close, 14) // --- Fungsi untuk menghitung ADX --- adx(length) => up = ta.change(high) down = -ta.change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) trur = ta.rma(ta.tr, length) plus = fixnan(100 * ta.rma(plusDM, length) / trur) minus = fixnan(100 * ta.rma(minusDM, length) / trur) sum = plus + minus adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), length) // ADX untuk kekuatan trend adxValue = adx(14) // --- Kondisi Entry Long --- longEntry = ta.crossover(fastMA, slowMA) and rsi > 50 and adxValue > 25 // --- Kondisi Entry Short --- shortEntry = ta.crossunder(fastMA, slowMA) and rsi < 50 and adxValue > 25 // --- Stop Loss dan Take Profit --- // Fungsi untuk menghitung stop loss dan take profit getSLTP(entryPrice, isLong) => atr = ta.atr(14) sl = isLong ? entryPrice - atr * 2 : entryPrice + atr * 2 tp = isLong ? entryPrice + atr * 4 : entryPrice - atr * 4 [sl, tp] // Hitung SL dan TP untuk posisi Long [longSL, longTP] = getSLTP(close, true) // Hitung SL dan TP untuk posisi Short [shortSL, shortTP] = getSLTP(close, false) // --- Eksekusi Order --- if (longEntry) strategy.entry("Long", strategy.long, stop=longSL, limit=longTP) if (shortEntry) strategy.entry("Short", strategy.short, stop=shortSL, limit=shortTP) // --- Plot Indikator --- // MA plot(fastMA, color=color.blue) plot(slowMA, color=color.red) // RSI plot(rsi, color=color.orange) hline(50, color=color.gray) // ADX plot(adxValue, color=color.purple) hline(25, color=color.gray) // --- Alert --- alertcondition(longEntry, title="Long Entry", message="Long Entry") alertcondition(shortEntry, title="Short Entry", message="Short Entry")