Strategi Crossover Purata Bergerak Eksponen

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

img

Pertukaran purata bergerak eksponensial (EMA) adalah isyarat perdagangan yang biasa. Strategi ini menggunakan persilangan EMA cepat dan EMA perlahan untuk menjana isyarat perdagangan. Khususnya, apabila EMA cepat melintasi di atas EMA perlahan, kedudukan panjang diambil; apabila EMA cepat melintasi di bawah EMA perlahan, kedudukan pendek diambil.

Strategi ini menggunakan EMA 20 hari sebagai EMA pantas, EMA 50 hari sebagai EMA sederhana, dan EMA 200 hari sebagai EMA perlahan. Apabila kedua-dua EMA 20 hari dan EMA 50 hari melintasi di atas EMA 200 hari, kedudukan panjang diambil; apabila kedua-dua melintasi di bawah, kedudukan pendek diambil. Ini membantu menapis beberapa isyarat palsu.

Kelebihan Strategi

  1. Strategi crossover purata bergerak adalah mudah dan mudah difahami dan dilaksanakan
  2. Menggunakan pelbagai purata bergerak boleh membantu menapis isyarat palsu
  3. Isyarat masuk dan keluar jelas.

Risiko Strategi

  1. Cenderung menghasilkan isyarat palsu semasa pasaran terhad julat
  2. Purata bergerak mempunyai lag dan mungkin tidak menangkap belokan dengan cepat
  3. Tidak dapat memanfaatkan sepenuhnya pergerakan letupan

Idea Peningkatan

  1. Mengoptimumkan tempoh purata bergerak untuk produk dan jangka masa yang berbeza
  2. Tambah penapis seperti jumlah dan Bollinger Bands
  3. Gabungkan dengan trend berikut dan pembalikan purata untuk fleksibiliti

Ringkasan

Strategi crossover purata bergerak mudah difahami dan merupakan salah satu strategi perdagangan kuantitatif asas. Pelaksanaan ini berfungsi sebagai contoh pengenalan. Tetapi dalam perdagangan langsung, parameter memerlukan pengoptimuman, dan penunjuk teknikal yang lebih maju harus ditambah untuk menapis isyarat dan meningkatkan prestasi.


/*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 lanjut