Trend Purata Pergerakan Bertiga Mengikuti Strategi Dagangan


Tarikh penciptaan: 2023-12-06 16:29:52 Akhirnya diubah suai: 2023-12-06 16:29:52
Salin: 0 Bilangan klik: 578
1
fokus pada
1621
Pengikut

Trend Purata Pergerakan Bertiga Mengikuti Strategi Dagangan

Gambaran keseluruhan

Triple Moving Average Trend Trading Strategy dengan mengira tiga purata bergerak dari tiga kitaran yang berbeza, untuk menentukan trend pasaran dan masa untuk membeli dan menjual. Strategi pertama kali mengira tiga purata bergerak garis cepat, garis lambat dan garis trend, kemudian menggabungkan persilangan emas garis cepat dan perlahan dan isyarat dead fork, untuk menentukan masa beli dan jual yang spesifik. Pada masa yang sama, strategi memperkenalkan garis trend untuk menentukan arah trend pasaran, hanya membeli ketika garis trend meningkat dan menjual ketika tren menurun, untuk mengelakkan perdagangan berlawanan.

Prinsip Strategi

Logik teras strategi perdagangan bergerak bergerak tiga adalah untuk menentukan masa jual beli dengan menggunakan tiga indikator purata bergerak pada masa yang sama: garis cepat, garis lambat dan garis trend. Pertama, strategi menetapkan parameter kitaran secara berasingan dan mengira purata bergerak untuk tiga kitaran yang berbeza.

Atas dasar ini, strategi ini telah dioptimumkan dengan menambah bahagian penilaian trend pasaran. Garis trend yang lebih panjang diperkenalkan untuk menentukan pergerakan keseluruhan pasaran. Hanya apabila keputusan adalah trend menaik, perdagangan pada isyarat beli garis cepat dan perlahan, dan hanya apabila trend menurun, perdagangan pada isyarat menjual garis cepat dan perlahan.

Analisis kelebihan

Strategi ini mempunyai beberapa kelebihan berbanding strategi purata bergerak berganda yang mudah:

  1. Menambah penghakiman terhadap trend pasaran, berkesan mengelakkan perdagangan berlawanan, boleh menapis sebahagian daripada perdagangan yang rugi, mengurangkan risiko.

  2. Penggunaan pelbagai kombinasi purata bergerak dapat meningkatkan kebolehpercayaan dan kadar kemenangan isyarat.

  3. Parameter kitaran boleh diselaraskan secara fleksibel untuk menyesuaikan diri dengan keadaan pasaran yang berbeza, dengan fleksibiliti yang tinggi.

  4. Peraturan strategi jelas, mudah difahami dan mudah dilaksanakan. Ia tidak sukar dilaksanakan berbanding strategi rumit seperti pembelajaran mesin.

  5. Indikator dan strategi adalah lebih biasa, digunakan untuk mengukur perdagangan, dengan bukti jangka panjang, asas teori yang boleh dipercayai.

Analisis risiko

Walaupun lebih baik daripada strategi sederhana, strategi ini masih mempunyai risiko yang perlu diperhatikan:

  1. Tiga garis rata meningkatkan kerumitan strategi, terdapat risiko bahawa pengoptimuman berbilang parameter akan menjadi lebih sukar dan tidak berkesan.

  2. Indikator garis purata itu sendiri mempunyai keterlambatan yang besar, dan mungkin terdapat isyarat pengenalan yang tidak jelas atau isyarat kelewatan.

  3. Penghakiman trend berdasarkan subjektif, terdapat risiko kesalahan penghakiman, tidak dapat sepenuhnya mengelakkan perdagangan berlawanan arah.

  4. Strategi default untuk perdagangan penuh, terdapat masalah dengan pengurusan dana dan mekanisme kawalan risiko yang tidak sempurna.

  5. Strategi peraturan semata-mata, tidak dapat mengesan parameter penyesuaian perubahan pasaran dalam masa nyata, kurang robust.

Untuk risiko di atas, ia boleh dioptimumkan dan diperbaiki dengan cara yang lebih baik melalui pengesahan balasan yang ketat, pengoptimuman parameter yang komprehensif, pengenalan mekanisme hentian, modul pengurusan wang, dan penyesuaian parameter yang dinamik dalam model pembelajaran mesin.

Arah pengoptimuman

Strategi ini masih mempunyai ruang untuk pengoptimuman yang lebih besar, terutama dari segi berikut:

  1. Peningkatan mekanisme hentian kerugian. Anda boleh menetapkan hentian bergerak atau hentian pendirian, yang berkesan mengawal kerugian maksimum dalam satu perdagangan.

  2. Memperkenalkan modul pengurusan kedudukan. Anda boleh menyesuaikan saiz kedudukan secara dinamik berdasarkan penarikan balik, kadar penggunaan dana dan sebagainya, mengurangkan risiko.

  3. Kerangka masa berbilang. Anda boleh mengesahkan keberkesanan strategi dalam pelbagai kitaran yang berlainan (hari, 60 minit, dan lain-lain), dengan dimensi masa yang lebih banyak.

  4. Pengoptimuman parameter dan model ensemble. Parameter boleh dioptimumkan melalui kaedah seperti carian grid, algoritma genetik dan sebagainya.

  5. Pemindahan dinamik berdasarkan pembelajaran mesin. Pemindahan dan pengoptimuman model secara automatik melalui teknologi seperti Pembelajaran Pengukuhan.

  6. Gabungan lebih banyak penunjuk dan peraturan penapisan. Sebagai contoh, pengenalan jumlah transaksi, perbezaan harga, kadar turun naik untuk penapisan saham pilihan, mengurangkan isyarat yang menyesatkan.

ringkaskan

Secara keseluruhan, strategi ini memandu pedagang untuk berdagang mengikut trend pasaran keseluruhan untuk mengelakkan perdagangan yang berlawanan. Ini menunjukkan lebih banyak harapan untuk meningkatkan pulangan selepas penyesuaian risiko daripada strategi penyesuaian purata bergerak ganda. Walau bagaimanapun, ia dapat dioptimumkan lagi dengan cara penyesuaian saiz kedudukan, penyesuaian pembelajaran mesin dan sebagainya.

Kod sumber strategi
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved Moving Average Crossover Strategy", overlay=true)

// Define input variables
fast_length = input(9, title="Fast MA Length")
slow_length = input(21, title="Slow MA Length")
trend_length = input(50, title="Trend MA Length")
src = close

// Calculate moving averages
fast_ma = ta.sma(src, fast_length)
slow_ma = ta.sma(src, slow_length)
trend_ma = ta.sma(src, trend_length)

// Plot moving averages on the chart
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
plot(trend_ma, color=color.green, title="Trend MA")

// Define trend direction
is_uptrend = ta.crossover(slow_ma, trend_ma)
is_downtrend = ta.crossunder(slow_ma, trend_ma)

// Define buy and sell conditions
buy_condition = ta.crossover(fast_ma, slow_ma) and is_uptrend
sell_condition = ta.crossunder(fast_ma, slow_ma) and is_downtrend

// Execute trades based on conditions
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.close("Buy")

if (sell_condition)
    strategy.entry("Sell", strategy.short)
if (buy_condition)
    strategy.close("Sell")