Type/to search
8
Follow
1363
Followers
Alat peningkatan visual! Gunakan diagram bata dan candlestick rata-rata untuk memahami tren pasar di FMZ
Discussions
Created 2025-06-06 09:27:29  Updated 2025-06-06 17:34:58
 2
 959

img

Dalam perdagangan kuantitatif, grafik candlestick tradisional merupakan salah satu bentuk representasi data yang paling umum digunakan, tetapi grafik ini juga memiliki keterbatasan tertentu, seperti ketidakpekaan terhadap fluktuasi atau gangguan yang berlebihan. Untuk mengamati tren harga dengan lebih jelas, para pedagang sering kali menggunakan beberapa grafik yang telah disempurnakan, seperti:

  • Renko: Menggambar berdasarkan perubahan harga, bukan waktu, secara efektif menyaring kebisingan pasar.
  • Heikin Ashi: Menghaluskan data harga untuk menunjukkan arah tren secara lebih intuitif.

Artikel ini akan memperkenalkan cara menghitung grafik bata dan data garis K rata-rata berdasarkan garis K biasa pada platform perdagangan kuantitatif FMZ, dan menunjukkan efek gambar untuk membantu pengembang strategi menganalisis tren pasar secara lebih intuitif.

Bagan Batu Bata (Renko)

Bagan Renko menggunakan "batu bata" sebagai unit, dan batu bata baru hanya digambar ketika harga berfluktuasi melampaui rentang tetap (misalnya $100).

  • Keunggulan: Berdasarkan perubahan harga, menyaring fluktuasi kecil di pasar dan menyoroti tren utama.
  • Skenario yang berlaku: Cocok untuk mengidentifikasi tren jangka menengah dan panjang serta mengurangi gangguan kebisingan dalam transaksi.

Interpretasi sinyal perdagangan

  • Konfirmasi tren: Batu bata yang terus naik menunjukkan tren yang kuat dan Anda dapat menahan posisi; munculnya batu bata terbalik adalah sinyal pembalikan tren.
  • Perdagangan Breakout: Saat batu bata baru muncul, terutama saat menembus harga tertinggi/terendah sebelumnya, pertimbangkan untuk memasuki pasar.
  • Penyaringan breakout palsu: Karena grafik bata mengabaikan fluktuasi kecil, grafik ini membantu menyaring breakout palsu kecil selama periode osilasi.

Logika perhitungan inti:

  • Atur ukuran bata brickSize
  • Berdasarkan harga awal, bandingkan terus-menerus apakah harga terbaru menyimpang dari harga batu bata sebelumnya lebih dari brickSize
  • Jika harga naik melampaui batas, batu bata naik akan ditarik; hal yang sama berlaku untuk harga yang turun.

Hitung diagram bata (Renko) dan gambar kodenya:

javascript
/*backtest start: 2025-05-01 00:00:00 end: 2025-06-06 00:00:00 period: 1h basePeriod: 1m exchanges: [{"eid":"Binance","currency":"ETH_USDT","balance":1000,"stocks":0.5}] */ let globalbricks = [] let lastBarTime = 0 function getBricks(r, brickSize, sourceAttribute, lastPrice) { for (let i = 1; i < r.length; i++) { let bar = r[i] let price = bar[sourceAttribute] let time = bar.Time if (time < lastBarTime) { continue } // 遍历原始K线数据 while (Math.abs(price - lastPrice) >= brickSize) { if (globalbricks.length > 0 && time == globalbricks[globalbricks.length - 1].Time) { time = globalbricks[globalbricks.length - 1].Time + 1000 } // 构造砖块 let brick = { Time: time, Open: lastPrice, Close: 0, High: 0, Low: 0 } if (price > lastPrice) { // 上涨砖块 lastPrice += brickSize brick.Close = lastPrice brick.High = lastPrice brick.Low = brick.Open } else { // 下跌砖块 lastPrice -= brickSize brick.Close = lastPrice brick.High = brick.Open brick.Low = lastPrice } // 放入数组 globalbricks.push(brick) // time 累加1秒,防止一根BAR分成多块brick时断开 time += 1000 } lastBarTime = bar.Time } return globalbricks } function getRenko(r, brickSize, sourceAttribute) { // 原始K线数据如果不符合计算要求,直接返回 if (!r || r.length <= 0) { return null } if (globalbricks.length == 0) { return getBricks(r, brickSize, sourceAttribute, r[0][sourceAttribute]) } else { return getBricks(r, brickSize, sourceAttribute, globalbricks[globalbricks.length - 1].Close) } } function main() { let c = KLineChart({ overlay: true }) while (true) { let r = _C(exchange.GetRecords) let bricks = getRenko(r, 100, "Close") bricks.forEach(function (brick, index) { c.begin(brick) c.close() }) Sleep(1000) } }

Pengujian ulang

img

Heikin Ashi

Heikin Ashi adalah proses penghalusan K-line tradisional

  • Keuntungan: Memberikan arah tren yang lebih jelas dan mengurangi sinyal palsu dengan menghaluskan data harga.
  • Skenario yang berlaku: Berlaku untuk strategi mengikuti tren, membantu pedagang mempertahankan posisi lebih lama dalam tren.

Cara perhitungannya adalah sebagai berikut:

HA_Close = (Open + High + Low + Close) / 4 HA_Open = (前一根 HA_Open + 前一根 HA_Close) / 2 HA_High = max(High, HA_Open, HA_Close) HA_Low = min(Low, HA_Open, HA_Close) Heikin Ashi 本质上是一种移动平均滤波的 K 线,具有趋势持续性更强的特点。

Penilaian tren dan pengenalan sinyal

  • Lilin bullish dengan badan besar dan hampir tidak ada bayangan atas atau bawah menunjukkan tren naik yang kuat
  • Garis negatif dengan badan besar dan hampir tidak ada bayangan atas atau bawah menunjukkan tren penurunan yang kuat
  • Bayangan atas dan bawah semakin panjang, dan badan sebenarnya menyusut. Tren melemah, jadi waspadalah terhadap pembalikan.
  • Tubuhnya sangat pendek, bayangannya panjang. Pasar sedang bergejolak, jadi jangan berdagang untuk saat ini.

Kode implementasi dan gambar:

javascript
/*backtest start: 2025-05-01 00:00:00 end: 2025-06-06 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Binance","currency":"ETH_USDT","balance":1000,"stocks":0.5}] */ function toHeikinAshi(records) { if (!records || records.length == 0) { return null } let haRecords = [] for (let i = 0; i < records.length; i++) { let r = records[i] let ha = {} ha.Time = r.Time ha.Close = (r.Open + r.High + r.Low + r.Close) / 4 if (i === 0) { // 第一根 Heikin Ashi 的开盘价用普通K线的开盘价和收盘价的均值 ha.Open = (r.Open + r.Close) / 2 } else { // 后续每根的开盘价 = 上一根Heikin Ashi开盘价和收盘价均值 ha.Open = (haRecords[i - 1].Open + haRecords[i - 1].Close) / 2 } ha.High = Math.max(r.High, ha.Open, ha.Close) ha.Low = Math.min(r.Low, ha.Open, ha.Close) haRecords.push(ha) } return haRecords } function main() { let c = KLineChart({ overlay: true }) while (true) { let r = _C(exchange.GetRecords) let heikinAshiRecords = toHeikinAshi(r) heikinAshiRecords.forEach(function (bar, index) { c.begin(bar) c.close() }) Sleep(1000) } }

Pengujian ulang

img

END

Grafik Renko dan Heikin Ashi adalah alat yang ampuh bagi pedagang tren:

  • Grafik Renko berfokus pada perpindahan harga dan cocok untuk terobosan dan konfirmasi tren.
  • Heikin Ashi berfokus pada perataan harga dan cocok untuk pengendalian posisi tren.
  • Penggunaan keduanya secara komplementer dapat meningkatkan stabilitas dan kemampuan antiguncangan sinyal strategi tren.

Disarankan untuk menggabungkan pengujian ulang dan verifikasi waktu nyata, memilih solusi grafik yang sesuai dengan produk dan siklus perdagangan Anda sendiri, dan membuat sistem perdagangan kuantitatif yang dipersonalisasi.

Comment
All comments (2)

    砖块图和平均k线做测试数据都对不上,纯纯智商税,真搞不懂为啥很多图标支持这个图而且还是收费

    10 months ago

    砖图和平均K线的行情数据统计方式和普通K线本身就不一样。例如砖图,关注的是价格变化,而非时间周期统计。本身就是不同的统计方式。

    10 months ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)