Settrade OpenAPI Version 2

หลังจากที่ตลาดหลักทรัพย์แห่งประเทศไทยได้เปิดให้ใช้งานระบบ Settrade OpenAPI มาประมาณ 3 ปี ในช่วงเดือนมีนาคม 2566 จะมีการปรับปรุงระบบครั้งใหญ่ ซึ่งจะมีการอัพเกรดจากปัจจุบันเวอร์ชัน 0.5 ไปสู่เวอร์ชัน 2.0 ในการอัพเกรดครั้งนี้จะแตกต่างจากช่วงแรกที่ยังสามารถรองรับคำสั่งชุดก่อนหน้านั้นได้ ดังนั้นหลังจากเดือนมีนาคม 2566 การใช้งาน Settrade OpenAPI จะต้องเป็นชุดคำสั่งตั้งแต่เวอร์ชัน 2 ขึ้นไป รายละเอียด

การติดตั้ง และใช้งาน OpenAPI เวอร์ชัน 2
การทดสอบโปรแกรมปัจจุบันต้องทำผ่านระบบ Sandbox

ตัวอย่างที่ใช้ในการทดสอบโปรแกรมเวอร์ชัน 2

import time
from settrade_v2 import Investor

def my_message(result):
    data = result['data']
    hi_price = data['high']
    low_price = data['low']
    last_price = data['last']
    place_order = deri.place_order(
        pin="000000",
        symbol=code,
        side=side,
        position="Auto",
        price_type="Limit",
        price=last_price,
        volume=volume,
    )
    order_no = place_order["orderNo"]
    print("Place order",code,"side =",side,"order no. =",order_no,"volume =",volume)
    print("Stock info",code,"Hi = ",hi_price,"Low =",low_price,"Last =",last_price)

volume = 1
side = "Long"
code = "S50Z22"
investor = Investor(
    app_id="xxx",
    app_secret="xxx",
    broker_id="SANDBOX",
    app_code="SANDBOX",
    is_auto_queue=False)
deri = investor.Derivatives(account_no="xxx")
realtime = investor.RealtimeDataConnection()
sub = realtime.subscribe_price_info(code, on_message=my_message)
sub.start()
while True:
    time.sleep(1)
    break

หมายเหตุ xxx – ข้อมูลบัญชีในระบบ Sandbox OpenAPI

เมื่อรันทดสอบการทำงานของโปรแกรมจะเป็นการเปิดออเดอร์ Long ทีเฟค S50Z22 จำนวน 1 สัญญา ที่ราคาล่าสุดบนกระดาน ออเดอร์ดังกล่าวก็จะไปปรากฏบนโปรแกรม Straming Sandbox

Leave a Reply

Your email address will not be published. Required fields are marked *