Sumber dimuat naik... memuat...

Memintas Strategi Purata Bergerak

Penulis:ChaoZhang, Tarikh: 2023-12-19 13:34:30
Tag:

img

Ringkasan

Strategi purata bergerak silang adalah strategi perdagangan kuantitatif yang menghasilkan isyarat perdagangan dengan menggunakan purata bergerak eksponensial (EMA) dari tempoh masa yang berbeza. Strategi ini menggunakan silang tiga EMA - 5 tempoh, 9 tempoh, dan 21 tempoh - untuk menentukan trend pasaran dan menghasilkan isyarat beli dan jual.

Prinsip-prinsip

Penunjuk teras strategi ini adalah tiga EMA 5 tempoh, 9 tempoh dan 21 tempoh.

  1. Isyarat beli dihasilkan apabila EMA 5 tempoh melintasi di atas EMA 9 tempoh, dan isyarat jual apabila melintasi di bawahnya.

  2. EMA 21 tempoh boleh digunakan untuk mengesahkan isyarat dagangan. Isyarat dagangan lebih dipercayai apabila kedua-dua 5 dan 9 EMA berada di atas EMA 21 untuk isyarat beli, dan di bawahnya untuk isyarat jual.

  3. 100 dan 200 EMA berfungsi untuk menentukan trend jangka menengah hingga panjang di pasaran.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Mudah dilaksanakan dan beroperasi. Pengiraan EMA dan penilaian silang adalah mudah.

  2. Sensitif terhadap perubahan pasaran. EMA 5 & 9 yang cepat dapat menangkap trend jangka pendek dengan cepat.

  3. Mudah untuk menetapkan stop loss / mengambil keuntungan. EMA sendiri boleh berfungsi sebagai bergerak stop loss garis.

  4. EMA atau penunjuk lain boleh diperkenalkan dengan mudah untuk memperkayakan sistem.

Analisis Risiko

Risiko utama strategi ini termasuk:

  1. Risiko isyarat palsu. crossover EMA tidak boleh dipercayai 100% dan pecah palsu boleh berlaku. Faktor lain perlu dikaji dengan teliti.

  2. Risiko pembalikan trend. Pembebasan EMA yang cepat mungkin hanya mencerminkan pembetulan jangka pendek, mengabaikan pembalikan trend utama. EMA jangka menengah hingga panjang harus diperiksa.

  3. Risiko penyesuaian parameter. Parameter boleh berbeza-beza antara produk dan rejimen pasaran yang berbeza, yang memerlukan pengoptimuman dan ujian menyeluruh.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Memperkenalkan penapis lain seperti KD, MACD dll untuk menyaring isyarat dan mengurangkan isyarat palsu.

  2. Luaskan saiz stop loss untuk mengehadkan kerugian atau gunakan stop trailing untuk mengunci keuntungan.

  3. Mengoptimumkan parameter untuk mencari kombinasi tempoh EMA yang optimum. Pembelajaran mesin juga boleh digunakan untuk mengoptimumkan tempoh secara dinamik.

  4. Mengotomatiskan keseluruhan aliran kerja perdagangan dengan mengintegrasikan rangka kerja kuantitatif.

Ringkasan

Strategi purata bergerak silang mempunyai logika yang jelas dan mudah dikendalikan, menangkap trend jangka pendek dengan berkesan. Tetapi hanya bergantung pada persilangan EMA untuk membuat keputusan masih mempunyai titik buta. Faktor tambahan diperlukan untuk mengurangkan risiko. Strategi ini mempunyai potensi yang baik untuk peningkatan dengan memperkenalkan lebih banyak penunjuk atau teknik teknikal untuk meningkatkan keuntungan dan kestabilan.


/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 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/
// © nagversion

//@version=5
strategy("5/9/21 EMA Strategy with 200 and 100 EMA", overlay=true)

// Calculate EMAs
ema5 = ta.ema(close, 5)
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)

// Plot EMAs
plot(ema5, title="5 EMA", color=color.blue)
plot(ema9, title="9 EMA", color=color.yellow)
plot(ema21, title="21 EMA", color=color.red)
plot(ema100, title="100 EMA", color=color.purple)
plot(ema200, title="200 EMA", color=color.green)

// Strategy conditions
longCondition = ta.crossover(ema5, ema9) and ta.crossover(ema9, ema21)
shortCondition = ta.crossunder(ema5, ema9) and ta.crossunder(ema9, ema21)

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

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Set strategy properties if required (like stop loss, take profit, etc.)


Lebih lanjut