python ctp未来api

py-ctp的Python项目详细描述


py_ctp

上期技术期货交易api之python封装,实现接口调用。支持windows(x86/x64) linux(x64).

示例

#!/usr/bin/env python# -*- coding: utf-8 -*-__title__='test py ctp of se'__author__='HaiFeng'__mtime__='20190506'frompy_ctp.tradeimportCtpTradefrompy_ctp.quoteimportCtpQuotefrompy_ctp.enumsimport*importtimeclassTestTrade(object):def__init__(self,addr:str,broker:str,investor:str,pwd:str,appid:str,auth_code:str,proc:str):self.front=addrself.broker=brokerself.investor=investorself.pwd=pwdself.appid=appidself.authcode=auth_codeself.proc=procself.t=CtpTrade()self.t.OnConnected=self.on_connectself.t.OnUserLogin=lambdao,x:print('Trade logon:',x)self.t.OnDisConnected=lambdao,x:print(x)self.t.OnRtnNotice=lambdaobj,time,msg:print(f'OnNotice: {time}:{msg}')self.t.OnErrRtnQuote=lambdaobj,quote,info:Noneself.t.OnErrRtnQuoteInsert=lambdaobj,o:Noneself.t.OnOrder=lambdaobj,o:Noneself.t.OnErrOrder=lambdaobj,f,info:Noneself.t.OnTrade=lambdaobj,o:Noneself.t.OnInstrumentStatus=lambdaobj,inst,stat:Nonedefon_connect(self,obj):self.t.ReqUserLogin(self.investor,self.pwd,self.broker,self.proc,self.appid,self.authcode)defrun(self):self.t.ReqConnect(self.front)# self.t.ReqConnect('tcp://192.168.52.4:41205')defrelease(self):self.t.ReqUserLogout()classTestQuote(object):"""TestQuote"""def__init__(self,addr:str,broker:str,investor:str,pwd:str):""""""self.front=addrself.broker=brokerself.investor=investorself.pwd=pwdself.q=CtpQuote()self.q.OnConnected=lambdax:self.q.ReqUserLogin(self.investor,self.pwd,self.broker)self.q.OnUserLogin=lambdao,i:self.q.ReqSubscribeMarketData('rb1910')defrun(self):self.q.ReqConnect(self.front)defrelease(self):self.q.ReqUserLogout()if__name__=="__main__":front_trade='tcp://180.168.146.187:13030'front_quote='tcp://180.168.146.187:13040'broker='9999'investor=''pwd=''appid=''auth_code=''proc=''ifinvestor=='':investor=input('invesotr:')pwd=input('password:')appid=input('appid:')auth_code=input('auth code:')proc=input('product info:')tt=TestTrade(front_trade,broker,investor,pwd,appid,auth_code,proc)tt.run()time.sleep(5)# tt.t.ReqOrderInsert('j1905', DirectType.Buy, OffsetType.Open, 2060, 3)time.sleep(3)qq=TestQuote(front_quote,broker,investor,pwd)qq.run()# time.sleep(6)# for inst in tt.t.instruments.values():#     print(inst)input()tt.release()qq.release()input()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
AmazonS3查找从S3forJava下载的压缩文件的MIME类型   java如何使用Selenium在<span>中查找具有特定文本的元素   python如何使用OpenIEDemo生成自定义三元组。由stanfordnlp提供的java   java遇到“方法不适用”编译错误   java如何使用Mockito在Looper中运行的验证代码。getMainLooper?   类Java目录错误   java在已知其他泛型信息时使用原始类型   java connect()和disconnect()在哪里实现?   java使用PDF Box库拆分PDF,生成的PDF几乎与源PDF文件大小相同   java PowerMockito返回错误的对象   java如何找到TIBCO集合消息的字节编码?   java Basic音乐播放器下一步和上一步按钮   添加模块描述符时,java没有名为“entityManagerFactory”的bean可用   java为什么我的代码不是线程安全的?   eclipse java。引用项目中的类的lang.NoClassDefFoundError