MT5 EA交易期货-行情深度
期货软件里提供了上期所和能源中心的五档市场深度,中金所、大商所和郑商所的一档市场深度,这样我们就可以开发基于行情深度的策略了。
下面的例子源代码讲解了如何把期货行情深度显示在图表上的源代码。


通过MQL的MarketBookAdd函数,将期货合约传入该函数, 就可以订阅和接收到该期货合约的盘口。
当合约的行情深度发生变化的时候,MQL的OnBookEvent事件函数会被触发。
当OnBookEvent事件函数触发的时候,先定义一个MQL MqlBookInfo结构体数组book[],通过MQL的MarketBookGet得到盘口并保存到book[]。
MT5期货里上期所和能源中心的行情深度是五档,中金所、大商所和郑商所的行情深度是一档。所以如果book[]的数组长度是10的话, 就显示五档行情,如果book[]的数组长度是2的话,就显示一档行情。
通过MqlBookInfo结构体book[]的price属性获得各档盘口对应的价格, 通过MqlBookInfo结构体的volume属性获得各档盘口对应的手数。
最后记得在EA退出的时候调用MQL的MarketBookRelease函数取消订阅该合约的盘口。