python
import time
import traceback
from FuturesTradeApi import *
# 创建交易接口对象
tradeApi = FuturesTradeApi()
# 连接交易前置机
tradeApi.Connect('127.0.0.1', 9999)
# 登录交易账户
tradeApi.Login('account', 'password')
# 订阅行情
tradeApi.SubscribeMarketData('rb2101') # 订阅螺纹2101合约行情
# 行情回调函数
def OnRtnMarketData(data):
print(data) # 打印行情数据
tradeApi.SetOnRtnMarketData(OnRtnMarketData)
# 交易函数
def Buy(volume):
# 发出买入5手指令
ret, msg = tradeApi.SendOrder('rb2101', 'buy', 'open', volume, 0)
if ret == 0:
print('买入成功')
else:
print('买入失败:', msg)
def Sell(volume):
# 发出卖出3手指令
ret, msg = tradeApi.SendOrder('rb2101', 'sell', 'close', volume, 0)
if ret == 0:
print('卖出成功')
else:
print('卖出失败:', msg)
# 主循环
while True:
time.sleep(1) # 延时1秒
try:
Buy(5) # 买入5手
Sell(3) # 卖出3手
except Exception as e:
print(e)
traceback.print_exc()
该示例定义了期货交易API接口FuturesTradeApi,实现了连接交易前置机、登录账户、订阅行情、下单交易等功能。
在主循环中,每隔1秒发出5手买入及3手卖出的交易指令,并在出错时打印错误日志。
行情回调函数OnRtnMarketData用于接收并打印行情推送数据。
这个简单示例演示了如何通过程序化接口与交易前置机对接,实现自动化的期货交易策略与行情监控。可以作为小白入门程序化交易的参考,帮助理解系统接口调用流程与功能。