iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0

觸價單的設定是,先決定「觸發價」,這是交易人要動作(停損)的價格,再設定「取價」,這是指當市場價格觸及或穿過觸發價,轉成正式委託下到市場時,是要用「限價」、「範圍市價」或是「市價」,三者擇其一來掛出委託。


from pydantic import BaseModel

class TouchOrderCond(BaseModel):
    contract: Contract
    order: Order
    touch_price: float

class TouchOrder:
   def __init__(self, api: sj.Shioaji, condition: TouchOrderCond
    ):
       self.flag = False
       self.api = api
       self.order = condition.order
       self.contract = condition.contract
       self.touch_price = condition.touch_price
       self.api.quote.subscribe(self.contract)
       self.api.quote.set_quote_callback(self.touch)

   def touch(self, topic, quote):
       price = quote["Close"][0]
       if price == self.touch_price and not self.flag:
           self.flag = True
           self.api.place_order(self.contract, self.order)
           self.api.quote.unsubscribe(self.contract)


上一篇
每秒幾十萬上下 - 1分K 當沖策略是否有搞頭 ?!
下一篇
不玩惹把錢還給我好否 - 抽單
系列文
在賭場尋求財富是否搞錯了什麼22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言