RefreshRates
RefreshRates
数据在预定义变量和序列数组中的更新。
bool RefreshRates();参数
无。
返回值
如果数据已更新,则返回True,否则返回False。
注意
当专家顾问已经计算很长时间且需要数据更新时,使用此函数。如果数据已更新,则返回True,否则返回False。数据无法更新的唯一原因是它们是客户端终端的当前数据。
专家顾问和脚本使用其自己的历史数据副本进行操作。当前符号的数据在专家或脚本首次运行时会被复制。每次后续运行专家(记住脚本只执行一次且不依赖于传入的tick)时,初始副本都会更新。在专家顾问或脚本运行期间,可能会有一个或多个新的tick,这可能导致数据过时。
示例:
int ticket;
while(true)
{
ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);
if(ticket<=0)
{
int error=GetLastError();
//---- not enough money
if(error==134) break;
//---- 10 seconds wait
Sleep(10000);
//---- refresh price data
RefreshRates();
break;
}
else
{
OrderSelect(ticket,SELECT_BY_TICKET);
OrderPrint();
break;
}
}最后更新于