
Sistem perdagangan berskala besar adalah strategi perdagangan berskala besar yang menggunakan crossover rata-rata pergerakan indeks 8⁄21 klasik (EMA) untuk mengidentifikasi pergeseran tren dan menghasilkan sinyal perdagangan berskala besar. Strategi ini berisi parameter stop-loss dan stop-loss yang terintegrasi yang dapat secara otomatis mengelola risiko dan mengunci keuntungan. Logika inti dari strategi ini adalah membuat sinyal multi ketika 8 siklus EMA naik melintasi 21 siklus EMA.
Prinsip inti dari strategi ini adalah untuk menilai arah perubahan tren pasar berdasarkan hubungan silang antara indeks moving average dari dua periode yang berbeda. Strategi ini diterapkan terutama melalui beberapa bagian penting berikut:
Perhitungan indikator:
shortEma = ta.ema(close, shortEmaLength)longEma = ta.ema(close, longEmaLength)Syarat transaksi:
longCondition = ta.crossover(shortEma, longEma)shortCondition = ta.crossunder(shortEma, longEma)Manajemen Risiko:
longTakeProfit = close * (1 + takeProfitPerc / 100)longStopLoss = close * (1 - stopLossPerc / 100)shortTakeProfit = close * (1 - takeProfitPerc / 100)shortStopLoss = close * (1 + stopLossPerc / 100)Eksekusi transaksi:
noOpenPosition = strategy.position_size == 0Desain ini memastikan bahwa strategi dapat menangkap peluang dengan cepat ketika tren berubah, sambil melindungi keamanan dana melalui parameter risiko yang telah ditentukan.
Strategi ini memiliki beberapa keuntungan yang menonjol, seperti:
Mengidentifikasi tren yang sederhana dan efektif:8⁄21 EMA crossover adalah metode identifikasi tren yang telah terbukti secara luas yang dapat secara efektif menangkap perubahan dinamika pasar.
Manajemen risiko yang komprehensifSistem Stop Loss built-in secara otomatis melindungi dana dan mengunci keuntungan, mengurangi risiko perdagangan emosional.
Konfigurasi parameter yang fleksibelPengguna dapat menyesuaikan durasi siklus EMA, stop loss dan stop loss persentase sesuai dengan preferensi pasar dan risiko pribadi yang berbeda.
Kemampuan transaksi dua arahStrategi ini mendukung melakukan over dan under pada saat yang sama, dan dapat mencari peluang di berbagai lingkungan pasar.
Mencegah overlap transaksiDesain strategi memastikan bahwa tidak ada transaksi baru yang dibuka sebelum transaksi ditutup sepenuhnya, menghindari risiko overtrading dan dispersi dana.
Visualisasi yang jelas: Dengan memetakan garis EMA dan tanda sinyal perdagangan, memungkinkan pedagang untuk secara intuitif memahami kondisi operasi strategi.
Terapan yang luasStrategi ini kompatibel dengan berbagai jenis perdagangan dan periode waktu, termasuk cryptocurrency, forex, saham, dan indeks.
Meskipun strategi ini dirancang dengan baik, ada risiko potensial berikut:
Pasar horizontal tidak berjalan dengan baikDalam pasar yang bergoyang tanpa tren yang jelas, sinyal silang EMA mungkin sering terjadi, menyebabkan beberapa stop loss.
Batas dari Stop Loss Persentase TetapPerbedaan volatilitas dalam pasar dan periode waktu yang berbeda sangat besar, dan stop loss persentase tetap mungkin tidak cocok untuk semua situasi.
Titik Slip dan Risiko EksekusiDalam perdagangan langsung, mungkin tidak mungkin untuk mengeksekusi pesanan dengan tepat sesuai dengan harga yang dihasilkan oleh strategi, terutama di pasar dengan likuiditas rendah.
Terlalu Bergantung pada Data SejarahParameter strategi didasarkan pada data historis yang dioptimalkan, namun perilaku pasar di masa depan mungkin berubah.
Ketergantungan satu indikatorStrategi ini hanya mengandalkan EMA crossover dan tidak menggunakan indikator tambahan untuk mengkonfirmasi sinyal, yang dapat menyebabkan sinyal yang salah.
Untuk mengurangi risiko ini, disarankan untuk:
Setelah menganalisis kode, berikut ini adalah arah optimasi yang mungkin:
adxLength = input.int(14, title="ADX Length")
adxThreshold = input.int(25, title="ADX Threshold")
adxValue = ta.adx(high, low, close, adxLength)
isTrending = adxValue > adxThreshold
atrPeriod = input.int(14, title="ATR Period")
atrMultiplierSL = input.float(2.0, title="ATR Multiplier for Stop Loss")
atrMultiplierTP = input.float(3.0, title="ATR Multiplier for Take Profit")
atrValue = ta.atr(atrPeriod)
dynamicStopLoss = atrValue * atrMultiplierSL
dynamicTakeProfit = atrValue * atrMultiplierTP
Menambahkan filter waktu perdagangan: Hindari berdagang pada saat-saat volatilitas yang tinggi saat pasar terbuka dan ditutup.
Mekanisme penguncian laba parsialKetika perdagangan mencapai tingkat keuntungan tertentu, stop loss dipindahkan ke harga biaya atau sebagian dari posisi kosong untuk mengunci keuntungan.
Meningkatkan Konfirmasi Volume Transaksi: Menggabungkan indikator volume transaksi untuk mengkonfirmasi validitas sinyal silang EMA, hanya melakukan transaksi jika volume transaksi meningkat.
volumeCondition = volume > ta.sma(volume, 20) * 1.2
validLongCondition = longCondition and volumeCondition
Kebijakan ini tidak hanya dapat meningkatkan keandalan strategi, tetapi juga dapat beradaptasi dengan kondisi pasar yang berbeda, meningkatkan profitabilitas secara keseluruhan, dan mengurangi risiko.
Sistem perdagangan momentum silang linier ganda adalah strategi perdagangan yang terstruktur dengan jelas dan mudah dipahami dan diterapkan. Ini menggunakan sinyal silang 8 / 21 EMA untuk menangkap perubahan tren pasar dan secara otomatis mengelola risiko melalui parameter stop-loss yang telah ditentukan. Strategi ini cocok untuk berbagai jenis perdagangan dan periode waktu, terutama yang berkinerja baik di pasar yang jelas tren.
Keuntungan utama dari strategi ini adalah logika yang ringkas dan mekanisme manajemen risiko yang komprehensif, yang membuat proses perdagangan sangat otomatis dan mengurangi gangguan faktor emosional. Selain itu, risiko overtrading dihindari dengan mencegah desain perdagangan yang tumpang tindih.
Namun, strategi ini mungkin menghadapi tantangan di pasar yang bergejolak dan perlu meningkatkan adaptasi dengan langkah-langkah optimasi seperti menambahkan filter tren dan stop loss dinamis. Selain itu, timing masuk yang digabungkan dengan konfirmasi volume perdagangan dan optimalisasi juga merupakan cara yang efektif untuk meningkatkan kinerja strategi.
Secara keseluruhan, ini adalah strategi yang menyeimbangkan kesederhanaan dan efektivitas, cocok untuk pemula sebagai titik awal untuk perdagangan otomatis, atau sebagai bagian dari portofolio pedagang berpengalaman. Dengan penyesuaian parameter yang masuk akal dan pengoptimalan berkelanjutan, strategi ini mampu mempertahankan kinerja yang stabil di berbagai kondisi pasar.
/*backtest
start: 2024-07-14 00:00:00
end: 2025-07-12 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":200000}]
*/
//@version=5
strategy("JWs Algo", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
shortEmaLength = input.int(8, title="Short EMA Length")
longEmaLength = input.int(21, title="Long EMA Length")
takeProfitPerc = input.float(2.0, title="Take Profit (%)", step=0.1)
stopLossPerc = input.float(1.0, title="Stop Loss (%)", step=0.1)
// === INDICATORS ===
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// === CONDITIONS ===
longCondition = ta.crossover(shortEma, longEma)
shortCondition = ta.crossunder(shortEma, longEma)
// === PLOTTING ===
plot(shortEma, title="8 EMA", color=color.orange)
plot(longEma, title="21 EMA", color=color.blue)
// === STRATEGY EXECUTION ===
// Convert percentage inputs into price levels
longTakeProfit = close * (1 + takeProfitPerc / 100)
longStopLoss = close * (1 - stopLossPerc / 100)
shortTakeProfit = close * (1 - takeProfitPerc / 100)
shortStopLoss = close * (1 + stopLossPerc / 100)
// === CHECK FOR OPEN POSITION ===
noOpenPosition = strategy.position_size == 0
if (longCondition and noOpenPosition)
strategy.entry("Long", strategy.long)
strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
if (shortCondition and noOpenPosition)
strategy.entry("Short", strategy.short)
strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)
// === SIGNAL MARKERS ===
plotshape(longCondition and noOpenPosition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(shortCondition and noOpenPosition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)