Strategi ini mengidentifikasi arah tren pasar melalui persilangan garis EMA cepat dan lambat, dan berdagang sepanjang tren.
Strategi ini menghitung EMA cepat (i_shortTerm) dan EMA lambat (i_longTerm) berdasarkan parameter input. Ketika EMA jangka pendek melintasi di atas EMA jangka panjang (goLongCondition1) dan harga di atas EMA jangka pendek (goLongCondition2), ia memasuki posisi panjang. Ketika harga melanggar di bawah EMA jangka pendek (exitCondition2), ia menutup posisi.
Strategi ini didasarkan pada salib emas dari garis EMA untuk menentukan tren pasar utama, dan perdagangan sepanjang tren. Ketika EMA jangka pendek melintasi di atas EMA jangka panjang, itu menandakan tren naik; ketika harga di atas EMA jangka pendek, itu menunjukkan tren naik sedang berlangsung, jadi pergi panjang. Ketika harga turun di bawah EMA jangka pendek, itu menandakan pembalikan tren, jadi tutup posisi segera.
Keuntungan utama dari strategi ini adalah:
Menggunakan EMA crossover untuk mengidentifikasi tren pasar utama, menghindari fluktuasi jangka pendek.
Sensitivitas yang dapat disesuaikan dalam deteksi tren melalui parameter EMA cepat dan lambat.
Logika yang sederhana dan jelas, mudah dimengerti dan diterapkan, cocok untuk pemula perdagangan kuantum.
Parameter periode EMA yang dapat disesuaikan untuk produk dan pasar yang berbeda.
Pengendalian risiko yang efektif dengan stop loss ketika harga melanggar garis EMA.
Ada juga beberapa risiko:
Sinyal silang EMA yang tertunda dapat menyebabkan kerugian selama pembalikan tren.
Penembusan palsu di atas EMA jangka pendek dapat menyebabkan entri gagal.
Pengaturan parameter paramedis yang tidak tepat dapat merusak kinerja strategi.
Kinerja sangat bergantung pada kondisi pasar, tidak cocok untuk semua produk dan periode.
Pengukuran manajemen risiko yang sesuai:
Mengoptimalkan parameter EMA untuk sensitivitas yang lebih baik pada pembalikan.
Tambahkan indikator teknis lain untuk menyaring sinyal masuk.
Terus debug dan mengoptimalkan parameter untuk pasar yang berbeda.
Memahami kondisi pasar yang berlaku sebelum menerapkan strategi.
Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:
Tambahkan indikator lain seperti MACD dan KD untuk menyaring sinyal masuk.
Mengimplementasikan stop loss untuk mengunci keuntungan dan kontrol risiko yang lebih baik.
Optimalkan penempatan stop loss dengan indikator volatilitas ATR.
Uji dan temukan metode ilmiah yang lebih baik untuk pengaturan parameter EMA.
Memvalidasi sinyal pada beberapa kerangka waktu untuk meningkatkan akurasi.
Coba modifikasi BREAKOUT untuk menangkap gerakan yang lebih besar selama tahap akselerasi tren.
Strategi ini secara efektif melacak tren pasar dengan berdagang pada sinyal crossover EMA. Dengan logika yang jelas dan risiko yang dapat dikontrol, ini cocok untuk pemula perdagangan kuantum untuk berlatih. Optimasi lebih lanjut pada penyesuaian parameter, penyaringan entri, penempatan stop loss dapat meningkatkan kinerja strategi. Tetapi semua strategi memiliki keterbatasan, pengguna harus menerapkan dengan hati-hati berdasarkan kondisi pasar saat berdagang langsung.
/*backtest start: 2023-02-15 00:00:00 end: 2024-02-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © pradhan_abhishek //@version=5 strategy('EMA cross-over strategy by AP', overlay=true, shorttitle='EMACS-AP', initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, commission_value=0.025) // inputs i_shortTerm = input(title='Fast EMA', defval=21) i_longTerm = input(title='Slow EMA', defval=55) // select backtest range: if this is not given, then tradingview goes back since inception / whereever it finds data i_from = input(defval = timestamp("01 Jan 2023 00:00"), title = "From") i_to = input(defval = timestamp("31 Dec 2033 23:59"), title = "To") i_showBg = input(defval = true, title = "Show In-trade / Out-trade background") // create date function "within window of time" date() => true // exponential moving average (EMA) variables, derived from input parameters shortTermEMA = ta.ema(close, i_shortTerm) longTermEMA = ta.ema(close, i_longTerm) atr = ta.atr(14) // ### Trade strategy: begins ### inTrade = strategy.position_size > 0 notInTrade = strategy.position_size <= 0 goLongCondition1 = shortTermEMA > longTermEMA goLongCondition2 = close > shortTermEMA // exitCondition1 = shortTermEMA < midTermEMA exitCondition2 = close < shortTermEMA // enter if not in trade and long conditions are met if date() and goLongCondition1 and goLongCondition2 and notInTrade strategy.entry('long', strategy.long) // exit on stop-Loss hit stopLoss = close - atr * 3 strategy.exit('exit', 'long', stop=stopLoss) // exit if already in trade and take profit conditions are met if date() and exitCondition2 and inTrade strategy.close(id='long') // ###Trade strategy: ends ### // plot emas & background color for trade status plot(shortTermEMA, color=color.new(color.blue, 0)) plot(longTermEMA, color=color.new(color.green, 0)) trade_bgcolor = notInTrade ? color.new(color.red, 75) : color.new(color.green, 75) bgcolor(i_showBg ? trade_bgcolor : color.new(color.white, 75))