「ctp接口java」ctp接口开发
本篇文章给大家谈谈ctp接口java,以及ctp接口开发对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、在Java的ctp中,客户端文件上传到服务端时候,老是出现connected rest异常,为什么。代码如下:
- 2、怎么获取股票数据c++ api
- 3、java怎么调用thostftdctraderapi.h
在Java的ctp中,客户端文件上传到服务端时候,老是出现connected rest异常,为什么。代码如下:
client中的out.flush()有问题。不能再循环内out.flush,它会向Server将你的OutputStream发送过去,然后你的服务器取读了一句话就写入了一句话关闭了。下一个循环你再向服务器推送数据就会发现连接关闭了。不知道正不正确。
关于使用Socket的flush过去无法readLine得到的问题
原因是这样的:
flush方法只是将字符刷新过去。
readLine方法读取一行数据,注意:一行数据是以\r\n作为终止条件的。
flush过去的数据一般是没有换行符的,所以就无法读取。
为什么有时候我们flush过去的却能够得到呢?有些时候,我们flush之后就没有代码了,然后代码执行完自动将流close调,所以给它加上了换行符过去,所以readLine可以读取到。
close方法也会刷新缓存流,并且会在数据结尾加上换行符。
这个很关键!
你可以尝试在flush之前使用BufferedWriter的newLine();方法,这样你会发现flush刷新过去的在服务器端是可以读取到的,不一定需要shutdownInputStream或者shutDownOutputStream。
newLine
public void newLine()
throws IOException
写入一个行分隔符。行分隔符字符串由系统属性 line.separator 定义,并且不一定是单个新行 ('\n') 符。
抛出:
IOException - 如果发生 I/O 错误
close
public abstract void close()
throws IOException
关闭此流,但要先刷新它。在关闭该流之后,再调用 write() 或 flush() 将导致抛出 IOException。关闭以前关闭的流无效。
指定者:
接口 Closeable 中的 close
抛出:
IOException - 如果发生 I/O 错误
flush
public void flush()
throws IOException
刷新该流的缓冲。
指定者:
接口 Flushable 中的 flush
指定者:
类 Writer 中的 flush
抛出:
IOException - 如果发生 I/O 错误
readLine
public String readLine()
throws IOException
读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
返回:
包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
怎么获取股票数据c++ api
基本都是自己封装CTP接口,程序端实现多账户、多策略的行情信号接收和委托提交/回报处理。也可以用 QuantBox/QuantBox_XAPI · GitHub 这样的封装的比较好、多接口统一API的项目直接整合到程序化平台的项目中使用。
通过程序接口用证券、期货账号登录后订阅品种的行情,证券、商品期货、股指期货、期权(全真模拟,9号就有实盘行情)都可以接收交易所的快照数据(例如商
品、股指都是500ms一个快照,数据结构也比较完整)。然后交易平台可以把行情数据广播给各个策略程序,程序根据量化策略的逻辑判断是否下单?挂单的方
式如何?挂单失败是否追单?如何追单?
策略程序判断要下单,则提交指令到程序化交易平台,平台把各个帐号各个品种中策略的逻辑持仓汇总为实际持仓,然后通过接口提交委托,并且处理委托回报。
行情数据一方面广播给策略程序,一方面自己存数据库,存下来的数据通过完整性检测后,可以自己合成低频率的数据,如
1分钟、30分钟、1小时、日度等等,这些数据会被用于策略回测,也可以用于市场微观结构的观察和研究,例如可以通过优化挂单方式来降低交易滑点。
Matlab可以做一些回测,实盘可能是比较不易用的。一般可以用C++, Java, C#来利用CTP程序化交易接口实现实盘平台,策略研究推荐用R做数据分析、统计、处理、可视化、策略分析、自动报告,用Rcpp(R调用C++)或者直接C++实现高性能回测,用单机并行或集群实现批量回测。
java怎么调用thostftdctraderapi.h
这个是c/c++的头文件,java无法直接调用。
如果要开发ctp,其原生接口是c/c++的,建议用c/c++来开发,而不是java。
关于ctp接口java和ctp接口开发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-04,除非注明,否则均为
原创文章,转载请注明出处。