MarketBookAdd

Обеспечивает открытие стакана цен по указанному инструменту, а также производит подписку на получение извещений об изменении указанного стакана.

bool  MarketBookAdd(
   string  symbol      // символ
   );

Параметры

symbol

[in]  Имя символа, чей стакан цен предполагается использовать в данном эксперте или скрипте.

Возвращаемое значение

Значение true в случае успешного открытия, иначе false.

Примечание

Обычно, эта функция должна вызываться из функции OnInit() или в конструкторе класса. Для обработки приходящих извещений в программе эксперта должна присутствовать функция void OnBookEvent(string& symbol).

Пример:

#define   SYMBOL_NAME   "GBPUSD"
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- откроем стакан цен по символу SYMBOL_NAME
   if(!MarketBookAdd(SYMBOL_NAME))
     {
      PrintFormat("MarketBookAdd(%s) failed. Error "SYMBOL_NAMEGetLastError());
      return;
     }
 
//--- выведем в журнал сообщение об успешном открытии стакана цен
   PrintFormat("The MarketBook for the '%s' symbol was successfully opened and a subscription to change it was received"SYMBOL_NAME);
   
//--- подождём 2 секунды
   Sleep(2000);
   
//--- по окончании отпишемся от открытого стакана цен
   ResetLastError();
   if(MarketBookRelease(SYMBOL_NAME))
      PrintFormat("MarketBook for the '%s' symbol was successfully closed"SYMBOL_NAME);
   else
      PrintFormat("Error %d occurred when closing MarketBook using the '%s' symbol"GetLastError(), SYMBOL_NAME);
      
   /*
   результат:
   The MarketBook for the 'GBPUSDsymbol was successfully opened and a subscription to change it was received
   MarketBook for the 'GBPUSDsymbol was successfully closed
   */
  }

Смотри также

Структура стакана цен, Структуры и классы