- CustomSymbolCreate
- CustomSymbolDelete
- CustomSymbolSetInteger
- CustomSymbolSetDouble
- CustomSymbolSetString
- CustomSymbolSetMarginRate
- CustomSymbolSetSessionQuote
- CustomSymbolSetSessionTrade
- CustomRatesDelete
- CustomRatesReplace
- CustomRatesUpdate
- CustomTicksAdd
- CustomTicksDelete
- CustomTicksReplace
- CustomBookAdd
CustomTicksReplace
以MqlTick类型数组数据完全替换指定时间间隔内自定义交易品种的价格历史。
int CustomTicksReplace(
|
参数
交易品种
[in] 自定义交易品种名称。
from_msc
[in] 即将移除的指定范围内价格历史的第一个报价时间。时间以毫秒为单位从01.01.1970开始计算。
to_msc
[in] 即将移除的指定范围内价格历史的最后报价时间。时间以毫秒为单位从01.01.1970开始计算。
ticks[]
[in] 以升序时间顺序排列的MqlTick类型报价数据数组。
count=WHOLE_ARRAY
[in] 即将用于在指定时间间隔内进行替换的ticks[]数组元素的数量。WHOLE_ARRAY意味着所有ticks[]数组元素都应被使用。
返回值
已更新报价的数量,错误情况下为-1。
注意
由于多个报价常常在报价流中有最多1毫秒的相同时间(正确报价时间保存在MqlTick结构的time_msc文件里),CustomTicksReplace函数不会根据时间自动排序ticks[]数组元素。因此,报价数组一定要及时以升序提前排列。
报价会日复一日的持续被替换,直至到达to_msc指定的时间或出现错误为止。从指定范围的第一天开始处理,然后是第二天。当检测到报价时间和升序(非降序)不匹配时,那么当日的报价替换停止。如果之前全部报价被成功替换,那么当日(错误报价时间)和指定间隔内全部剩余日保持不变。
如果ticks[] 数组包含任何时间的非报价数据(通常是任何时间间隔),那么使用ticks[]报价数据后,丢失数据对应的“hole”显示在自定义交易品种的历史中。换句话说,调用丢失报价的CustomTicksReplace函数等同于删除部分报价历史,就好比调用“hole”间隔的CustomTicksDelete函数。
如果报价数据库在指定时间间隔内没有数据,那么CustomTicksReplace将添加到数据库报价构成的ticks[]数组。
CustomTicksReplace函数通过报价数据库直接工作。
另见
CustomRatesDelete,CustomRatesUpdate,CustomTicksDelete,CopyTicks,CopyTicksRange