Sumber daya yang dimuat... Pemuatan...

Sistem Pengamatan Tren Kotak Ganda

Penulis:ChaoZhang, Tanggal: 2023-11-02 17:19:22
Tag:

Gambaran umum

Trend Following System adalah strategi pelacakan tren berdasarkan sistem kotak ganda. Sistem ini menggunakan kotak jangka panjang untuk menentukan arah tren keseluruhan dan mengambil sinyal yang selaras dengan tren utama ketika kotak jangka pendek dipicu. Strategi ini mengikuti tren sambil mengelola risiko.

Logika Strategi

Strategi menggunakan dua kotak untuk menentukan tren. kotak jangka panjang menggunakan periode yang lebih lama untuk menilai arah tren utama, dan kotak jangka pendek menggunakan periode yang lebih pendek untuk menghasilkan sinyal perdagangan.

Pertama, strategi menghitung harga tertinggi dan terendah dari kotak jangka panjang untuk menentukan arah tren utama.

  • Jika harga tertinggi melintasi harga tertinggi dari bar sebelumnya, itu didefinisikan sebagai tren naik, yang diberikan nilai 1
  • Jika harga terendah melintasi di bawah harga terendah dari bar sebelumnya, itu didefinisikan sebagai downtrend, yang diberikan nilai -1
  • Jika tidak, mempertahankan arah tren asli

Setelah menentukan tren utama, strategi mulai mengambil posisi berdasarkan sinyal kotak jangka pendek.

  • Ketika tren utama naik dan harga terendah kotak jangka pendek sama dengan harga terendah bar sebelumnya dan lebih rendah dari harga terendah kotak jangka pendek saat ini, pergi panjang.
  • Ketika tren utama menurun dan harga tertinggi kotak jangka pendek sama dengan harga tertinggi bar sebelumnya dan lebih tinggi dari harga tertinggi kotak jangka pendek saat ini, pergi pendek.

Selain itu, stop loss dan take profit dikonfigurasi:

  • Stop loss panjang adalah harga terendah dari kotak jangka panjang, stop loss pendek adalah harga tertinggi dari kotak jangka panjang
  • Long take profit adalah harga tertinggi dari kotak jangka pendek, take profit pendek adalah harga terendah dari kotak jangka pendek

Ketika tren utama berbalik, tutup semua posisi.

Analisis Keuntungan

Keuntungan dari strategi ini meliputi:

  1. Sistem kotak ganda secara efektif mengidentifikasi arah tren dan mengurangi perdagangan yang salah
  2. Hanya mengambil sinyal pembalikan yang selaras dengan tren utama menghindari tertipu oleh kebisingan pasar jangka pendek
  3. Kombinasi periode panjang dan pendek memastikan menangkap tren utama sambil mempertahankan fleksibilitas penyesuaian posisi
  4. Stop loss dan titik profit yang wajar untuk mengendalikan risiko sambil mengikuti tren
  5. Cepat meratakan semua posisi ketika tren utama berbalik meminimalkan kerugian

Analisis Risiko

Risiko dari strategi ini meliputi:

  1. Pengaturan jangka panjang dan jangka pendek yang tidak tepat dapat menyebabkan overtrading atau kehilangan peluang
  2. Pembalikan jangka pendek mungkin tidak mewakili perubahan tren jangka panjang, masih menimbulkan risiko kerugian
  3. Stop loss yang terlalu dekat dapat dihentikan terlalu dini
  4. Mengambil keuntungan terlalu longgar mungkin tidak memaksimalkan keuntungan
  5. Penilaian yang salah tentang tren utama mengarah pada kerugian
  6. Solusi termasuk penyesuaian periode, mengoptimalkan pemberhentian / target, menambahkan filter dll.

Arahan Optimasi

Strategi dapat ditingkatkan dengan:

  1. Menambahkan filter untuk menghindari kebocoran palsu
  2. Mengoptimalkan periode panjang dan pendek untuk produk yang berbeda
  3. Mengatur secara dinamis tingkat stop loss dan take profit
  4. Memasukkan aturan ukuran posisi
  5. Menggunakan volume dll untuk menilai keandalan perubahan tren
  6. Menggunakan pembelajaran mesin untuk mengoptimalkan parameter dan filter secara otomatis

Ringkasan

Trend Following System adalah strategi perdagangan tren praktis yang menggabungkan penentuan tren dan penyesuaian jangka pendek. Dengan optimasi berkelanjutan, sistem ini dapat menjadi sistem otomatis yang kuat yang melacak tren sambil mengendalikan risiko.

[/trans]


/*backtest
start: 2023-10-25 00:00:00
end: 2023-10-26 07:00:00
period: 5m
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/
// © LonesomeTheBlue

//@version=4
strategy("Grab Trading System", overlay = true)
flb = input(defval = 80, title = "Longterm Period", minval = 1)
slb = input(defval = 21, title = "Shortterm Period", minval = 1)
showtarget = input(defval = true, title = "Show Target")
showtrend = input(defval = true, title = "Show Trend")

major_resistance = highest(flb)
major_support = lowest(flb)
minor_resistance = highest(slb)
minor_support = lowest(slb)

var int trend = 0
trend := high > major_resistance[1] ? 1 : low < major_support[1] ? -1 : trend
strategy.entry("Buy", true, when = trend == 1 and low[1] == minor_support[1] and low > minor_support)
strategy.entry("Sell", false, when = trend == -1 and high[1] == minor_resistance[1] and high < minor_resistance)

if strategy.position_size > 0
    strategy.exit("Buy", stop = major_support, comment = "Stop Buy")
    if high[1] == minor_resistance[1] and high < minor_resistance
        strategy.close("Buy", comment ="Close Buy")
    
if strategy.position_size < 0
    strategy.exit("Sell", stop = major_resistance, comment = "Stop Sell")
    if low[1] == minor_support[1] and low > minor_support
        strategy.close("Sell", comment ="Close Sell")

if strategy.position_size != 0 and change(trend)
    strategy.close_all()
    
majr = plot(major_resistance, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na)
majs = plot(major_support, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na)
minr = plot(minor_resistance, color = showtarget and trend == 1 and strategy.position_size > 0 ? color.yellow : na, style = plot.style_circles)
mins = plot(minor_support, color = showtarget and trend == -1 and strategy.position_size < 0 ? color.yellow : na, style = plot.style_circles)

fill(majs, mins, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na, transp = 85)
fill(majr, minr, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na, transp = 85)


Lebih banyak