Strategi Pembalikan Purata Bergerak Berganda
Gambaran Keseluruhan
Strategi ini direka berdasarkan prinsip persilangan emas dan persilangan maut bagi dua purata bergerak. Apabila purata bergerak jangka pendek melintasi ke atas purata bergerak jangka panjang, posisi panjang diambil; apabila purata bergerak jangka pendek melintasi ke bawah purata bergerak jangka panjang, posisi ditutup. Strategi ini mudah difahami dan sesuai untuk pelajar baharu.
Prinsip Strategi
Strategi ini terutamanya berdasarkan dua penunjuk purata bergerak iaitu sma(close, 14) dan sma(close, 28).
Pertama, takrifkan purata bergerak panjang dan pendek:
pine
short_ma = sma(close, 14)
long_ma = sma(close, 28)
Kemudian, tentukan kemasukan dan pelepasan berdasarkan persilangan emas dan persilangan maut:
pine
longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma)
Apabila purata bergerak jangka pendek melintasi ke atas purata bergerak jangka panjang, ambil posisi panjang:
pine
strategy.entry("Buy", strategy.long, when = longCondition)
Apabila purata bergerak jangka pendek melintasi ke bawah purata bergerak jangka panjang, tutup posisi:
pine
strategy.close_all(when = shortCondition)
Prinsip strategi ini mudah dan jelas, menggunakan persilangan emas dan persilangan maut dua purata bergerak untuk membuat keputusan, dan mempunyai keupayaan mengikut arah aliran yang sederhana.
Analisis Kelebihan
- Prinsip strategi mudah difahami, pengguna baharu pun boleh menggunakannya dengan mudah
- Menggunakan persilangan emas dan persilangan maut purata bergerak untuk menilai arah aliran, mempunyai keupayaan mengikut arah aliran yang sederhana
- Tempoh purata bergerak boleh disesuaikan sendiri untuk mengoptimumkan parameter strategi
- Boleh menetapkan titik henti rugi untuk mengawal kerugian setiap dagangan
Analisis Risiko
- Strategi dua purata bergerak sensitif terhadap turun naik pasaran, mungkin menghasilkan banyak dagangan rugi
- Purata bergerak mempunyai sifat ketinggalan, mungkin terlepas titik pembalikan harga
- Membuka kedudukan berhampiran titik persilangan purata bergerak mudah terperangkap
- Perlu mengoptimumkan parameter tempoh purata bergerak, kesan mungkin berbeza untuk tempoh yang berbeza
- Tidak boleh menghentikan rugi dengan cepat apabila arah aliran berubah secara mendadak
Arah Pengoptimuman
Strategi ini boleh dioptimumkan dari beberapa aspek berikut:
- Mengoptimumkan parameter tempoh purata bergerak untuk mencari kombinasi parameter terbaik
Boleh mencuba tempoh purata bergerak jangka pendek dan jangka panjang yang berbeza untuk mencari kombinasi terbaik. Contohnya, ujian perbandingan parameter seperti (5, 10), (10, 20), (20, 60), dsb.
- Menambah syarat penapisan untuk mengelakkan isyarat palsu
Boleh menambah syarat penapisan seperti volum dagangan, spread harga, dsb. semasa persilangan purata bergerak untuk mengelakkan terlalu banyak dagangan dalam pasaran yang tidak menentu.
- Menambah strategi henti rugi
Menetapkan titik henti rugi atau menggunakan purata bergerak sebagai garis henti rugi boleh mengawal kerugian setiap dagangan.
- Menggabungkan dengan penunjuk lain
Boleh menambah penunjuk tambahan seperti MACD, KDJ, dsb. untuk dagangan gabungan bagi meningkatkan keberkesanan strategi.
- Mengoptimumkan titik kemasukan
Mencari titik kemasukan yang lebih baik berhampiran purata bergerak, bukannya membuka kedudukan tepat pada purata bergerak. Contohnya, masuk pada titik perbezaan (divergence) purata bergerak.
Ringkasan
Konsep strategi dua purata bergerak adalah ringkas, mudah digunakan oleh pelajar baharu. Walau bagaimanapun, strategi ini sensitif terhadap turun naik pasaran dan mempunyai risiko kerugian tertentu. Kita boleh meningkatkan keberkesanan strategi dengan mengoptimumkan parameter, menambah syarat penapisan, menetapkan henti rugi, dan menambah penunjuk lain. Dalam arah aliran yang kukuh, strategi ini boleh memberikan hasil yang baik. Walau bagaimanapun, dalam tempoh pasaran yang tidak menentu, adalah disyorkan untuk menggunakannya dengan berhati-hati atau menetapkan henti rugi untuk mengawal risiko.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=2
// strategy("Tester", pyramiding = 50, default_qty_type = strategy.cash, default_qty_value = 20, initial_capital = 2000, commission_type = strategy.commission.percent, commission_value = 0.25)
minGainPercent = input(0.6)- 1
