模塊 | 說明 |
---|---|
市場數據 | 管理並獲取序列化的實時和歷史行情並更新市場信息 |
市場信息 | 存儲市場交易品種的基本屬性及最新詢價(Tick)等 |
交易接口 | 執行交易,獲取資金信息,倉位信息,訂單信息 |
分析模塊 | 方便對數據進行分析,如指標分析等,用於指導交易 |
策略模塊 | 綜合決策模塊,調用其它模塊完成自動化交易 |
接口文件: MarketData.h
java
/** @brief Tick結構定義 */ struct Tick { uint64_t time; /*< 最近更新時間 */ uint32_t time_ms; /*< 以毫秒爲單位的最近更新時間 */ double bid; /*< 當前買入價 */ double ask; /*< 當前賣出價 */ double last; /*< 最近交易價格 */ uint32_t bid_volume; /*< 當前買價量 */ uint32_t ask_volume; /*< 當前賣價量 */ uint64_t volume; /*< 最近交易量 */ double openinterest; /*< 持倉量 */ }; /** @brief 行情Bar定義 */ struct Bar { uint64_t time; /*< 時間截 */ double open; /*< 開盤價 */ double close; /*< 收盤價 */ double high; /*< 最高價 */ double low; /*< 最低價 */ uint64_t volume; /*< 成交量 */ double openinterest; /*< 持倉量 */ };
Tick:json
時間戳 | 毫秒 | 買價 | 賣價 | 最近成交價 | bid量 | ask量 | 成交量 | 持倉量 |
---|---|---|---|---|---|---|---|---|
time | time_ms | bid | ask | last | bid_volume | ask_volume | volume | openinterest |
Bar:服務器
時間戳 | 開盤價 | 收盤價 | 最高價 | 最低價 | 成交量 | 持倉量 |
---|---|---|---|---|---|---|
time | open | close | high | low | volume | interest |
Tick中須要ask與bid主要是考慮到回測須要(撮合成交通常取bid, ask, last的中間價格),目前只定義了一檔價格。架構
市場數據模塊主要提供如下只大功能:框架
功能 | 說明 |
---|---|
登陸登出 | 遠程市場數據服務器的登陸與登出操做 |
參數設置 | 設置模塊所須要的參數,如服務器地址 |
數據訂閱 | 根據品種訂閱市場數據服務器的數據 |
數據鉤子 | 對於服務器推送的實時數據採用數據鉤子的方式處理 |
數據獲取 | 提供靈活的數據獲取方式,如經過倒序索引,時間等 |
數據整合 | 對於數據源(如歷史如數等)進行整合,可經過當前統一接口獲取 |
模塊狀態 | 提供當前模塊的工做狀態信息 |
策略模塊啓動流程:函數
避免由於增長接口而形成版本不兼容ui
{ "Modules": [ { "name": "itap", "enable": true, "path": "itap.dll" } ], "Framework": { "name":"OneTrader", "marketdata": { "name":"itap_marketdata", "module":"itap", "login":false, "params":{ "server":"61.163.243.173", "port": 8383, "user": "no", "passwd": "onetrader" } }, "marketinfo": { "name": "itap_marketinfo", "module": "itap" }, "trader": { "name": "itap", "module": "itap", "auth": true, "login": true, "params": { "server":"61.163.243.173", "port": 8383, } } }, "OneTrader":{ "loglevel": 0 } }