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

Suibo Wen  


合约
因为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该事件,所以在调用该事件的时候需要加上当前图表的合约的判断。




Mars Yuan  
很棒,我们逐渐完善 基于MT5/MQL5 对于中国金融产品的应用文献!
ruozhuo  
这个很好,可惜不会弄。
Chunzhu Yu  
现在数字货币交易比较火爆,有没有可以在
用MT4或者MT5,交易数字货币平台的技术?
Zhen Yu Li  
非常好,要是能做成直接能用的产品就好了,能实盘交易就更好了。
陳雅莉  
Chunzhu Yu #:
现在数字货币交易比较火爆,有没有可以在
用MT4或者MT5,交易数字货币平台的技术?
MT5数字货币是火爆,但没有那么多盈利。现在期货黄金最近行情比较好盈利多。
Wangjb  
Mql5自定义品种 中国金融产品: A股票、期货、债券、数字货币的应用(6) ----指标及EA 应用
Mql5自定义品种 中国金融产品: A股票、期货、债券、数字货币的应用(6) ----指标及EA 应用
  • 2020.02.12
  • www.mql5.com
8、基于A股的MQL5 指标应用 为了展现基于C++在MetsTrader5的IDE系统处理中国金融证券的无法比拟的优势,简单列举一些常规Python难以处理的指标应用过程...
Xiao Feng Chen  
你好,MT5上面怎样登陆国内期货
seaman_zgs  
没有代码?是直接调用吗?
原因: