Strategi Kotak Putih Robot Saluran Harga


Tanggal Pembuatan: 2024-02-28 17:51:14 Akhirnya memodifikasi: 2024-02-28 17:51:14
menyalin: 0 Jumlah klik: 356
1
fokus pada
1166
Pengikut

Strategi Kotak Putih Robot Saluran Harga

Ringkasan

Strategi kotak putih robot saluran harga adalah strategi perdagangan mekanis sederhana yang didasarkan pada indikator saluran harga. Strategi ini menggunakan batas atas dan bawah saluran harga untuk menentukan waktu masuk dan keluar.

Prinsip Strategi

Logika inti dari strategi kotak putih robot saluran harga adalah:

  1. Menggunakan fungsi tertinggi dan terendah untuk menghitung harga tertinggi dan terendah dari garis akar len K terbaru, yang didefinisikan sebagai batas atas dan bawah dari saluran harga
  2. Perhitungan harga saluran median: ((harga tertinggi + harga terendah) / 2
  3. Jika harga naik dan melewati batas atas saluran harga, maka Anda harus melakukan over-positioning.
  4. Ketika harga di bawah batas bawah saluran harga, kosongkan posisi
  5. Ketika harga kembali ke harga tengah saluran harga, posisi terdepan

Strategi ini juga memiliki beberapa parameter yang dapat dikonfigurasi:

  • Panjang saluran harga len: 50 garis K secara default
  • Jenis penutup: multihead, head kosong dapat dikonfigurasi secara terpisah
  • Jumlah posisi terbuka: 100% dari hak milik akun default
  • Stop loss: pilihan untuk menggunakan harga tengah saluran harga sebagai stop loss
  • Waktu perdagangan: dapat dikonfigurasi untuk perdagangan hanya dalam jangka waktu tanggal yang ditentukan

Dengan menyesuaikan parameter ini, strategi dapat disesuaikan dengan varietas dan lingkungan pasar yang berbeda.

Analisis Keunggulan

Strategi kotak putih robot saluran harga memiliki keuntungan sebagai berikut:

  1. Strategi logis sederhana, mudah dipahami dan diterapkan
  2. Menggunakan indikator saluran harga untuk menilai tren dan pembalikan
  3. Lebih banyak parameter yang dapat dikonfigurasi, lebih mudah beradaptasi
  4. Built-in Stop Loss Mechanism, yang dapat membatasi kerugian
  5. Mendukung penyaringan waktu untuk menghindari dampak dari peristiwa besar

Secara keseluruhan, strategi ini adalah strategi pelacakan tren yang sederhana dan praktis, dan setelah dimodifikasi parameter, dapat memperoleh hasil yang baik.

Analisis risiko

Strategi kotak putih robot saluran harga juga memiliki beberapa risiko:

  1. Indikator saluran harga sensitif terhadap parameter len, yang memerlukan pengujian dan pengoptimalan independen untuk periode waktu dan varietas yang berbeda
  2. Pelacakan Stop Loss Berisiko Diberundingkan, Perlu Adaptasi Jarak Stop Loss Berdasarkan Volatilitas Pasar
  3. Dalam kondisi horizontal dan bergejolak, lebih banyak transaksi yang tidak relevan, meningkatkan biaya transaksi dan kehilangan slippage

Untuk mengurangi risiko ini, perlu dilakukan optimalisasi dalam beberapa hal:

  1. Mengoptimalkan parameter secara otomatis menggunakan metode Walk Forward Analysis
  2. Termasuk dalam zona penyangga harga stop loss untuk menghindari peluang untuk melakukan arbitrage.
  3. Meningkatkan indikator penilaian tren untuk menghindari perdagangan di pasar yang bergejolak

Arah optimasi

Strategi kotak putih robot saluran harga masih memiliki ruang untuk pengoptimalan lebih lanjut:

  1. Meningkatkan penilaian terhadap tren siklus besar, menghindari perdagangan berlawanan
  2. Menggabungkan perbedaan harga antara varietas untuk mengatur parameter dan memanfaatkan peluang lelang
  3. Menambahkan zona penyangga acak pada harga stop loss untuk mengurangi probabilitas terjadinya lelang
  4. Parameter saluran harga yang disesuaikan dengan dinamika fluktuasi pasar
  5. Strategi pengoptimalan agen yang dilatih untuk varietas tertentu menggunakan metode pembelajaran mendalam

Dengan cara-cara optimasi ini, diharapkan stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.

Meringkaskan

Strategi kotak putih robot saluran harga adalah strategi pelacakan tren yang sederhana namun praktis. Strategi ini menilai arah tren dan titik balik dengan indikator saluran harga, dan dengan demikian membuat keputusan perdagangan. Strategi ini mudah dipahami dan diimplementasikan, dan dapat memperoleh hasil yang baik setelah pengoptimalan parameter.

Kode Sumber Strategi
/*backtest
start: 2023-02-21 00:00:00
end: 2024-02-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro

//@version=4
strategy(title = "Robot WhiteBox Channel", shorttitle = "Robot WhiteBox Channel", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstop = input(true, defval = true, title = "Stop-loss")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
len = input(50, minval = 1, title = "Price Channel Length")
showll = input(true, defval = true, title = "Show lines")
showbg = input(false, defval = false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Price Channel
h = highest(high, len)
l = lowest(low, len)
center = (h + l) / 2

//Lines
pccol = showll ? color.black : na
slcol = showll ? color.red : na
plot(h, offset = 1, color = pccol)
plot(center, offset = 1, color = slcol)
plot(l, offset = 1, color = pccol)

//Background
size = strategy.position_size
bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(bgcol, transp = 70)

//Trading
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
if h > 0
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = h, when = strategy.position_size <= 0 and truetime)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = l, when = strategy.position_size >= 0 and truetime)
    strategy.entry("S Stop", strategy.long, 0, stop = center, when = strategy.position_size[1] <= 0 and needstop)
    strategy.entry("L Stop", strategy.short, 0, stop = center, when = strategy.position_size[1] >= 0 and needstop)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")