Strategi Trend Crossover Purata Bergerak

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

img

Ringkasan

Strategi perdagangan ini berdasarkan pada sistem crossover purata bergerak dan purata bergerak yang mudah untuk mengesan trend. Ia menggunakan persilangan purata bergerak pantas dan perlahan dengan tempoh yang berbeza sebagai isyarat untuk pergi panjang atau pendek. Apabila MA pantas melintasi di atas MA perlahan dari bawah, pergi panjang; apabila MA pantas melintasi di bawah MA perlahan dari atas, pergi pendek. Strategi ini berfungsi dengan baik untuk produk dengan trend yang jelas.

Logika Strategi

Strategi ini menggunakan purata bergerak mudah seperti 60 hari dan yang perlahan seperti 200 hari. MA cepat bertindak balas lebih cepat terhadap perubahan harga, mencerminkan trend jangka pendek; sementara MA perlahan bertindak balas lebih perlahan dan menunjukkan trend jangka menengah hingga panjang.

Apabila MA pendek melintasi di atas MA panjang dari bawah, ia menandakan bahawa harga jangka pendek mula meningkat dan memasuki pasaran lembu, jadi pergi panjang.

Strategi ini menggunakan persilangan MA untuk menentukan arah trend. Apabila harga jangka pendek meningkat lebih cepat, MA pendek akan mendorong MA panjang ke atas dan menyeberangnya dari bawah. Ini bermakna trend menaik sedang muncul dan kedudukan panjang harus diambil. Sebaliknya, apabila harga jangka pendek jatuh lebih cepat, MA pendek akan menarik MA panjang ke bawah dan menyeberangnya dari atas, yang menunjukkan trend menurun dan kedudukan pendek harus diambil.

Dengan menangkap titik perubahan trend harga menggunakan persimpangan MA yang cepat dan perlahan, strategi dapat menyesuaikan kedudukan panjang/pendek dengan sewajarnya.

Analisis Kelebihan

  • Menggunakan persilangan MA untuk menentukan trend utama, mengelakkan mengelirukan oleh bunyi pasaran jangka pendek.
  • Menganggap kedua-dua jangka pendek dan jangka sederhana hingga panjang, lebih stabil dan boleh dipercayai.
  • Melaksanakan pengesanan trend yang mudah dan berkesan, contohnya pergi panjang dalam trend menaik dan pendek dalam trend menurun.
  • Purata bergerak boleh digunakan secara meluas, mudah difahami, dan parameter fleksibel.
  • Parameter pengurusan risiko boleh diselaraskan untuk risiko terkawal.

Analisis Risiko

  • Strategi ini bergantung pada trend harga yang jelas, kegagalan boleh berlaku semasa turun naik pasaran yang ganas.
  • Whipsaws boleh menghasilkan banyak isyarat palsu semasa pasaran berkisar, menyebabkan pembukaan dan penutupan kedudukan yang kerap.
  • Purata bergerak mempunyai kelewatan, berpotensi kehilangan titik perubahan harga.
  • Tetapan parameter yang tidak betul seperti stop loss yang terlalu ketat atau mengambil keuntungan yang terlalu luas boleh membawa kepada keluar awal atau pembatalan kedudukan yang menguntungkan.
  • Parameter yang munasabah memerlukan pengoptimuman mengikut spesifikasi produk yang berbeza.

Kaedah-kaedah seperti menyesuaikan tempoh MA berdasarkan frekuensi turun naik produk, meningkatkan stop loss / mengambil keuntungan menggunakan penunjuk yang lebih kompleks, menambah penapis jumlah dll boleh mengoptimumkan strategi ini dan meningkatkan kestabilan.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Mengoptimumkan tempoh MA yang cepat dan perlahan untuk menyesuaikan diri dengan produk dengan frekuensi turun naik yang berbeza.

  2. Meningkatkan keadaan masuk dengan menambah lebih banyak penapis seperti lonjakan kelantangan untuk mengurangkan isyarat palsu.

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

  4. Pertimbangkan kos dagangan seperti komisen dan tambah modul penilaian kos untuk backtest yang lebih realistik.

  5. Reka bentuk Parameter Universe untuk mencari kombinasi parameter optimum yang disesuaikan dengan produk yang berbeza.

  6. Tambah pengenalan corak tempatan untuk membantu menentukan titik perubahan trend dan meningkatkan masa masuk dan keluar.

Melalui pengoptimuman strategi yang sistematik, keuntungan, kestabilan dapat ditingkatkan dengan ketara dan pengeluaran dapat dikurangkan.

Ringkasan

Strategi perdagangan menentukan perubahan trend menggunakan MA crossover, strategi trend berikut yang biasa. Ia menggunakan persilangan antara MA cepat dan perlahan untuk menjana isyarat panjang / pendek, mengenal pasti arah trend melalui kombinasi kedua-duanya. Strategi ini dengan mantap dan boleh dipercayai menangkap trend dan mudah difahami dan dilaksanakan. Apabila dioptimumkan, ia dapat disesuaikan dengan kebanyakan produk dan membentuk strategi perdagangan kuantitatif asas. Penambahbaikan lanjut dalam keuntungan dan kadar kemenangan dapat dicapai dengan menggabungkan dengan penunjuk teknikal lain, mengoptimumkan strategi stop loss / mengambil keuntungan 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 lanjut