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第三方库


热门话题
java Kafka producer大量内存使用(泄漏?)   java NullPointerException。。。正在插入数据但无法检索数据[Mysql DB]   java spring+jpa+hibernate=没有可用于当前线程的实际事务的EntityManager无法可靠地处理“persist”调用   getelementbyid在没有ID的情况下如何在java中使用GetElementsById   java有没有一种使用WatchService强制轮询的方法?   java将值从jframe传递给另一个jframe并使用它   Java/Groovy中带重试的反应式事件处理   具有两个包装器元素的java Jackson XML ArrayList输出   java总是在范围内使用不同的随机元素   取消选择java下拉列表值   多线程如何在Java中为对象的不同成员拥有不同的同步块   java如何使用多线程从文本文件中读取输入   java Spring启动附加崩溃命令   java使用公共或单独的actionPerfomed方法有什么区别   java用Spring3.0中的SpEL替换JSP中的EL   java作为windows服务运行应用程序时无法访问共享文件夹   java xml 1.1规范中的“解析数据”是什么意思?   以编程方式设置JComboBox索引时java触发ItemListener   java Android WebView:只加载HTML,不加载JS或CSS(在某些设备中)   Java:计算do/while循环的数量