跳至内容

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;
        }
     }
最后更新于