Lilin dalam dagangan: bagaimana transaksi menjadi asas analisis pasaran
Daripada data kepada visualisasi: Pengagregatan algoritmik aliran transaksi berkelajuan tinggi yang mentah menjadi lilin pasaran yang berstruktur.
Carta lilin terdapat di mana-mana: daripada terminal profesional hinggalah bot kripto meme. Tetapi apakah "lilin" dan bagaimana ia dibina daripada aliran transaksi? Dalam artikel ini kami akan menguraikan prosesnya, menyerlahkan kes-kes yang rumit, dan menyediakan visualisasi interaktif supaya anda boleh memerhati pembentukan lilin dalam masa nyata.
Cuba visualisasi ini: candle-trade-visualizer.vercel.app
Ringkasan
- Lilin — ringkasan ringkas harga dan isipadu bagi selang masa yang tetap (contohnya, 1 minit).
- Pengagregatan — proses mengubah aliran transaksi menjadi lilin.
- Kes rumit (pendua, jurang, transaksi tidak tersusun) penting untuk ketepatan.
- Visualisasi: bermain dengan transaksi dan lihat bagaimana lilin terbentuk!
Apakah lilin?
Lilin (atau lilin Jepun) ialah ringkasan aktiviti pasaran bagi tempoh tertentu (contohnya, 1 minit, 1 jam, 1 hari). Setiap lilin mengandungi:
- Open — harga transaksi pertama dalam selang masa
- High — harga maksimum
- Low — harga minimum
- Close — harga transaksi terakhir
- Volume — jumlah isipadu keseluruhan
- Trade count — bilangan transaksi
Kelihatan mudah, tetapi syaitan ada pada perinciannya.
Bagaimana lilin dibina daripada transaksi: proses pengagregatan
1. Aliran transaksi
Setiap milisaat, bursa menjana transaksi:
{
"timestamp": 1714000000000,
"price": 50000.0,
"amount": 0.1,
"side": "Buy"
}
Ribuan transaksi mungkin berlaku dalam sesaat — setiap satu hanyalah rekod pembelian atau penjualan.
2. Pengelompokan mengikut masa
Untuk membina lilin, kami mengelompokkan transaksi mengikut masa. Contohnya, semua transaksi dari 12:00:00 hingga 12:00:59 termasuk dalam satu lilin minit (m1).
Algoritma:
- Bagi setiap transaksi, tentukan selang masa yang sesuai (potong timestamp).
- Jika lilin untuk selang masa ini sudah wujud — kemas kini high/low/close/volume.
- Jika tidak — mulakan lilin baharu.
3. Kes rumit: mengapa ia tidak semudah yang disangka
- Transaksi tidak tersusun: transaksi mungkin tiba tidak mengikut urutan (kelewatan rangkaian dan sebagainya).
- Pendua: transaksi yang sama mungkin muncul dua kali.
- Transaksi sempadan: bagaimana jika transaksi berlaku tepat di sempadan selang masa?
- Jurang: bagaimana jika tiada transaksi dalam sesuatu selang masa?
Pengagregatan yang teguh mesti mengambil kira semua kes ini. Dalam industri, ini adalah kritikal untuk analitik yang tepat dan dagangan algoritmik.
Contoh: pengagregatan lilin dalam kod
Contoh minimum dalam Rust (logiknya sama untuk mana-mana bahasa):
for trade in trades {
let ts = truncate_to_tf(trade.timestamp, timeframe);
if let Some(candle) = current_candle {
if candle.timestamp == ts {
// kemas kini high/low/close/volume
} else {
// simpan lilin semasa, mulakan yang baharu
}
} else {
// lilin pertama
}
}
Penting: untuk pengagregatan yang betul, aliran transaksi mesti diisih mengikut masa. Jika tidak — perlu diisih dahulu atau gunakan algoritma yang tahan terhadap data tidak tersusun.
Mengapa ini perlu?
- Carta: semua platform (TradingView, Binance dan lain-lain) membina carta berdasarkan lilin.
- Dagangan algoritmik: strategi beroperasi dengan lilin, bukan dengan transaksi mentah.
- Analitik: penunjuk, isyarat dan statistik — semuanya dibina atas OHLCV.
- AGI dan automasi: analisis mesin memerlukan data yang ketat dan tidak bermakna ganda.
Cuba sendiri: visualisasi lilin interaktif
Kami telah membina visualisasi interaktif:
👉 candle-trade-visualizer.vercel.app
- Tambah transaksi secara manual atau secara rawak.
- Lihat bagaimana ia diagregatkan menjadi lilin.
- Eksperimen dengan kerangka masa dan kes-kes rumit.
Kesimpulan
Lilin adalah asas setiap analisis pasaran. Di sebalik setiap lilin yang ringkas terdapat proses pengagregatan yang kompleks, tahan terhadap ralat dan kes-kes yang sukar. Jika anda membina sistem anda sendiri — ambil kira semua nuansa, jika tidak, carta dan strategi mungkin mengelirukan.
Cuba visualisasinya, fahami perinciannya dan buat lilin yang jujur!
Pautan:
- Visualisasi: candle-trade-visualizer.vercel.app
- Apakah OHLCV: Wikipedia
- Kod dan pustaka: GitHub
Jika artikel ini bermanfaat — kongsikan dengan rakan sekerja dan mari jadikan data pasaran lebih telus untuk semua!
Petikan
@software{soloviov2025tradingcandlesdemystified,
author = {Soloviov, Eugen},
title = {Lilin dalam dagangan: bagaimana transaksi menjadi asas analisis pasaran},
year = {2025},
url = {https://marketmaker.cc/ms/blog/post/trading-candles-demystified},
version = {0.1.0},
description = {Bagaimana lilin dibina daripada transaksi? Kami menerangkan proses pengagregatan, perangkap tersembunyi, dan menyediakan visualisasi interaktif untuk memerhati pembentukan lilin dalam masa nyata.}
}
Pengarang
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.