Strategi Trend Crossover Rata-rata yang Bergerak

Penulis:ChaoZhang, Tanggal: 2024-01-12 10:56:57
Tag:

img

Gambaran umum

Strategi trading ini didasarkan pada sistem crossover rata-rata bergerak dan rata-rata bergerak sederhana untuk pelacakan tren. Ini menggunakan crossover rata-rata bergerak cepat dan lambat dengan periode yang berbeda sebagai sinyal untuk pergi panjang atau pendek. Ketika MA cepat melintasi di atas MA lambat dari bawah, pergi panjang; ketika MA cepat melintasi di bawah MA lambat dari atas, pergi pendek. Strategi ini bekerja dengan baik untuk produk dengan tren yang jelas.

Logika Strategi

Strategi ini menggunakan rata-rata bergerak sederhana cepat seperti 60 hari dan lambat seperti 200 hari. MA cepat merespons lebih cepat terhadap perubahan harga, mencerminkan tren jangka pendek; sementara MA lambat merespons lebih lambat dan menunjukkan tren jangka menengah hingga panjang.

Ketika MA pendek melintasi di atas MA panjang dari bawah, itu menandakan bahwa harga jangka pendek mulai naik dan memasuki pasar bull, jadi pergi panjang.

Strategi ini menggunakan MA crossover untuk menentukan arah tren. Ketika harga jangka pendek naik lebih cepat, MA pendek akan mendorong MA panjang ke atas dan melintasi dari bawah. Ini berarti tren naik sedang muncul dan posisi panjang harus diambil. Sebaliknya, ketika harga jangka pendek turun lebih cepat, MA pendek akan menarik MA panjang ke bawah dan melintasi dari atas, yang menyiratkan tren menurun dan posisi pendek harus diambil.

Dengan menangkap titik perubahan tren harga menggunakan penyeberangan MA yang cepat dan lambat, strategi dapat menyesuaikan posisi panjang/pendek sesuai.

Analisis Keuntungan

  • Menggunakan MA crossover untuk menentukan tren utama, menghindari menyesatkan oleh suara pasar jangka pendek.
  • Menganggap jangka pendek dan jangka menengah hingga jangka panjang, lebih stabil dan dapat diandalkan.
  • Mengimplementasikan pelacakan tren yang sederhana dan efektif, misalnya pergi panjang dalam tren naik dan pendek dalam tren turun.
  • Rata-rata bergerak dapat diterapkan secara luas, mudah dimengerti, dan parameternya fleksibel.
  • Parameter manajemen risiko dapat disesuaikan untuk risiko yang terkendali.

Analisis Risiko

  • Strategi ini didasarkan pada tren harga yang jelas, kegagalan dapat terjadi selama perubahan pasar yang ganas.
  • Whipsaws dapat menghasilkan banyak sinyal palsu selama pasar berkisar, menyebabkan pembukaan dan penutupan posisi yang sering.
  • Rata-rata bergerak memiliki keterlambatan, berpotensi kehilangan titik balik harga.
  • Pengaturan parameter yang tidak tepat seperti stop loss terlalu ketat atau mengambil keuntungan terlalu luas dapat menyebabkan keluar atau menutup posisi yang menguntungkan.
  • Parameter yang wajar perlu dioptimalkan sesuai dengan spesifikasi produk yang berbeda.

Metode seperti menyesuaikan periode MA berdasarkan frekuensi volatilitas produk, meningkatkan stop loss/take profit menggunakan indikator yang lebih kompleks, menambahkan filter volume dll dapat mengoptimalkan strategi ini dan meningkatkan stabilitas.

Arahan Optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:

  1. Mengoptimalkan periode MA cepat dan lambat untuk beradaptasi dengan produk dengan frekuensi volatilitas yang berbeda.

  2. Meningkatkan kondisi masuk dengan menambahkan lebih banyak filter seperti lonjakan volume untuk mengurangi sinyal palsu.

  3. Meningkatkan stop loss/take profit seperti trailing stop atau dynamic take profit untuk meningkatkan profitabilitas.

  4. Pertimbangkan biaya perdagangan seperti komisi dan tambahkan modul evaluasi biaya untuk backtest yang lebih realistis.

  5. Desain Parameter Universe untuk menemukan kombinasi parameter optimal yang disesuaikan dengan produk yang berbeda.

  6. Tambahkan identifikasi pola lokal untuk membantu menentukan titik balik tren dan meningkatkan waktu masuk dan keluar.

Melalui optimalisasi strategi yang sistematis, profitabilitas, stabilitas dapat ditingkatkan secara signifikan dan pengurangan pengeluaran dapat dikurangi.

Ringkasan

Strategi perdagangan menentukan pergeseran tren menggunakan MA crossover, strategi yang mengikuti tren yang khas. Ini menggunakan crossover antara MA cepat dan lambat untuk menghasilkan sinyal panjang / pendek, mengidentifikasi arah tren melalui kombinasi keduanya. Strategi ini secara stabil dan dapat diandalkan menangkap tren dan mudah dipahami dan diimplementasikan. Ketika dioptimalkan, dapat beradaptasi dengan sebagian besar produk dan membentuk strategi perdagangan kuantitatif mendasar. Peningkatan lebih lanjut dalam profitabilitas dan tingkat kemenangan dapat dicapai dengan menggabungkan dengan indikator teknis lainnya, mengoptimalkan strategi stop loss / take profit dll.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 10m
basePeriod: 1m
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/
// © thebearfib
//
//@version=5
//

strategy("x-over 150d_200d_sma - Free", overlay = true)

repaint = input.bool(defval = false, title = "[RePaint] Uncheck to see real time results") //when you deselect it - it shows what would have happened in real time while trading the system
srcmc   = request.security(syminfo.tickerid, 'D', open, lookahead= repaint ? barmerge.lookahead_on : barmerge.lookahead_off, gaps=barmerge.gaps_off)

fast_length         = input(title="Fast Length", defval=60)
slow_length         = input(title="Slow Length", defval=275)

_fast               = ta.sma(srcmc,  fast_length)
_slow               = ta.sma(srcmc,  slow_length)

plot(_fast, 
  title="Fast SMA", 
  color=color.red,
  linewidth = 1) 

plot(_slow, 
  title="Slow SMA", 
  color=color.white,
  linewidth = 3)
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Calculating  —————————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//
longProfitPerc      = input.float(title="Long Take Profit (%)", minval=0.01, step=1.0, defval=42) * .01
longStopPerc        = input.float(title="Long Stop (%)",        minval=0.01, step=1.0, defval=13)  * .01
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Stop Conditions   ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longExitPrice  = strategy.opentrades > 0 ? strategy.position_avg_price * (1 + longProfitPerc) : srcmc *  (1 + longProfitPerc)
longStopPrice = strategy.opentrades  > 0 ? strategy.position_avg_price * (1 - longStopPerc)   : srcmc *  (1 - longStopPerc)
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Long Conditions   ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longCondition   = srcmc > _slow and  ta.crossover(_fast, _slow)
closeCondition  =  ta.crossover(srcmc, _slow)  

if (longCondition)
    strategy.entry("Entry (long)", strategy.long, comment="→ 𝗟𝗴 𝗘𝗻𝘁𝗿𝘆")

if (closeCondition)
    strategy.close("Entry (long)", comment=" 𝗟𝗴 𝗘𝘅𝗶𝘁 ←")

if (strategy.position_size > 0)
    strategy.exit(id="XL", limit=longExitPrice, stop = longStopPrice, comment_profit = "Take Profit", comment_loss = "Stop Loss")
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// —————————————————————————————————  Never the End Just the beginning    —————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//

Lebih banyak