ฟังก์ชัน RTD ใช้สำหรับดึงข้อมูลแบบ Real-time จากโปรแกรมที่รองรับ COM automation เช่น ราคาหุ้น อัตราแลกเปลี่ยน หรือข้อมูลที่มีการอัพเดทอย่างต่อเนื่อง
.
ที่เจ๋งคือ RTD จะอัพเดทข้อมูลโดยอัตโนมัติเมื่อ Excel อยู่ในโหมดคำนวณอัตโนมัติ ไม่ต้องนั่งกด F9 หรือรีเฟรชด้วยตนเอง ซึ่งเหมาะมากสำหรับการติดตามข้อมูลตลาดการเงิน การวิเคราะห์หุ้น หรือการเชื่อมต่อกับ Data Server ภายนอก
=RTD(ProgID, server, topic1, [topic2], ...)
=RTD(ProgID, server, topic1, [topic2], ...)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| ProgID | Text | Yes | ชื่อ ProgID ของ COM automation add-in ที่ได้ลงทะเบียนไว้ในเครื่องคอมพิวเตอร์ ต้องใส่ในเครื่องหมายคำพูด (เช่น “mycomaddin.progid”, “thinkorswim.rtd”) | |
| server | Text | Yes | ชื่อของ Server ที่ add-in จะทำงาน หากโปรแกรมทำงานบนเครื่องเดียวกัน (Local) ให้ใส่ค่าว่างเปล่า “” สำหรับ VBA ใช้ double quotation marks หรือ NullString property | |
| topic1 | Text | Yes | พารามิเตอร์แรกที่ระบุข้อมูลเรียลไทม์ที่ต้องการ เช่น ชื่อหุ้น (“AAPL”), ประเภทข้อมูล (“Price”, “Volume”) หรือชื่อ Server | |
| topic2 | Text | Optional | – | พารามิเตอร์เพิ่มเติม (สูงสุด 253 พารามิเตอร์) ที่ร่วมกันระบุข้อมูลเรียลไทม์ที่เฉพาะเจาะจง เช่น “BID”, “ASK”, “LAST” สำหรับข้อมูลราคาหุ้น สามารถเพิ่มได้หลายค่าคั่นด้วยคอมม่า |
ดึงราคาหุ้นแบบ Live จากแพลตฟอร์มเทรดเช่น ThinkOrSwim (TOS), Interactive Brokers (IBKR), หรือ Bloomberg เพื่อติดตามพอร์ตและตัดสินใจซื้อขายแบบ Real-time
ดึงอัตราแลกเปลี่ยนแบบเรียลไทม์สำหรับการวิเคราะห์ทางการเงินระหว่างประเทศ การคำนวณต้นทุนนำเข้า-ส่งออก หรือการบริหารความเสี่ยงจากอัตราแลกเปลี่ยน
เชื่อมต่อกับ Monitoring System เพื่อแสดงสถานะ Server, CPU usage, Memory, หรือ Network traffic แบบเรียลไทม์บน Dashboard
ดึงข้อมูลสภาพอากาศ อุณหภูมิ ความชื้น หรือข่าวสารจากแหล่งข้อมูลภายนอกที่มีการอัพเดทต่อเนื่อง
RTD("thinkorswim.rtd", "", "AAPL", "LAST")=RTD("thinkorswim.rtd", "", "AAPL", "LAST")
ราคาหุ้น Apple (AAPL) ล่าสุดแบบเรียลไทม์
RTD("interactive.brokers.rtd", "", "MSFT", "BID")=RTD("interactive.brokers.rtd", "", "MSFT", "BID")
ราคา BID ของหุ้น Microsoft แบบเรียลไทม์
RTD("marketdata.provider", "", "Server_Main", "TSLA", "VOLUME")=RTD("marketdata.provider", "", "Server_Main", "TSLA", "VOLUME")
ปริมาณการซื้อขายหุ้น Tesla แบบเรียลไทม์
RTD("unknown.addin", "", "TEST")=RTD("unknown.addin", "", "TEST")
#N/A
RTD มีความพิเศษคือสามารถอัพเดทข้อมูลโดยอัตโนมัติแบบ Real-time ตลอดเวลาครับ เมื่อ Excel อยู่ในโหมดคำนวณอัตโนมัติ ไม่ต้องนั่งกด F9 หรือรีเฟรชด้วยตนเอง
.
ในขณะที่ฟังก์ชันทั่วไป (เช่น VLOOKUP, SUM) จะคำนวณเมื่อมีการเปลี่ยนแปลงในเซลล์ที่อ้างอิงเท่านั้น แต่ RTD มันจะอัพเดทข้อมูลเองโดยไม่ต้องรอให้เราแก้อะไรในเซลล์ 😎
ต้องติดตั้งและลงทะเบียน RTD COM automation add-in ในเครื่องคอมพิวเตอร์ก่อนนะครับ
.
เพราะ Microsoft Office ไม่มี RTD server มาให้ในตัว ต้องหาจากผู้ให้บริการภายนอก เช่น Interactive Brokers, ThinkOrSwim, Bloomberg หรือถ้าเป็นโปรแกรมเมอร์ก็พัฒนา RTD server เองได้ด้วย .NET 💻
ข้อผิดพลาด #N/A มักเกิดจากสาเหตุหลักๆ เหล่านี้ครับ:
.
1. ไม่มี RTD server ติดตั้งในระบบ
2. ProgID สะกดผิดหรือไม่ตรงกับที่ลงทะเบียน
3. RTD add-in ไม่ได้เปิดใช้งานหรือไม่ได้รันอยู่
4. Server ที่ระบุไม่สามารถเชื่อมต่อได้
.
วิธีแก้ง่ายๆ คือลองเช็คว่า add-in ติดตั้งและทำงานถูกต้องก่อนนะครับ ส่วนใหญ่ปัญหาอยู่ตรงนี้แหละ 😅
RTD รองรับโปรแกรมที่มี COM automation เช่น:
.
– Interactive Brokers (IBKR) 📈
– ThinkOrSwim (TOS)
– Quantower
– Bloomberg Terminal
– Fidelity Active Trader Pro
– และผู้ให้บริการ Market Data อื่นๆ ที่รองรับ RTD protocol
.
โดยแต่ละโปรแกรมจะมี ProgID และ Topic format เฉพาะตัว ต้องไปดู documentation ของแต่ละแพลตฟอร์มว่ารูปแบบเป็นยังไงนะครับ
RTD ทำงานได้ดีที่สุดบน **Excel for Windows** ครับ เพราะ COM automation เป็นเทคโนโลยีของ Windows โดยเฉพาะ
.
สำหรับ **Excel for Mac** รองรับบางส่วนแต่อาจมีข้อจำกัด ขึ้นอยู่กับว่า add-in นั้นๆ รองรับ Mac หรือเปล่า
.
ส่วน **Excel Online** (Web version) ไม่รองรับ RTD เลยครับ เพราะไม่สามารถติดตั้ง COM add-in บนเบราว์เซอร์ได้ 😢
ฟังก์ชัน RTD ใช้สำหรับดึงข้อมูลแบบ Real-time จากโปรแกรมที่รองรับ COM automation ครับ เช่น ราคาหุ้น อัตราแลกเปลี่ยน หรือข้อมูลที่มีการอัพเดทอย่างต่อเนื่อง
.
ที่เจ๋งคือ RTD จะอัพเดทข้อมูลโดยอัตโนมัติเมื่อ Excel อยู่ในโหมดคำนวณอัตโนมัติ ไม่ต้องนั่งกด F9 หรือรีเฟรชด้วยตนเองเลย 😎
.
ส่วนตัวผมคิดว่า RTD เป็นฟังก์ชันที่ดีมากสำหรับคนที่ทำ Day Trading หรือ Swing Trading เพราะช่วยให้เราเห็นข้อมูลตลาดแบบ Real-time ได้โดยไม่ต้องสลับไปดูที่หน้าจอเทรด
.
เหมาะมากสำหรับการติดตามข้อมูลตลาดการเงิน การวิเคราะห์หุ้น หรือการเชื่อมต่อกับ Data Server ภายนอกครับ 💡