示例#1
0
#%% 任务列表
"""
. 编写md的基础测试用例
. 按Trader模式来封装md
. 要增加MdRequestMessage和MdResponseMessage
. callback 列表中要加入md的函数名称,可以通过union trader.methodDict 和 md.methodDict(ok)
. 解决转换器参数大小写不一致的问题
"""

#%% 目标调用方式
from pyctp import Trader,Md,struct,callback

def OnRspQryTradingAccount(**kwargs):
    pass

trader = Trader(...)
trader.bind(callback.OnRspQryTradingAccount,OnRspQryTradingAccount)
data = struct.CThostFtdcTradingAccountField()
... ...
trader.ReqQryTradingAccount(data)

#%%
import os
from datetime import datetime
os.chdir(u'/home/duhan/github/pyctp')
from CTPStruct import *
from CTPTrader import Trader

frontAddress = os.environ.get('CTP_FRONT_ADDRESS')
assert frontAddress
brokerID = os.environ.get('CTP_BROKER_ID')
示例#2
0
frontAddress = os.environ.get("CTP_FRONT_ADDRESS")
brokerID = os.environ.get("CTP_BROKER_ID")
userID = os.environ.get("CTP_USER_ID")
password = os.environ.get("CTP_PASSWORD")
assert frontAddress and brokerID and userID and password
## 导入pyctp相关的模块
##   Trader 交易员接口封装
##   Md 行情接口封装
##   struct 所有CTP结构体定义
##   callback 所有CTP的回调函数名称
from pyctp import Trader, Md, struct, callback
from time import sleep

## 创建交易员接口对象
trader = Trader(frontAddress, brokerID, userID, password)
## 定义回调函数
result = []


def OnRspQryInvestor(**kwargs):  # 注意:方法名称可以自由定义
    result.append(kwargs)


## 绑定回调函数到交易员接口
trader.bind(callback.OnRspQryInvestor, OnRspQryInvestor)
## 准备请求数据表单
requestData = struct.CThostFtdcQryInvestorField()
requestData.BrokerID = brokerID
requestData.InvestorID = userID
## 调用请求API
示例#3
0
## 这些信息放在环境变量中,以避免出现在程序中。
import os
frontAddress = os.environ.get('CTP_FRONT_ADDRESS')
brokerID = os.environ.get('CTP_BROKER_ID')
userID = os.environ.get('CTP_USER_ID')
password = os.environ.get('CTP_PASSWORD')
assert frontAddress and brokerID and userID and password
## 导入pyctp相关的模块
##   Trader 交易员接口封装
##   Md 行情接口封装
##   struct 所有CTP结构体定义
##   callback 所有CTP的回调函数名称
from pyctp import Trader, Md, struct, callback
from time import sleep
## 创建交易员接口对象
trader = Trader(frontAddress, brokerID, userID, password)
## 定义回调函数
result = []


def OnRspQryInvestor(**kwargs):  # 注意:方法名称可以自由定义
    result.append(kwargs)


## 绑定回调函数到交易员接口
trader.bind(callback.OnRspQryInvestor, OnRspQryInvestor)
## 准备请求数据表单
requestData = struct.CThostFtdcQryInvestorField()
requestData.BrokerID = brokerID
requestData.InvestorID = userID
## 调用请求API