Strategi pembalikan harga berorientasi ruang


Tanggal Pembuatan: 2023-11-27 11:40:36 Akhirnya memodifikasi: 2023-11-27 11:40:36
menyalin: 0 Jumlah klik: 563
1
fokus pada
1617
Pengikut

Strategi pembalikan harga berorientasi ruang

Ringkasan

Strategi reversal harga orientasi spasial dengan menghitung garis pusat saluran harga untuk menentukan arah tren pergerakan harga. Ketika harga mendekati garis pusat saluran, sinyal melakukan lebih banyak atau lebih sedikit. Strategi ini menggabungkan beberapa kondisi penyaringan untuk mencari peluang perdagangan dengan probabilitas tinggi.

Prinsip Strategi

Indikator utama dari strategi ini adalah garis tengah saluran harga. Perhitungan dilakukan dengan mengambil rata-rata harga tertinggi dan terendah dari 30 garis K terbaru. Ketika titik rendah di atas garis tengah dianggap sebagai tren naik, dan ketika titik tinggi di bawah garis tengah dianggap sebagai tren turun.

Strategi ini hanya mengirimkan sinyal perdagangan ketika ada perubahan dalam latar belakang tren. Dengan kata lain, dalam latar belakang bullish, hanya melakukan shorting ketika garis K berubah menjadi merah; dalam latar belakang bearish, hanya melakukan over ketika garis K berubah menjadi hijau.

Selain itu, strategi ini juga menetapkan kondisi penyaringan ganda: penyaringan entitas penyaringan dan penyaringan bar saluran harga. Sinyal hanya akan dipicu jika volume entitas penyaringan lebih besar dari rata-rata 20%; harus ada sinyal tren yang berkelanjutan dalam siklus penyaringan untuk membuka posisi.

Analisis Keunggulan

Strategi ini menggabungkan tren, zona nilai, dan bentuk garis K. Strategi ini merupakan strategi perdagangan berbalik yang sangat efisien. Keuntungan utama adalah:

  1. Menggunakan saluran harga untuk menilai tren utama dan menghindari tertipu oleh pasar yang bergoyang.
  2. Tempat yang dipilih adalah dekat dengan garis tengah saluran harga, yang merupakan area jual-beli rendah klasik.
  3. K-line entity dan channel bar filter meningkatkan kualitas sinyal dan mengurangi tingkat kesalahan sinyal.
  4. Hanya buka posisi di titik balik yang jelas, hindari mengejar naik dan turun.

Risiko dan Solusi

Risiko utama dari strategi ini berasal dari kehilangan titik balik harga dan tidak perlu menunggu sinyal. Strategi ini dapat dioptimalkan dengan cara berikut:

  1. Menurunkan standar filtrasi dapat mengurangi tingkat kebocoran
  2. Anda dapat meningkatkan posisi di awal pembalikan tren, dan mengikuti keuntungan tren.
  3. Dalam kombinasi dengan indikator lain untuk menilai intensitas sinyal pembalikan, kondisi filter intervensi subjektif.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Parameter pengoptimalan, seperti mengadaptasi siklus saluran harga, jumlah bar saluran, dll.
  2. Meningkatkan strategi stop loss, stop loss ketika kerugian mencapai proporsi tertentu.
  3. Dengan volume transaksi, volume dapat mengintervensi intensitas kondisi penyaringan. Bila volume dapat diperbesar, filter dapat dilepaskan.
  4. Menambahkan model pembelajaran mesin untuk menilai probabilitas pergeseran tren, menggantikan filter sederhana.

Meringkaskan

Strategi reversal harga orientasi spasial menghasilkan sinyal berkualitas tinggi dengan menentukan titik reversal melalui saluran harga, dengan pengaturan kondisi penyaringan ganda. Berbasis pada penyesuaian parameter dan kontrol angin, ini adalah strategi kuantitatif yang andal.

Kode Sumber Strategi
/*backtest
start: 2023-11-19 00:00:00
end: 2023-11-26 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's PriceChannel for D1 v1.0", shorttitle = "PriceChannel D1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, "long")
needshort = input(true, "short")
slowlen = input(30, defval = 30, minval = 2, maxval = 200, title = "PriceChannel Period")
pcbars = input(1, defval = 1, minval = 1, maxval = 20, title = "PriceChannel Bars")
usecol = input(true, "Use color-filter")
usebod = input(true, "Use body-filter")
needbg = input(false, defval = false, title = "Need trend 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")

src = close

//PriceChannel
lasthigh = highest(src, slowlen)
lastlow = lowest(src, slowlen)
center = (lasthigh + lastlow) / 2

//Trend
ub = low > center ? 1 : 0
db = high < center ? 1 : 0
trend = sma(ub, pcbars) == 1 ? 1 : sma(db, pcbars) == 1 ? -1 : trend[1]

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
up = trend == 1 and (close < open or usecol == false) and (body > abody / 5 or usebod == false)
dn = trend == -1 and (close > open or usecol == false) and (body > abody / 5 or usebod == false)

//Lines
plot(center, color = blue, linewidth = 3, transp = 0, title = "PriceChannel Center")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()