关于---MqlTick结构和 SymbolInfoTick 函数

 

    如果你的EA 使用了 SymbolInfoTick() 这个函数  和  MqlTick  价格结构   ,一定要做好防范措施,我前期运行良好的EA无缘无故的频繁操作,百思不解,经仔细查试原来

 经纪商的服务器屏蔽了成交量和最后成交价,而EA中使用了这两函数和结构。 当你通过 调用 SymbolInfoTick()函数在获取MqlTick的数据时,即使---MqlTick 结构内部数据长时间为零也不会报错,就是如果此

结构的成员值为零,它就始终成功返回零。 而经纪商的服务器可以屏蔽这个结构的:   last  上次成交价    、   volume   上次价格交易量; 

 

见下图:

 成交量

    最好避免使用 MqlTick 结构的上次成交价  和 成交量;如不得已,前置检测条件。 

 
说实话,没看明白你的意思。
 
luenbo:
说实话,没看明白你的意思。

  

  struct MqlTick

  {
   datetime     time;          // 价格更新的最近时间
   double       bid;           // 当前买入价
   double       ask;           // 当前卖出价
   double       last;          // 上一次交易价格 (Last)
   ulong        volume;        // 上一次价格交易量

  }; 

 

    这个结构中的 volume  是 订单号的交易量,是真实成交量,不是报价量,你看到上面那张图表的成交量柱线没有,后面的没有提供。几天后经纪商的网站报告了个新闻,说是对其MT5服务器加装了个软件。 

 

    你可以打开你的MT5客户端,按 “Ctrl+k” 试试 ,这个就是真实成交量(每根柱线);  另, 按“Ctrl+L” 是报价量 

 

      这家经纪商不仅把自己服务器的成交量设为零,也把这个结构的最后成交价  “last ” 设为零,乖乖,不知道他整了个啥软件附加到自己的MT5服务器上了  

 
应该是tick跳动的次数
 
song_song:
应该是tick跳动的次数

 

        不管这家平台的“volume”提供的数据来源含义是什么,只要他提供就能被利用和分析,但他保护起来你就走不了这条路了

 

个人认为分析交易量意义不大。

你只能获取你所在经纪商的交易量。

 
enbo lu:

个人认为分析交易量意义不大。

你只能获取你所在经纪商的交易量。

别自作聪明,装逼!经纪商的交易量?你以为每个经纪商都自己开的内盘吗?这个函数就是市场提供真实的交易量,当然每个交易所的交易量不一样,比如纽约,东京,就不一样。但这也足够了。

给你个忠告,别不懂装懂,虚心学习对你不会有损失的。

 
chunhua Zhao:

    如果你的EA 使用了 SymbolInfoTick() 这个函数  和  MqlTick  价格结构   ,一定要做好防范措施,我前期运行良好的EA无缘无故的频繁操作,百思不解,经仔细查试原来

 经纪商的服务器屏蔽了成交量和最后成交价,而EA中使用了这两函数和结构。 当你通过 调用 SymbolInfoTick()函数在获取MqlTick的数据时,即使---MqlTick 结构内部数据长时间为零也不会报错,就是如果此

结构的成员值为零,它就始终成功返回零。 而经纪商的服务器可以屏蔽这个结构的:   last  上次成交价    、   volume   上次价格交易量; 

 

见下图:

 

    最好避免使用 MqlTick 结构的上次成交价  和 成交量;如不得已,前置检测条件。 

我也遇见这个问题,你目前有没有解决办法?换经纪商?大多经纪商都屏蔽了。我猜想外汇经纪商是有意为之的。(试想一下,EA都靠这个分析数据进行买卖,赚钱了,经纪商不是亏钱了?)
原因: