Strategi mengikuti tren berdasarkan Saluran Harga dan rata-rata pergerakan


Tanggal Pembuatan: 2024-02-06 09:46:23 Akhirnya memodifikasi: 2024-02-06 09:46:23
menyalin: 0 Jumlah klik: 600
1
fokus pada
1617
Pengikut

Strategi mengikuti tren berdasarkan Saluran Harga dan rata-rata pergerakan

Ringkasan

Strategi ini memungkinkan identifikasi dan pelacakan tren dengan membangun Price Channel, menghitung jarak harga dari garis pusat, dan kemudian menggabungkan sinyal penyaringan linear. Strategi ini memiliki dua fitur: pelacakan tren dan penembusan.

Prinsip Strategi

  1. Membangun Saluran Harga
  • Hitung harga tertinggi dan terendah dalam siklus len terbaru
  • Garis tengah adalah rata-rata harga tertinggi dan terendah
  • Jarak adalah deviasi mutlak dari harga ke garis tengah
  • Jarak rata antara rel naik dan turun
  1. Menentukan arah tren
  • Ketika harga di bawah downtrend, didefinisikan sebagai tren turun
  • Ketika harga lebih tinggi dari tren atas, didefinisikan sebagai tren bullish
  1. Menciptakan sinyal perdagangan
  • Harga di bawah harga open atau di bawah tren bullish
  • Harga di bawah tren turun lebih tinggi dari harga buka atau di bawah tren naik

Analisis Keunggulan

  1. Untuk menangkap tren jangka panjang.
  2. Untuk menghindari transaksi yang tidak valid di zona gempa, gunakan sinyal terobosan.
  3. Parameter yang dapat disesuaikan untuk varietas yang berbeda

Analisis risiko

  1. Dalam tren yang bergolak, kemungkinan kerugian yang lebih kecil
  2. Parameter yang tidak tepat mungkin akan melewatkan pembalikan tren
  3. Perhatikan frekuensi transaksi untuk mencegah over-trading

Arah optimasi

  1. Kombinasi sinyal filter dengan indikator lain
  2. Mengubah parameter Price Channel secara dinamis
  3. Mendapatkan Stop Loss, Mengoptimalkan Manajemen Dana

Meringkaskan

Strategi ini secara keseluruhan cukup kuat, dapat secara efektif melacak tren lini tengah dan panjang, dan pada saat yang sama menghasilkan sinyal perdagangan dengan kombinasi pemecahan tren. Strategi ini dapat ditingkatkan lebih lanjut melalui optimasi parameter dan pemfilteran sinyal, sehingga dapat disesuaikan dengan lebih banyak varietas dan lingkungan pasar.

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


//@version=2
strategy("Noro's Bands Strategy v1.1", shorttitle = "NoroBands str 1.1", overlay=true)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Color")
needbb = input(true, defval = false, title = "Show Bands")
needbg = input(true, defval = false, title = "Show Background")
src = close

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

//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma

//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

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

//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)