Strategi Pembalikan Mengikuti Tren Dinamis


Tanggal Pembuatan: 2024-01-16 15:35:18 Akhirnya memodifikasi: 2024-01-16 15:35:18
menyalin: 0 Jumlah klik: 592
1
fokus pada
1617
Pengikut

Strategi Pembalikan Mengikuti Tren Dinamis

Ringkasan

Strategi berbalik tren yang dinamis adalah strategi perdagangan kuantitatif jangka pendek yang didasarkan pada indikator JD Sequential. Strategi ini dilakukan dengan cara melacak harga secara real-time pada titik tertinggi dan terendah, menilai arah dan intensitas tren saat ini, dan secara efisien menangkap titik balik pasar, dan melakukan penetapan waktu masuk dan keluar. Dibandingkan dengan strategi JD Sequential tradisional, strategi ini membuat perbaikan sebagai berikut:

  1. Menggunakan titik tinggi dan rendah untuk menilai tren, bukan harga akhir, dapat menangkap perubahan harga lebih cepat.
  2. Dengan jumlah maksimum 7 bukan 9, penghitung dapat menghasilkan sinyal perdagangan lebih cepat.
  3. Ditambahkan dukungan resistor line dan 5 count reversal sebagai opsi stop loss.

Strategi ini cocok untuk digunakan pada periode waktu garis pendek seperti 5 menit, 15 menit, dan dapat secara efektif menangkap fluktuasi harga jangka pendek dan peluang reversal.

Prinsip Strategi

Logika inti dari strategi reversal tracking tren dinamis didasarkan pada indikator JD Sequential, yang membandingkan periode saat ini dengan dua periode sebelumnya dengan titik tinggi dan rendah, untuk menentukan apakah harga terus-menerus membuat titik tinggi yang lebih tinggi atau titik rendah yang lebih rendah, sehingga memberikan angka berurutan 1-7.

Secara khusus, kebijakan tersebut mendefinisikan variabel-variabel berikut:

  • sp_up: benar jika harga puncak melebihi harga puncak periode kedua sebelumnya
  • sp_dn: benar jika harga terendah lebih rendah dari harga terendah periode kedua sebelumnya
  • sp_ct: mencatat hitungan saat ini, + 1 hitungan jika sp_up atau sp_dn adalah benar, hingga 7
  • sp_com: benar saat hitungan sama dengan 7
  • sp_usr: nilai 7 dan harga rata-rata saat sp_up, sebagai resistensi ke atas
  • sp_dsr: nilai rata-rata pada waktu sp_dn dengan nilai 7 sebagai dukungan ke bawah

Sinyal perdagangan dihasilkan dengan logika:

  • Sinyal Posisi Panjang: sp_com adalah benar dan sp_dn adalah benar, yang berarti penghitungan selesai dan berada dalam tren turun
  • Sinyal posisi pendek: sp_com adalah benar dan sp_up adalah benar, menunjukkan bahwa penghitungan selesai dan berada dalam tren naik

Stop loss adalah:

  • Hentikan posisi panjang: hitung mundur ke 5 ((sp_up adalah true) atau harga naik sp_usr
  • Stop short: count kembali ke 5 ((sp_dn adalah true) atau harga turun sp_dsr

Strategi ini menentukan arah dan intensitas tren melalui titik tinggi dan rendah secara real-time, dengan waktu masuk counter, dan dapat secara efektif menangkap peluang reversal jangka pendek. Sementara itu, mengatur garis stop loss untuk mengendalikan risiko.

Analisis Keunggulan

Dibandingkan dengan strategi JD Sequential tradisional, strategi reversal pelacakan tren dinamis memiliki keuntungan sebagai berikut:

  1. Sinyal yang lebih cepat dihasilkan. Menggunakan perbandingan titik tinggi dan rendah dapat menangkap tren lebih cepat daripada harga close out. Perhitungan 7 dapat menghasilkan sinyal lebih cepat daripada perhitungan 9.
  2. Menambahkan mekanisme stop loss. Menambahkan 5 countdowns dan mendukung resistance stop loss dapat lebih baik mengendalikan risiko.
  3. Fleksibilitas konfigurasi. Anda dapat memilih apakah akan menambahkan stop loss dan menampilkan hitungan parsial.
  4. Cocok untuk jalur pendek. Sinyal frekuensi tinggi dengan stop loss yang tepat, terutama cocok untuk jalur pendek.

Keuntungan utama dari strategi ini adalah respon yang cepat dan dapat secara efektif menangkap fluktuasi besar yang disebabkan oleh kejadian jangka pendek. Selain itu, dibandingkan dengan perdagangan yang sepenuhnya manual, pembuatan sinyal algoritmik dan stop loss dapat mengurangi dampak emosional pedagang, sehingga meningkatkan stabilitas.

Analisis risiko

Strategi untuk membalikkan tren dinamika juga memiliki beberapa risiko:

  1. Transaksi dengan frekuensi tinggi meningkatkan biaya transaksi. Transaksi dengan frekuensi tinggi menghasilkan lebih banyak biaya dan biaya slippage.
  2. Dalam pasar yang bergejolak, perbandingan titik tinggi dan rendah mungkin sering memicu sinyal perdagangan, mudah untuk ditiru.
  3. Stop loss terlalu radikal. Hard stop loss mudah di-second, dapat dipertimbangkan untuk stop loss yang ditransfer tepat waktu.

Untuk mengurangi risiko di atas, optimasi dapat dilakukan dalam beberapa hal berikut:

  1. Mengubah ukuran kepemilikan untuk mengurangi jumlah modal yang digunakan dalam satu transaksi.
  2. Untuk menghindari transaksi yang tidak valid, trading harus dihentikan pada saat terjadi gempa bumi.
  3. Menggunakan Stop Loss Mobile atau Stop Loss Breakout untuk mengurangi probabilitas setor.

Arah optimasi strategi

Ada banyak ruang untuk optimasi dalam strategi trend-following dan reversal, yang meliputi:

  1. Portfolio periode waktu yang lebih tinggi dapat menentukan arah tren utama dalam periode waktu yang lebih tinggi, menghindari perdagangan yang bertentangan dengan tren utama.

  2. Kombinasi dengan indikator lain. Dapat dikombinasikan dengan indikator tingkat fluktuasi, indikator volume transaksi, dll, untuk meningkatkan kualitas sinyal.

  3. Filter Pembelajaran Mesin. Menggunakan algoritma pembelajaran mesin untuk penilaian tambahan terhadap sinyal perdagangan, mengurangi perdagangan yang salah.

  4. Optimasi parameter. Anda dapat mengoptimalkan parameter seperti jumlah siklus penghitungan, periode perdagangan, dan persentase kepemilikan posisi, sesuai dengan kondisi pasar yang berbeda.

  5. Menambahkan mekanisme pengendalian risiko. Menambahkan cara pengendalian risiko yang lebih kaya seperti stop loss bergerak, kontrol posisi, dan lain-lain untuk membatasi risiko lebih lanjut.

  6. Pengukuran akumulasi data. Perluasan jumlah sampel pengukuran ulang dan rentang waktu, stabilitas parameter pengujian.

Meringkaskan

Strategi reversal pelacakan tren dinamis menghasilkan sinyal perdagangan dengan menggunakan 7 aturan hitung indikator JD Sequential untuk menangkap peluang reversal jangka pendek dengan cara menilai arah dan kekuatan tren dari titik rendah yang lebih tinggi secara real-time. Dibandingkan dengan strategi JD tradisional, strategi ini membuat perbaikan seperti menggunakan penilaian titik rendah yang lebih tinggi, mengurangi siklus hitung, dan meningkatkan mekanisme stop loss, yang memungkinkan sinyal perdagangan yang lebih tepat waktu.

Keuntungan utama dari strategi ini adalah respon yang cepat, cocok untuk menangkap reversal garis pendek, tetapi ada juga risiko seperti perdagangan yang sering, stop loss radikal. Arah optimasi di masa depan meliputi penyesuaian parameter, peningkatan mekanisme kontrol risiko, kombinasi siklus waktu yang banyak, dll. Dengan terus-menerus mengoptimalkan dan iterasi, strategi ini diharapkan menjadi alat yang kuat untuk menangkap sinyal reversal jangka pendek secara efisien.

Kode Sumber Strategi
/*backtest
start: 2023-12-16 00:00:00
end: 2024-01-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @NeoButane 7 Dec. 2018
// JD Aggressive Sequential Setup
// Not based off official Tom DeMarke documentation. As such, I have named the indicator JD instead oF TD to reflect this, and as a joke.
//
// Difference vs. TD Sequential: faster trade exits and a unique entry. Made for low timeframes.
// - Highs or lows are compared instead of close.
// - Mirrors only the Setup aspect of TD Sequential (1-9, not to 13)
// - Count maxes out at 7 instead of 9. Also part of the joke if I'm going to be honest here

// v1 - Release - Made as a strategy, 7 count
//    . S/R on 7 count
//   .. Entry on 7 count
//  ... Exit on 5 count or S/R cross

//@version=3
title = "JD Aggressive Sequential Setup"
vers  = " 1.0 [NeoButane]"
total = title + vers
strategy(total, total, 1, 0)

xx        = input(true, "Include S/R Crosses Into Stop Loss")
show_sp   = input(true, "Show Count 1-4")
sp_ct     = 0
inc_sp(x) => nz(x) == 7 ? 1 : nz(x) + 1
sp_up     = high > high[2]
sp_dn     = low < low[2]
sp_col    = sp_up ? green : red
sp_comCol = sp_up ? red : green
sp_ct    := sp_up ? (nz(sp_up[1]) and sp_col == sp_col[1] ? inc_sp(sp_ct[1]) : 1) : sp_dn ? (nz(sp_dn[1]) and sp_col == sp_col[1] ? inc_sp(sp_ct[1]) : 1) : na
sp_com    = sp_ct == 7
sp_sr     = valuewhen(sp_ct == 5, close, 0)
sp_usr    = valuewhen(sp_ct == 7 and sp_up, sma(hlc3, 2), 0)
sp_usr   := sp_usr <= sp_usr[1] * 1.0042 and sp_usr >= sp_usr[1] * 0.9958 ? sp_usr[1] : sp_usr
sp_dsr    = valuewhen(sp_ct == 7 and sp_dn, sma(hlc3, 2), 0)
sp_dsr   := sp_dsr <= sp_dsr[1] * 1.0042 and sp_dsr >= sp_dsr[1] * 0.9958 ? sp_dsr[1] : sp_dsr
locc = location.abovebar
plotchar(show_sp and sp_ct == 1, 'Setup: 1', '1', locc, sp_col, editable=false)
plotchar(show_sp and sp_ct == 2, 'Setup: 2', '2', locc, sp_col, editable=false)
plotchar(show_sp and sp_ct == 3, 'Setup: 3', '3', locc, sp_col, editable=false)
plotchar(show_sp and sp_ct == 4, 'Setup: 4', '4', locc, sp_col, editable=false)
plotshape(sp_ct == 5, 'Setup: 5', shape.xcross, locc, sp_comCol, 0, 0, '5', sp_col)
plotshape(sp_ct == 6, 'Setup: 6', shape.circle, locc, sp_comCol, 0, 0, '6', sp_col)
plotshape(sp_ct == 7, 'Setup: 7', shape.circle, locc, sp_comCol, 0, 0, '7', sp_col)
// plot(sp_sr, "5 Count Support/Resistance", gray, 2, 6)
plot(sp_usr, "7 Count Resistance", maroon, 2, 6)
plot(sp_dsr, "7 Count Support", green, 2, 6)

long  = (sp_com and sp_dn)
short = (sp_com and sp_up)
sl_l  = xx ? crossunder(close, sp_dsr) or (sp_ct == 5 and sp_up) or short : (sp_ct == 5 and sp_up) or short
sl_s  = xx ? crossover(close, sp_usr) or (sp_ct == 5 and sp_dn) or long : (sp_ct == 5 and sp_dn) or long

strategy.entry('L', 1, when = long)
strategy.close('L', when = sl_l)
strategy.entry('S', 0, when = short)
strategy.close('S', when = sl_s)