富途证券
支持富途牛牛的实盘交易与模拟交易,需下载FutuOpenD软件。使用FutuOpenD接入模拟交易时,部分股票代码不受支持,因此无法交易;但富途牛牛手机APP可以进行模拟交易。在优宽量化上配置交易所对象、运行FutuOpenD软件等操作,请参阅富途证券配置说明文档。
-
接口调用频率
GetOrder、GetOrders、GetPositions、GetAccount等函数默认使用缓存数据,因此不限制调用频率。当有新数据时,FutuOpenD会自动更新数据,缓存数据也会同步更新。
调用exchange.IO("refresh", true)函数可禁用缓存;禁用缓存后,调用频率限制为每30秒内最多请求10次查询,超过该频率限制将会报错。 -
股票代码
例如:600519.SH。- HK 港股
- US 美股
- SH 沪股
- SZ 深股
在策略代码中使用
exchange.SetContractType()函数设置股票代码,例如:javascriptfunction main() { var info = exchange.SetContractType("600519.SH") // 设置为股票600519.SH即贵州茅台,账户即切换到大陆市场 Log(info) Log(exchange.GetAccount()) // 当前设置的股票为贵州茅台,此时调用GetAccount函数获取账户资产,获取的为大陆市场账户资产 Log(exchange.GetTicker()) // 获取股票贵州茅台当前的价格信息 }pythondef main(): info = exchange.SetContractType("600519.SH") Log(info) Log(exchange.GetAccount()) Log(exchange.GetTicker())rustfn main() { let info = exchange.SetContractType("600519.SH"); // 设置为股票600519.SH即贵州茅台,账户即切换到大陆市场 Log!(info); Log!(exchange.GetAccount()); // 当前设置的股票为贵州茅台,此时调用GetAccount函数获取账户资产,获取的为大陆市场账户资产 Log!(exchange.GetTicker(None)); // 获取股票贵州茅台当前的价格信息 }c++void main() { auto info = exchange.SetContractType("600519.SH"); Log(info); Log(exchange.GetAccount()); Log(exchange.GetTicker()); }设置交易方向的函数
exchange.SetDirection、下单函数exchange.Buy/exchange.Sell、撤单函数exchange.CancelOrder、查询订单函数exchange.GetOrder等,其使用方法均与商品期货市场相同。 -
账户信息数据格式
使用TrdMarket定义市场,用以区分香港市场、美国市场与大陆市场。
以下内容摘录自Futu API文档:javascriptconst ( TrdMarket_TrdMarket_Unknown TrdMarket = 0 //未知市场 TrdMarket_TrdMarket_HK TrdMarket = 1 //香港市场 TrdMarket_TrdMarket_US TrdMarket = 2 //美国市场 TrdMarket_TrdMarket_CN TrdMarket = 3 //大陆市场 TrdMarket_TrdMarket_HKCC TrdMarket = 4 //香港A股通市场 TrdMarket_TrdMarket_Futures TrdMarket = 5 //期货市场 )调用
exchange.GetAccount()函数获取账户信息数据,返回:javascript{ "Info": [{ "Header": { ... // 省略 "TrdMarket": 1 // Info原始信息中,市场ID,表示该账户资产用于香港市场交易 }, "Funds": { // 账户在该市场的资产信息 ... } }, ...], "Balance": 1000000, // 当前市场的资产数值 "FrozenBalance": 0 } -
FutuOpenD根据登录的IP地址区分所属地区
使用非大陆IP地址登录的账户在获取行情数据时会受到一定限制,具体请查阅FutuOpenD(富途)官方文档。