下载MetaTrader 5

返回当前价格结构 (MqlTick)

该构造是存储交易类型的最新价位,它能最快检索有关当前价格的最需要信息。

struct MqlTick
  {
   datetime     time;          // 价格更新的最近时间
   double       bid;           // 当前买入价
   double       ask;           // 当前卖出价
   double       last;          // 上一次交易价格 (Last)
   ulong        volume;        // 上一次价格交易量
   long         time_msc;      // 以毫秒为单位的最近更新价格的时间
   uint         flags          // 报价标识
  };

通过单一调用 SymbolInfoTick() 函数,MqlTick type 变量允许获得要价, 开价, 最后价和成交量的值。

无论与之前报价相比是否有变化都会填充每个报价参数。因此,可以找出过去任何时刻的正确价格,无需在报价历史搜索之前的值。例如,即使报价到达期间只有卖价变化,该结构仍然包含其他参数,包括之前的买价,交易量等等。

您可以分析报价标识,找出具体更改了哪个数据:

  • TICK_FLAG_BID �C 更改卖价
  • TICK_FLAG_ASK  �C 更改买价
  • TICK_FLAG_LAST �C 更改最终成交价
  • TICK_FLAG_VOLUME �C 更改交易量
  • TICK_FLAG_BUY �C 报价是买入交易结果
  • TICK_FLAG_SELL �C 报价是卖出交易结果

示例:

void OnTick()
  {
   MqlTick last_tick;
//---
   if(SymbolInfoTick(Symbol(),last_tick))
     {
      Print(last_tick.time,": Bid = ",last_tick.bid,
            " Ask = ",last_tick.ask,"  Volume = ",last_tick.volume);
     }
   else Print("SymbolInfoTick() failed, error = ",GetLastError());
//---
  }

另见

结构和类, CopyTicks(), SymbolInfoTick()


更新: 2016.09.15