Strategi Persilangan Purata Bergerak


Tarikh penciptaan: 2024-01-12 14:04:37 Akhirnya diubah suai: 2024-01-12 14:04:37
Salin: 0 Bilangan klik: 615
1
fokus pada
1617
Pengikut

Strategi Persilangan Purata Bergerak

Persaingan purata bergerak adalah isyarat perdagangan yang biasa. Strategi ini menggunakan persilangan purata bergerak cepat dan purata bergerak perlahan sebagai isyarat perdagangan. Khususnya, apabila purata bergerak cepat melintasi purata bergerak perlahan dari bawah, lakukan lebih banyak; apabila purata bergerak cepat melintasi purata bergerak perlahan dari atas ke bawah, lakukan kosong.

Strategi ini menggunakan EMA 20 hari sebagai purata bergerak cepat, EMA 50 hari sebagai purata bergerak sederhana, dan EMA 200 hari sebagai purata bergerak perlahan. Apabila EMA 20 hari dan EMA 50 hari naik bersama-sama melalui EMA 200 hari, lakukan lebih banyak; apabila EMA 20 hari dan EMA 50 hari bersama-sama melalui EMA 200 hari, lakukan kosong. Ini dapat menyaring beberapa isyarat palsu.

Kelebihan Strategik

  1. Strategi purata bergerak mudah, mudah difahami dan dilaksanakan
  2. Menggunakan pelbagai kombinasi purata bergerak untuk menyaring isyarat palsu
  3. Keadaan lapangan terbang jelas, mudah untuk menentukan masa masuk dan keluar

Risiko Strategik

  1. Ia boleh menyebabkan isyarat yang salah dalam penyusunan semula.
  2. Rata-rata bergerak mempunyai keterlambatan dan tidak dapat menangkap perubahan harga dalam masa yang tepat
  3. Kegagalan untuk memanfaatkan keuntungan daripada aktiviti yang menembusi

Optimum idea

  1. Mengoptimumkan parameter kitaran untuk purata bergerak untuk pelbagai jenis dan kitaran
    1. Menambah isyarat penapis indikator lain, seperti jumlah dagangan, Brinks, dan lain-lain
  2. Menggabungkan strategi trend dan reversal, menjejaki semasa trend, menunggu peluang semasa penyusunan

ringkaskan

Konsep strategi silang rata-rata bergerak adalah mudah dan mudah dipelajari, dan merupakan salah satu strategi asas untuk perdagangan kuantitatif. Strategi ini mempunyai nilai rujukan yang baik sebagai pembelajaran permulaan. Tetapi dalam pertempuran sebenar, parameter masih perlu dioptimumkan untuk varieti dan kitaran, dan ditambah dengan petunjuk teknikal yang lebih kompleks untuk menapis isyarat, sehingga meningkatkan keberkesanan strategi dalam pertempuran sebenar.

Kod sumber strategi
/*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)