当前位置: > 股票>正文

MT5中接入国内期货的合约,行情,成交量,持仓量和盘口

2023-07-19 00:56:01 互联网 未知 股票

MT5中接入国内期货的合约,行情,成交量,持仓量和盘口

合约 因为MT5中没有国内期货合约, 首先要通过CustomSymbolCreate在MT5里创建商品期货股指原油的全市场合约. 行情,成交量和持仓量 然后通过MQL5中的MqlRates结构来生成行情K线, 该结构体如下: struct MqlRates {    datetime time;         // Period start time    double   open;         // Open price    double   high;         // The highest price of the period    double   low;          // The lowest price of the period    double   close;        // Close price    long     tick_volume;  // Tick volume    int      spread;       // Spread    long     real_volume;  // Trade volume };

因为外汇和期货的成交机制不一样, 外汇是做市商成交,而期货是交易所撮合成交。 所以外汇是没有持仓量,外汇中的成交量也不是全市场的, 因此在MT5里面没有持仓量,该结构体也就没有持仓量了。 那如何在MT5里面生成期货行情的持仓量和全市场的成交量呢? 解决方法是借用该结构体中的spread(价差)存放期货的持仓量, 而期货的成交量则放在real_volume,这样期货每根K线都有了相应的成交量和持仓量,然后我们再根据成交量和持仓量数据制作出成交量 柱状指标和持仓量线条指标(见下图)。

盘口

在接收到实时行情后, 通过MQL5中的MqlBookInfo可以相应保存不同档位的买卖数据,然后通过MQL5中的CustomBookAdd生成该合约盘口。

这样我们就可以在MT5的“市场深度”中看到该合约的盘口 (见下图) ,

 但在MT5中的“市场深度”不能同时看多个合约的盘口, 所以我们写一个盘口指标,这样加载到不同的合约图表上即可同时看到多个合约的盘口(见下图)。在盘口指标中使用MQL5中的事件OnBookEvent通过MQL5中的MarketBookGet获得盘口数据,然后显示在图表上(见下图螺纹钢五档行情)。需要注意的是全部合约的盘口变化都会触发OnBookEvent该事件,所以在调用该事件的时候需要加上当前图表的合约的判断。

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。