mt5ctp如何对策略开发和量化交易提供支持?相信这是您最关心的问题,也是本项目要解决的问题,在介绍支持功能之前,先给大家介绍下基于MQL5开发和运行量化投资策略的几个核心优势:1.事件驱动机制。区别于市场流行的tick驱动机制的程序化交易软件,MQL5内置事件驱动机制,这一机制使策略的设计、开发与运营具有无限可能,除了标准的tick事件、order事件、trade事件、timer事件等之外,MQL5具有自定义事件的生发和处理能力,实现的还非常的优雅和高效;2.支持类封装。市场流行的程序化交易软件,提供的脚本语言基本都是面向过程的,复杂的处理有些力不从心,MQL5支持面向对象的开发模式,使得开发语言具有较强的描述能力,并且提供了最大程度的代码重用机制,执行效率接近c++语言,使得高级算法、复杂算法的开发和部署成为可能;3.支持界面自定义。MQL5的开放架构,支持界面开发,客户端可以因人而异,因业务而不同,本地“小”客户端,具有“大”软件平台的支撑能力,难能可贵。当然还有很多闪光点,MT5CTP项目链接MT5客户端和CTP期货交易柜台,给实战国内期货量化投资的朋友们,提供更多选择,提供更为得心应手的工具----MT5CTP为您而来。
MT5CTP的支持文件在[include\mt5ctp\]目录中,有[mt5ctp.mqh]等几个文件,其中基础函数、枚举类型定义、c++API、数据交互及转换定义都在[mt5ctp.mqh]文件中,功能调用除了提供基础函数外,我们还设计了几个类,你可以直接或者扩展使用,类是数据和方法的封装,与基础函数的工作机制有细微的不同,使用起来更加方便。包含文件是开放源代码的,我们做了大量的中文注释,后面的介绍中有关源码的部分,也是直接从上述相关文件中拷贝出来的。
开始介绍具体的函数及功能:
行情数据函数:
1)SymbolExists(name)
功能:交易合约知否交易时间
参数:合约代码
返回值:true/false
2)SymbolInfoDouble(name,property_id)
功能:取得指定合约的浮点类型的值
参数:合约代码,属性类型
返回值:double
3)SymbolInfoInteger(name, property_id)
功能:取得指定合约的整数类型的值
参数:合约代码,属性类型
返回值:long
4)SymbolInfoString(name,property_id)
功能:取得指定合约的字符串类型的值
参数:合约代码,属性类型
返回值:string
5)SessionsTotal(string this_symbol)
功能:取得指定合约的交易时段总数
参数:合约代码
返回值:int
6)SessionStart(string this_symbol,int index)
功能:取得指定合约指定交易时段的开始时间
参数:合约代码,交易时段序号
返回值:string
7)SessionEnd(string this_symbol,int index)
功能:取得指定合约指定交易时段的结束时间
参数:合约代码,交易时段序号
返回值:string
8)SessionStartTime(string this_symbol,int index)
功能:取得指定合约指定交易时段的开始时间(本地时间)
参数:合约代码,交易时段序号
返回值:datetime
9)SessionEndTime(string this_symbol,int index)
功能:取得指定合约指定交易时段的结束时间(本地时间)
参数:合约代码,交易时段序号
返回值:datetime
10)RegisterSymbol(string this_symbol)
功能:订阅指定合约的市场行情
参数:合约代码
返回值:true/false
11)UnRegisterSymbol(string this_symbol)
功能:退订指定合约的市场行情
参数:合约代码
返回值:true/false