Strategi Crossover Rata-rata Bergerak Eksponensial

Penulis:ChaoZhang, Tanggal: 2024-01-12 14:04:37
Tag:

img

EMA (Exponential Moving Average) crossover adalah sinyal trading yang umum digunakan. Strategi ini menggunakan crossover EMA cepat dan EMA lambat untuk menghasilkan sinyal trading. Secara khusus, ketika EMA cepat melintasi EMA lambat, posisi panjang diambil; ketika EMA cepat melintasi di bawah EMA lambat, posisi pendek diambil.

Strategi ini menggunakan EMA 20 hari sebagai EMA cepat, EMA 50 hari sebagai EMA menengah, dan EMA 200 hari sebagai EMA lambat. Ketika EMA 20 hari dan EMA 50 hari melintasi di atas EMA 200 hari, posisi panjang diambil; ketika keduanya melintasi di bawah, posisi pendek diambil. Ini membantu menyaring beberapa sinyal palsu.

Keuntungan dari Strategi

  1. Strategi crossover rata-rata bergerak sederhana dan mudah dimengerti dan diterapkan
  2. Menggunakan beberapa rata-rata bergerak dapat membantu menyaring sinyal palsu
  3. Sinyal masuk dan keluar jelas

Risiko dari Strategi

  1. Cenderung menghasilkan sinyal palsu selama pasar yang terikat rentang
  2. Rata-rata bergerak memiliki lag dan mungkin tidak menangkap belokan dengan cepat
  3. Tidak bisa memanfaatkan gerakan eksplosif sepenuhnya

Gagasan Peningkatan

  1. Mengoptimalkan periode rata-rata bergerak untuk produk dan kerangka waktu yang berbeda
  2. Tambahkan filter seperti volume dan Bollinger Bands
  3. Gabungkan dengan trend berikut dan rata-rata pembalikan untuk fleksibilitas

Ringkasan

Strategi crossover rata-rata bergerak mudah dipahami dan merupakan salah satu strategi perdagangan kuantitatif mendasar. implementasi ini berfungsi dengan baik sebagai contoh pengantar. tetapi dalam perdagangan langsung, parameter akan membutuhkan optimasi, dan indikator teknis yang lebih maju harus ditambahkan untuk menyaring sinyal dan meningkatkan kinerja.


/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © rt-maax

//@version=5

strategy(title = "rt maax EMA cross strategy", shorttitle = "rt maax ema ", overlay = true, precision = 8, max_bars_back = 200, pyramiding = 0, initial_capital = 100000, 
     currency = currency.USD, default_qty_type = strategy.cash, default_qty_value = 100000, commission_type = "percent", commission_value = 0.27)
fastema = ta.ema (close , 50)
fema=ta.ema(close,20)
slowema= ta.ema(close,200)
price = close

// === INPUT BACKTEST RANGE ===
fromMonth = input.int(defval = 1,    title = "From Month",  minval = 1, maxval = 12)
fromDay   = input.int(defval = 1,    title = "From Day",    minval = 1, maxval = 31)
fromYear  = input.int(defval = 2021, title = "From Year",   minval = 1970)
thruMonth = input.int(defval = 10,    title = "Thru Month",  minval = 1, maxval = 12)
thruDay   = input.int(defval = 25,    title = "Thru Day",    minval = 1, maxval = 31)
thruYear  = input.int(defval = 2112, title = "Thru Year",   minval = 1970)

// === INPUT SHOW PLOT ===
showDate  = input(defval = true, title = "Show Date Range")

// === FUNCTION EXAMPLE ===



longCondition1= ta.crossover (fema , fastema) 
longcondition2= fema> slowema
longcondition3=fastema>slowema


if (longCondition1 and longcondition2 and longcondition3 )
    stoploss=low*0.97
    takeprofit=high*1.12
    strategy.entry("Long Entry", strategy.long)
    strategy.exit ("exit","long",stop=stoploss,limit=takeprofit)
   


shortCondition1 = ta.crossunder (fema , fastema )
shortcondition2= fastema< slowema
shortcondition3= fema< slowema

if (shortCondition1 and shortcondition2 and shortcondition3 )
    stoploss=low*0.97 
    takeprofit=high*1.5
    strategy.entry("Short Entry", strategy.short)
    strategy.exit("exit","short",stop=stoploss,limit=takeprofit)






Lebih banyak