บริษัทหลักทรัพย์ที่ปรึกษาการลงทุน คลาสสิก ออสสิริส จำกัด

วิธีการใช้งาน Excel VBA SDK

วิธีการใช้งาน Excel VBA SDK

Excel VBA SDK

ข้ามขีดจำกัดของการส่งคำสั่งด้วย Excel เพียงแค่ใช้ Microsoft Excel  เป็นก็สามารถสร้าง Algorithm ของตนเองได้ “Settrade Excel VBA SDK” เป็นส่วนเสริมของ Microsoft Excel ช่วยให้นักลงทุนสามารถสร้าง Algorithm และส่งคำสั่งได้ด้วยตนเองโดยใช้โปรแกรม Microsoft Excel

การติดตั้ง
สามารถ Download ส่วนเสริมและศึกษาการใช้งานได้จาก developer.settrade.com

1) เลือกแถบ Navigation Bar ในส่วนของ API Reference

2) เลือกแถบด้านข้างในหัวข้อ Download

3) เลือก Plugin ที่รองรับกับ version ของ Excel

4) แตกไฟล์ .rar และทำการติดตั้งโปรแกรม

ถ้าโปรแกรมหา dll ไม่เจอให้ติดตั้ง  Microsoft Visual C++  

https://support.microsoft.com/th-th/help/2977003/the-latest-supported-visual-c-downloads

ถ้าติดตั้งโปรแกรมเรียบร้อยใน Excel จะมีแถบ Settrade เพิ่มขึ้นมา

ในการใช้งานจำเป็นที่จะต้องใส่ Attribute ดังนี้

Broker ID = คือรหัสของโบรคเกอร์ถ้าใช้ Sandbox ใส่เป็น “SANDBOX”

App Code = บัญชีจริงใส่ค่าเป็น “ALGO” ถ้าใช้ Sandbox ใส่เป็น “SANDBOX”

App ID = ได้รับจากการ Generate Key

App Secret = ได้รับจากการ Generate Key

Excel VBA

Excel VBA ถ้าพูดให้เข้าใจง่ายคือ ภาษาที่ใช้ควบคุมการทำงานของโปรแกรม Excel ในการใช้งาน Excel VBA SDK จำเป็นต้องมีความรู้ความเข้าใจการทำงานเล็กน้อย เพียงเพื่อนำมาใช้สร้าง Template สำหรับการใช้งานใน Excel ในการใช้ Excel VBA อันดับแรกต้องเปิดใช้งานแถบ Developer ใน Excel ก่อน ถ้ายังไม่มีแถบ Developer สามารถเปิดแถบดังกล่าวได้ดังนี้

อันดับต่อมาคือการเปิดการอนุญาตใช้ Marcros

 

เมื่อเปิด Visual basic ในแถบ Developer จะพบกับหน้าปล่าวๆ ใช้ในการเขียน Code เราสามารถควบคุมการทำงานทั้งหมดของ Excel จากการเขียน Code ที่นี่

ในการบันทึก Excel ร่วมกับ VBA code จะบันทึกสเปรตชีตทั่วไปเหมือน Excel ธรรมดา แต่
ใน Dropdown ในส่วน Save as type จะเลือกเป็นแบบ Excel Macro

การดึงข้อมูลบัญชี

Code ชุดแรก Setup() ใช้สร้าง object โดยกำหนดตัวแปร deriv เป็น Public

Code  ชุดที่สอง DerivAccount() เป็นชุดหลักในการทำงาน ใช้ในการดึงข้อมูลจาก Settrade โดยใช้ Attribute เป็นหมายเลขบัญชี โดยทำการรัน code ชุดแรกก่อนจึงจะสามารถรันชุดนี้ได้ผ่านคำสั่ง Call setup

ในที่นี้ทำการดึงข้อมูลมาเก็บใน Cell C13 – C18

Worksheets เป็นตัวกำหนดตำแหน่งของ sheet   Range ใช้กำหนดตำแหน่ง Cell ในการใส่ข้อมูล

การดึงข้อมูลราคา

ส่วนการดูราคา สามารถเรียกได้จากการใส้สูตรใน Excel ได้โดยตรง

ในส่วน A1  คือชื่อ Symbol “S50Z20”

ในส่วน A2  คือ Attribute หรือคุณลักษณะ

ยกตัวอย่างเช่น

“last” = Last Price

“bid_price1” = ราคา bid ช่องที่ 1

“ask_price1” = ราคา ask ช่องที่ 1

“bid_volume1” = volume bid ช่องที่ 1

“ask_volume1” = volume ask ช่องที่ 1

การส่งคำสั่ง
เมื่อกำหนดตัวแปรที่จำเป็นสำหรับการส่งคำสั่งดังนี้

เมื่อนำคำสั่งทุกอย่างมายำรวมไว้ด้วยกัน Algorithm จะมีการทำงานดังนี้

  1. Worksheets(“Main”).Calculate 
    Worksheets ชื่อว่า Main คำนวณทุกอย่างใน Worksheets นั้นในที่นี้เราต้องการให้ Excel ดึงข้อมูลราคาโดยใช้สูตรข้างต้นที่แสดงให้ดูก่อนหน้านี้
  2. Call Setup สั่งให้ทำงาน โพรซีเยอร์ Setup เพื่อสร้าง Object deriv
  3. Call Setup สั่งให้ทำงาน โพรซีเยอร์ DerivAccountInfo เมื่อได้ตัวเลขเงินในบัญชี
    เราสามารถผูกเซลล์ เพื่อกำหนดได้ว่ามีเงินเหลือไว้เป็น buffer เมื่อต้องเหลือเงินขนาดใหนจะไม่มีการเปิด order ใหม่เป็นต้น
  4. ตรวจสอบเงื่อนใข ในเซลล์ “F10” เป็น True หรือไม่ในที่นี้เพื่อให้เข้าใจง่ายขึ้นจะใช้เงื่อนไขแค่ True และ False ในการเปิด Order
  5. ดึงค่าแต่ละเซลล์ใน sheet มาเก็บในตัวแปร
  6. ส่ง Order โดยใช้ method PlaceOrder()

คำสั่งที่นำมาแสดงเป็นตัวอย่างข้างต้นเพียงไม่กี่คำสั่งเท่านั้น
ทั้งนี้สามารถดูคำสั่งเพิ่มเติมจากเว็บไซต์ของ Settrade API : https://developer.settrade.com/open-api/api-reference/getting-start

เปิดบัญชี TFEX
พร้อมรับสิทธิพิเศษทันที !!
Array
(
    [Secure-PHPSESSID] => jv1hlm64nlfn9g98dhhqu2pp1h
    [cooCAFXXSUAV] => cooCAFXXSUAV
)
		
Array
(
    [sesCAFXXSLAT] => 1732204097
    [CAFXSI18NX] => th
    [_csrf] => 2a9dd30d8d6100cda51ae6292acbae1b
    [CAFXSFEREF] => https://www.caf.co.th/switcher.html?action=language&language=th&origin=https%3A%2F%2Fwww.caf.co.th%2Flearning-tfex%2Fsettrade-api-excel-vba-sdk.html
)
		
Array
(
    [content] => settrade-api-excel-vba-sdk
)
		
Array
(
)