แท่งเทียนในการเทรด: จากธุรกรรมสู่รากฐานของการวิเคราะห์ตลาด
จากข้อมูลสู่การแสดงผล: การรวมข้อมูลด้วยอัลกอริทึมของสตรีมธุรกรรมความเร็วสูงแบบดิบให้กลายเป็นแท่งเทียนตลาดที่มีโครงสร้าง
กราฟแท่งเทียนมีอยู่ทุกที่: ตั้งแต่เทอร์มินัลระดับมืออาชีพไปจนถึงบอทคริปโตในโซเชียลมีเดีย แต่ "แท่งเทียน" คืออะไร และสร้างขึ้นจากสตรีมธุรกรรมได้อย่างไร? ในบทความนี้เราจะอธิบายกระบวนการ ชี้ให้เห็นกรณีที่ซับซ้อน และมอบเครื่องมือแสดงผลแบบโต้ตอบ เพื่อให้คุณสังเกตการก่อตัวของแท่งเทียนแบบเรียลไทม์
ลองใช้เครื่องมือแสดงผล: candle-trade-visualizer.vercel.app
สรุปย่อ
- แท่งเทียน — สรุปราคาและปริมาณอย่างกระชับสำหรับช่วงเวลาที่กำหนด (เช่น 1 นาที)
- การรวมข้อมูล — กระบวนการแปลงสตรีมธุรกรรมให้เป็นแท่งเทียน
- กรณีที่ซับซ้อน (ข้อมูลซ้ำ, ช่องว่าง, ธุรกรรมไม่เรียงลำดับ) มีความสำคัญต่อความแม่นยำ
- เครื่องมือแสดงผล: ทดลองเพิ่มธุรกรรมและดูการก่อตัวของแท่งเทียน!
แท่งเทียนคืออะไร?
แท่งเทียน (หรือแท่งเทียนญี่ปุ่น) คือสรุปกิจกรรมตลาดในช่วงเวลาหนึ่ง (เช่น 1 นาที, 1 ชั่วโมง, 1 วัน) แต่ละแท่งเทียนประกอบด้วย:
- Open — ราคาธุรกรรมแรกในช่วงเวลา
- High — ราคาสูงสุด
- Low — ราคาต่ำสุด
- Close — ราคาธุรกรรมสุดท้าย
- Volume — ปริมาณรวม
- Trade count — จำนวนธุรกรรม
ดูเหมือนง่าย แต่รายละเอียดสำคัญซ่อนอยู่ในความซับซ้อน
แท่งเทียนสร้างจากธุรกรรมอย่างไร: กระบวนการรวมข้อมูล
1. สตรีมธุรกรรม
ทุกมิลลิวินาที ตลาดหลักทรัพย์สร้างธุรกรรม:
{
"timestamp": 1714000000000,
"price": 50000.0,
"amount": 0.1,
"side": "Buy"
}
อาจมีธุรกรรมหลายพันรายการต่อวินาที — แต่ละรายการเป็นเพียงบันทึกการซื้อหรือการขาย
2. การจัดกลุ่มตามเวลา
ในการสร้างแท่งเทียน เราจัดกลุ่มธุรกรรมตามเวลา ตัวอย่างเช่น ธุรกรรมทั้งหมดตั้งแต่ 12:00:00 ถึง 12:00:59 จะรวมอยู่ในแท่งเทียน 1 นาที (m1) เดียวกัน
อัลกอริทึม:
- สำหรับแต่ละธุรกรรม กำหนดว่าอยู่ในช่วงเวลาใด (ตัด timestamp)
- หากมีแท่งเทียนสำหรับช่วงเวลานั้นอยู่แล้ว — อัปเดต high/low/close/volume
- หากไม่มี — เริ่มแท่งเทียนใหม่
3. กรณีที่ซับซ้อน: เหตุใดจึงไม่ง่ายอย่างที่คิด
- ธุรกรรมไม่เรียงลำดับ: ธุรกรรมอาจมาถึงไม่ตามลำดับ (ความล่าช้าของเครือข่าย ฯลฯ)
- ข้อมูลซ้ำ: ธุรกรรมเดียวกันอาจปรากฏสองครั้ง
- ธุรกรรมที่ขอบเขต: เกิดอะไรขึ้นหากธุรกรรมอยู่ที่ขอบเขตของช่วงเวลาพอดี?
- ช่องว่าง: เกิดอะไรขึ้นหากไม่มีธุรกรรมในช่วงเวลานั้น?
การรวมข้อมูลที่มีความทนทานต้องคำนึงถึงกรณีเหล่านี้ทั้งหมด ในอุตสาหกรรมนี้สำคัญมากสำหรับการวิเคราะห์ที่แม่นยำและการเทรดด้วยอัลกอริทึม
ตัวอย่าง: การรวมข้อมูลแท่งเทียนในโค้ด
ตัวอย่างขั้นต่ำใน Rust (ตรรกะเหมือนกันสำหรับทุกภาษา):
for trade in trades {
let ts = truncate_to_tf(trade.timestamp, timeframe);
if let Some(candle) = current_candle {
if candle.timestamp == ts {
// อัปเดต high/low/close/volume
} else {
// บันทึกแท่งเทียนปัจจุบัน เริ่มใหม่
}
} else {
// แท่งเทียนแรก
}
}
สำคัญ: สำหรับการรวมข้อมูลที่ถูกต้อง สตรีมธุรกรรมต้องเรียงลำดับตามเวลา หากไม่ใช่ — ต้องเรียงลำดับก่อน หรือใช้อัลกอริทึมที่รองรับข้อมูลไม่เรียงลำดับ
ทำไมถึงจำเป็น?
- กราฟ: ทุกแพลตฟอร์ม (TradingView, Binance และอื่นๆ) สร้างกราฟจากแท่งเทียน
- การเทรดด้วยอัลกอริทึม: กลยุทธ์ทำงานกับแท่งเทียน ไม่ใช่กับธุรกรรมดิบ
- การวิเคราะห์: ตัวชี้วัด สัญญาณ และสถิติ — ทุกอย่างสร้างบน OHLCV
- AGI และระบบอัตโนมัติ: สำหรับการวิเคราะห์ด้วยเครื่องจักรต้องการข้อมูลที่เข้มงวดและไม่คลุมเครือ
ลองด้วยตัวเอง: เครื่องมือแสดงผลแท่งเทียนแบบโต้ตอบ
เราสร้างเครื่องมือแสดงผลแบบโต้ตอบ:
👉 candle-trade-visualizer.vercel.app
- เพิ่มธุรกรรมด้วยตนเองหรือแบบสุ่ม
- ดูว่าธุรกรรมรวมกันเป็นแท่งเทียนอย่างไร
- ทดลองกับไทม์เฟรมและกรณีที่ซับซ้อน
สรุป
แท่งเทียนคือรากฐานของการวิเคราะห์ตลาดทุกรูปแบบ เบื้องหลังแท่งเทียนธรรมดาแต่ละอัน — มีกระบวนการรวมข้อมูลที่ซับซ้อน ทนทานต่อข้อผิดพลาดและกรณียาก หากคุณกำลังสร้างระบบของตัวเอง — คำนึงถึงรายละเอียดทั้งหมด มิฉะนั้นกราฟและกลยุทธ์อาจทำให้เข้าใจผิด
ลองใช้เครื่องมือแสดงผล ทำความเข้าใจรายละเอียด และสร้างแท่งเทียนที่ซื่อสัตย์!
ลิงก์:
- เครื่องมือแสดงผล: candle-trade-visualizer.vercel.app
- OHLCV คืออะไร: Wikipedia
- โค้ดและไลบรารี: GitHub
หากบทความนี้เป็นประโยชน์ — แบ่งปันกับเพื่อนร่วมงานและมาทำให้ข้อมูลตลาดโปร่งใสยิ่งขึ้นสำหรับทุกคน!
การอ้างอิง
@software{soloviov2025tradingcandlesdemystified,
author = {Soloviov, Eugen},
title = {แท่งเทียนในการเทรด: จากธุรกรรมสู่รากฐานของการวิเคราะห์ตลาด},
year = {2025},
url = {https://marketmaker.cc/th/blog/post/trading-candles-demystified},
version = {0.1.0},
description = {แท่งเทียนสร้างขึ้นจากธุรกรรมอย่างไร? อธิบายกระบวนการรวมข้อมูล ปัญหาที่ซับซ้อน และมอบเครื่องมือแสดงผลแบบโต้ตอบสำหรับการสังเกตการก่อตัวของแท่งเทียนแบบเรียลไทม์}
}
ผู้เขียน
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.