获取的每笔交易的成交量为0是怎么回事

 

各位大侠好,本人近期在研究EA,想写一个美原油期货的EA,不过出现一个很奇怪的问题,就是在OnTick里面通过调用函数SymbolInfoTick(Symbol(),last_tick)获取到的数据中,volume始终为0,last_tick的类型是MqlTick,以下是我的代码:

 void OnTick ()

{

MqlTick last_tick;

Print ( "OnTick");

if (SymbolInfoTick (Symbol (), last_tick))

{

Print (last_tick.time, last_tick.time_msc, ": Bid =", last_tick.bid,

"Ask =", last_tick.ask, "Volume =", last_tick.volume, "Price =", last_tick.last, "flag =", last_tick.flags);

}

else Print ( "SymbolInfoTick () failed, error =", GetLastError ());

} 

另外在图标上K线下面显示的成交量也非常少,比国内的行情软件像文华等少很多, 我用的经纪商是Symfx.Global星汇,在咨询他们的客服时,回复说每个经纪商接入到交易所的方式不同,所以获取到的数据也不一样,这里显示的成交量是他们自己服务器上面的成交量,而不是交易所实际的成交量,所以请问有哪位大侠知道如何获取交易所的成交量吗?因为我的EA需要用到成交量,非常感谢了 

 

MT4/MT5 的成交量实际上是指单位时间内价格变化的次数。

因为股票是中央集中式交易,数据来源统一,

而外汇、原油、贵金属交易分布在全球各大小交易所,且某些经纪商出于某种目的在平台里加入大量插值,所以根本无法统计真实的成交量。

所以要改变参照成交量判断行情的习惯。 

 
Xiangdong Guo:

MT4/MT5 的成交量实际上是指单位时间内价格变化的次数。

因为股票是中央集中式交易,数据来源统一,

而外汇、原油、贵金属交易分布在全球各大小交易所,且某些经纪商出于某种目的在平台里加入大量插值,所以根本无法统计真实的成交量。

所以要改变参照成交量判断行情的习惯。 

很感谢你的回复,不过成交量是驱动价格的比较重要的因素, 如果不参考的话,太可惜了,而且其他的因素都有一些缺陷,像MACD、布林带等等都不算很好的参考

 

SteveQi2016:

很感谢你的回复,不过成交量是驱动价格的比较重要的因素, 如果不参考的话,太可惜了,而且其他的因素都有一些缺陷,像MACD、布林带等等都不算很好的参考 


呵呵,话尽于此。你要继续墨守成规请便。。。。。:-(
 

Xiangdong Guo:
呵呵,话尽于此。你要继续墨守成规请便。。。。。:-(

 

最近在尝试不看交易量做单,也在写这样的EA,:)