Strategi purata bergerak 8 tempoh dan 21 tempoh


Tarikh penciptaan: 2024-01-17 17:45:45 Akhirnya diubah suai: 2024-01-17 17:45:45
Salin: 2 Bilangan klik: 568
1
fokus pada
1617
Pengikut

Strategi purata bergerak 8 tempoh dan 21 tempoh

Gambaran keseluruhan

Strategi ini menggunakan purata bergerak berganda, iaitu purata bergerak 8 dan purata bergerak 21 kitaran. Apabila purata bergerak jangka pendek di atas rata-rata bergerak jangka panjang, lakukan lebih banyak; apabila purata bergerak jangka pendek di bawah rata-rata bergerak jangka panjang, lakukan kosong.

Strategi ini juga memperkenalkan penunjuk kemerosotan purata bergerak untuk menyaring beberapa jarak tanpa trend, dan hanya menghasilkan isyarat perdagangan apabila trend lebih jelas.

Prinsip Strategi

Strategi ini berpusat pada persilangan purata bergerak jangka pendek dan purata bergerak jangka panjang. Purata bergerak jangka pendek lebih cepat menangkap trend perubahan harga, sementara purata bergerak jangka panjang mempunyai kesan penapisan yang lebih baik terhadap bunyi.

Strategi ini juga menetapkan ambang kecenderungan. Isyarat lebih banyak dihasilkan hanya jika kecenderungan lebih besar daripada ambang positif, dan isyarat kosong dihasilkan hanya jika kecenderungan lebih kecil daripada ambang negatif. Ini dapat menyaring beberapa jarak tanpa trend yang jelas, menjadikan kualiti isyarat perdagangan lebih tinggi.

Secara khusus, logik penjanaan isyarat perdagangan strategi ini adalah:

  1. Hitung purata bergerak sederhana 8 dan 21 kitaran
  2. Mengesan isyarat silang kedua-dua
  3. Hitung kemiringan purata bergerak 21 kitaran, kemiringan diperoleh dengan fungsi pemotong balik atn
  4. Isyarat multitasking dihasilkan hanya apabila kemiringan melebihi nilai tunjang positif yang ditetapkan
  5. Isyarat kosong dihasilkan hanya apabila kemiringan berada di bawah paras negatif yang ditetapkan

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Strategi yang mudah difahami dan dilaksanakan
  2. Memperkenalkan penunjuk kemerosotan, yang boleh menyaring jarak tanpa trend yang jelas, meningkatkan kualiti isyarat
  3. Penggunaan purata bergerak berganda boleh meningkatkan kestabilan dengan menggunakan kelebihan masing-masing.
  4. Boleh disesuaikan mengikut parameter pasaran, menyesuaikan diri dengan pelbagai jenis perdagangan
  5. Program yang ringkas, mudah digunakan semula dan dioptimumkan

Risiko dan Penyelesaian

Strategi ini mempunyai beberapa risiko:

  1. Dalam tempoh pasaran yang bergolak, lebih banyak isyarat palsu mungkin muncul.
  2. Perpaduan dua jalur mungkin menghasilkan lebih banyak isyarat palsu
  3. Terdapat sedikit ketinggalan dan tidak dapat menangkap perubahan trend dengan segera.

Untuk menangani risiko ini, anda boleh mengoptimumkan dari beberapa aspek:

  1. Menyesuaikan parameter purata bergerak dengan ciri-ciri pasaran
  2. Mengoptimumkan nilai terhad, meningkatkan parameter kasar
  3. Meningkatkan mekanisme penangguhan kerugian dan mengawal kerugian tunggal
  4. Penapisan gabungan dengan penunjuk lain untuk meningkatkan kualiti isyarat
  5. Menggunakan tetapan parameter adaptif untuk menjadikan strategi lebih kasar

Arah pengoptimuman

Strategi ini juga boleh dioptimumkan dengan cara berikut:

  1. Menggunakan purata bergerak beradaptasi, menyesuaikan parameter mengikut tahap turun naik pasaran
  2. Meningkatkan analisis hubungan jumlah transaksi untuk mengelakkan isyarat yang salah semasa penyusunan
  3. Kualiti dan keberkesanan isyarat yang diperkuat dengan penunjuk kadar lonjakan
  4. Menambah algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik
  5. Menggabungkan teknologi pembelajaran mendalam untuk meneroka corak harga bukan linear yang lebih kompleks

ringkaskan

Strategi purata bergerak ganda ini secara keseluruhan mudah dan praktikal, menangkap ciri-ciri trend yang berbeza melalui parameter diffs dua kitaran, dan menggabungkannya untuk menghasilkan isyarat perdagangan. Pada masa yang sama, pengenalan nilai terhad kecenderungan meningkatkan kualiti isyarat. Strategi ini boleh digunakan sebagai strategi asas dan diperluaskan, dengan banyak ruang untuk pengoptimuman dan pengembangan.

Kod sumber strategi
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//written by sixpathssenin
//@version=4
strategy(title="Dual Moving Average",initial_capital=10000,overlay=true)

ma1= sma(close,8)
ma2= sma(close,21)

angleCriteria = input(title="Angle", type=input.integer, defval=7, minval=1, maxval=13)

i_lookback   = input(2,     "Angle Period", input.integer, minval = 1)
i_atrPeriod  = input(10,    "ATR Period",   input.integer, minval = 1)
i_angleLevel = input(6,     "Angle Level",  input.integer, minval = 1)
i_maSource   = input(close, "MA Source",    input.source)

f_angle(_src, _lookback, _atrPeriod) =>
    rad2degree = 180 / 3.141592653589793238462643  //pi 
    ang = rad2degree * atan((_src[0] - _src[_lookback]) / atr(_atrPeriod)/_lookback)
    ang
_angle = f_angle(ma2, i_lookback, i_atrPeriod)

plot(ma1,color=#FF0000)
plot(ma2,color=#00FF00)

crosso=crossover(ma1,ma2) 
crossu=crossunder(ma1,ma2)

_lookback = 15

f_somethingHappened(_cond, _lookback) =>
    bool _crossed = false
    for i = 1 to _lookback
        if _cond[i]
            _crossed := true
    _crossed
    
longcrossed = f_somethingHappened(crosso,_lookback)
shortcrossed = f_somethingHappened(crossu,_lookback)

long = longcrossed and _angle > angleCriteria
short= shortcrossed and _angle < -(angleCriteria)


if(long)
    strategy.entry("Long",strategy.long)
if(short)
    strategy.entry("short",strategy.short)