当前价格结构
返回当前价格结构 (MqlTick)
该构造是存储交易类型的最新价位,它能最快检索有关当前价格的最需要信息。
struct MqlTick
{
datetime time; // 价格更新的最近时间
double bid; // 当前卖价
double ask; // 当前买价
double last; // 最后交易的价格(Last)
ulong volume; // 当前最后价格的交易量
long time_msc; // 价格最后一次更新的时间,以毫秒计算
uint flags; // 报价标识
double volume_real; // 精确度更高的当前最后价格的交易量
};通过单一调用 SymbolInfoTick() 函数,MqlTick type 变量允许获得要价, 开价, 最后价和成交量的值。
无论与之前报价相比是否有变化都会填充每个报价参数。因此,可以找出过去任何时刻的正确价格,无需在报价历史搜索之前的值。例如,即使报价到达期间只有卖价变化,该结构仍然包含其他参数,包括之前的买价,交易量等等。
您可以分析报价标识,找出具体更改了哪个数据:
- TICK_FLAG_BID 更改卖价
- TICK_FLAG_ASK 更改买价
- TICK_FLAG_LAST 更改最终成交价
- TICK_FLAG_VOLUME 更改交易量
- TICK_FLAG_BUY 报价是买入交易结果
- TICK_FLAG_SELL 报价是卖出交易结果
示例:
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());
//---
}