读取分时报价历史
Python API 包括两个用于读取分时报价历史的函数:copy_ticks_from 表示从指定日期开始的分时报价数,copy_ticks_range 表示指定时间段内的分时报价数。
这两个函数都有四个必需的未命名参数,第一个参数指定交易品种。第二个参数指定所请求的分时报价的初始时间。第三个参数(在 copy_ticks_from 函数中)表示传递的分时报价数或(在 copy_ticks_range 函数中)表示分时报价的结束时间。
最后一个参数确定将返回哪种分时报价。它可以包含以下标志之一 (COPY_TICKS):
标识符 |
说明 |
---|---|
COPY_TICKS_ALL |
所有分时报价 |
COPY_TICKS_INFO |
包含买价和/或卖价变化的分时报价 |
COPY_TICKS_TRADE |
包含最后价格和/或交易量变化的分时报价 |
这两个函数都(从 numpy 包)将分时报价作为 numpy.ndarray 数组返回,该数组包含命名列 time、bid、ask、last 和 flags。flags 字段的值是 TICK_FLAG 枚举的位标志的组合:每一位表示分时报价特性对应字段的一次变化。
标识符 |
已更改分时报价特性 |
---|---|
TICK_FLAG_BID |
买价 |
TICK_FLAG_ASK |
卖价 |
TICK_FLAG_LAST |
最后价格 |
TICK_FLAG_VOLUME |
交易量 |
TICK_FLAG_BUY |
最后买入价格 |
TICK_FLAG_SELL |
最后卖出价格 |
numpy.ndarray copy_ticks_from(symbol, date_from, count, flags)
copy_ticks_from 函数请求从指定时间 (date_from) 开始的给定数量的 (count) 分时报价。
该函数类似于 CopyTicks。
numpy.array copy_ticks_range(symbol, date_from, date_to, flags)
copy_ticks_range 函数允许你获取指定时间范围的分时报价。
该函数类似于 CopyTicksRange。
在下面的例子中 (MQL5/Scripts/MQL5Book/Python/copyticks.py),我们生成了一个带有分时报价图表的交互式网页(注意:这里使用了 plotly 软件包;要在 Python 中安装该软件包,请运行命令 pip install plotly)。
import MetaTrader5 as mt5
|
结果可能像这样。
Python 脚本中接收到包含分时报价的图表
在 MQL5/Files/MQL5Book 子目录中生成 copyticks.html Web 页。