Strategi Tren Rata-rata Bergerak dengan Crossover Rata-rata Bergerak


Tanggal Pembuatan: 2024-01-12 10:56:57 Akhirnya memodifikasi: 2024-01-12 10:56:57
menyalin: 0 Jumlah klik: 502
1
fokus pada
1617
Pengikut

Strategi Tren Rata-rata Bergerak dengan Crossover Rata-rata Bergerak

Ringkasan

Strategi perdagangan ini adalah strategi pelacakan tren yang didasarkan pada sistem rata-rata bergerak sederhana dan persilangan rata-rata rata-rata. Ini menggunakan persilangan rata-rata bergerak cepat dan rata-rata bergerak lambat dari periode yang berbeda sebagai sinyal untuk melakukan banyak shorting.

Prinsip Strategi

Strategi ini menggunakan siklus cepat seperti 60 hari rata-rata bergerak sederhana dan siklus lambat seperti 200 hari rata-rata bergerak sederhana. Rata-rata bergerak cepat dapat merespons perubahan harga lebih cepat, mencerminkan tren harga baru-baru ini; rata-rata bergerak lambat dapat merespons perubahan harga lebih lambat, mencerminkan tren jangka menengah dan panjang.

Ketika garis rata-rata periode pendek melintasi garis rata-rata periode panjang dari bawah, ini menunjukkan bahwa harga periode pendek mulai naik, masuk ke pasar multi-head, ini adalah lebih banyak. Ketika garis rata-rata periode pendek melintasi garis rata-rata periode panjang dari atas ke bawah, ini menunjukkan bahwa harga periode pendek mulai turun, masuk ke pasar kosong, ini adalah kosong.

Strategi ini menggunakan prinsip persilangan garis rata untuk menentukan arah tren. Ketika harga siklus pendek naik lebih cepat, garis rata-rata siklus pendek akan mendorong rata-rata siklus panjang ke atas, dan melintasi dari bawah. Ini menunjukkan bahwa pasar memasuki tren naik, dan harus melakukan lebih banyak. Sebaliknya, ketika harga siklus pendek turun lebih cepat, garis rata-rata siklus pendek akan menarik turun rata-rata siklus panjang, dan melintasi dari atas, yang menunjukkan bahwa pasar memasuki tren turun, dan harus dilakukan.

Strategi ini menangkap titik-titik perubahan dalam tren harga melalui persimpangan antara garis rata-rata cepat dan garis rata-rata lambat, dan menyesuaikan posisi kosong sesuai dengan itu. Ini adalah prinsip utama strategi ini untuk menilai tren dan menghasilkan sinyal perdagangan.

Analisis Keunggulan Strategi

  • Menggunakan crossover rata-rata untuk menilai tren utama dan menghindari kebisingan pasar jangka pendek.
  • Dengan dua dimensi waktu dalam jangka pendek dan jangka menengah, lebih stabil dan dapat diandalkan.
  • Ini memungkinkan pelacakan tren yang sederhana dan efektif, seperti melakukan over dalam tren naik, dan melakukan over dalam tren turun.
  • Moving Average sangat umum digunakan, mudah dipahami, dan parameternya dapat diatur secara fleksibel.
  • Parameter pengelolaan dana dapat disesuaikan, dan risiko dapat dikendalikan.

Analisis Risiko Strategi

  • Strategi ini bergantung pada tren harga yang jelas dan dapat gagal jika terjadi fluktuasi besar di pasar.
  • Dalam zona harga yang bergejolak, akan terjadi beberapa kali sinyal yang salah, sering membuka posisi dan menutup posisi.
  • Rata-rata bergerak memiliki keterbelakangan dan mungkin akan melewatkan titik balik harga.
  • Jika parameter tidak disetel dengan benar, titik stop loss terlalu kecil atau titik stop loss terlalu besar, maka pemain akan keluar dari permainan terlalu dini atau akan melakukan posisi kosong.
  • Parameter yang masuk akal memerlukan pengaturan optimasi berdasarkan karakteristik spesifik dari berbagai varietas.

Anda dapat menyesuaikan frekuensi fluktuasi untuk varietas yang berbeda dengan menyesuaikan parameter periodik dari rata-rata bergerak; memperbaiki strategi stop loss dan stop loss, menggunakan indikator yang lebih kompleks untuk mengurangi sinyal yang salah; menambahkan metode seperti penyaringan volume perdagangan untuk mengoptimalkan strategi dan meningkatkan stabilitas strategi.

Arah optimasi strategi

Strategi ini dapat dioptimalkan lebih lanjut dalam beberapa hal:

  1. Optimalkan parameter siklus lambat dan cepat dari moving average untuk varietas dengan frekuensi yang berbeda. Anda dapat menguji lebih banyak kombinasi untuk menemukan parameter yang optimal.

  2. Perubahan kondisi masuk ke lapangan, penyaringan lebih banyak indikator, seperti lonjakan volume transaksi, untuk mengurangi sinyal yang salah.

  3. Meningkatkan strategi stop loss, seperti tracking stop loss atau stop loss dinamis, untuk menghasilkan keuntungan yang lebih efisien.

  4. Pertimbangkan biaya transaksi seperti biaya prosesor, tambahkan modul penilaian biaya, dan lakukan simulasi yang lebih realistis.

  5. Untuk menemukan kombinasi parameter yang optimal untuk karakteristik varietas yang berbeda, desain Parameter Universe

  6. Meningkatkan pengenalan karakteristik lokal, membantu menentukan titik balik tren, meningkatkan waktu untuk membuka posisi dan menutup posisi.

Dengan mengoptimalkan strategi sistem, maka dapat meningkatkan profitabilitas dan stabilitas, serta mengurangi penarikan.

Meringkaskan

Strategi perdagangan ini didasarkan pada perpindahan tren harga berdasarkan perpindahan garis rata-rata, dan merupakan strategi pelacakan tren yang khas. Ini menggunakan perpindahan garis rata-rata berkala yang berbeda sebagai sinyal penarikan ganda, untuk menentukan arah tren melalui kombinasi garis rata-rata cepat dan garis rata-rata lambat, untuk menangkap tren yang efektif. Strategi ini stabil, dapat diandalkan, mudah dipahami dan diimplementasikan, dapat disesuaikan dengan sebagian besar varietas setelah pengoptimalan parameter, dan merupakan jenis strategi dasar untuk perdagangan kuantitatif.

Kode Sumber Strategi
/*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    —————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//