Управление сигналами

Группа функций, предназначенных для управления торговыми сигналами. Данные функции позволяют:

  • получать информацию о торговых сигналах, доступных для копирования;
  • прочитать или установить настройки копирования торговых сигналов;
  • произвести подписку на сигнал и ее отмену средствами языка MQL5.

Функция

Действие

SignalBaseGetDouble

Возвращает значение свойства типа double для выбранного сигнала

SignalBaseGetInteger

Возвращает значение свойства типа integer для выбранного сигнала

SignalBaseGetString

Возвращает значение свойства типа string для выбранного сигнала

SignalBaseSelect

Выбирает для работы сигнал из базы торговых сигналов, доступных в терминале

SignalBaseTotal

Возвращает общее количество сигналов, доступных в терминале

SignalInfoGetDouble

Возвращает из настроек копирования торгового сигнала значение свойства типа double

SignalInfoGetInteger

Возвращает из настроек копирования торгового сигнала значение свойства типа integer

SignalInfoGetString

Возвращает из настроек копирования торгового сигнала значение свойства типа string

SignalInfoSetDouble

Устанавливает в настройках копирования торгового сигнала значение свойства типа double

SignalInfoSetInteger

Устанавливает в настройках копирования торгового сигнала значение свойства типа integer

SignalSubscribe

Производит подписку на копирование торгового сигнала

SignalUnsubscribe

Отменяет подписку на копирование торгового сигнала

 

SignalBaseGetDouble

Возвращает значение свойства типа double для выбранного сигнала.

double SignalBaseGetDouble(
 ENUM_SIGNAL_BASE_DOUBLE property_id, // идентификатор свойства
 );

Параметры

property_id — [in] Идентификатор свойства сигнала. Может быть одним из значений перечисления ENUM_SIGNAL_BASE_DOUBLE.

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

Значение типа double указанного свойства сигнала.

 

SignalBaseGetInteger

Возвращает значение свойства типа integer для выбранного сигнала.

long SignalBaseGetInteger(
 ENUM_SIGNAL_BASE_INTEGER property_id, // идентификатор свойства
 );

Параметры

property_id — [in] Идентификатор свойства сигнала. Может быть одним из значений перечисления ENUM_SIGNAL_BASE_INTEGER.

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

Значение типа integer указанного свойства сигнала.

 

SignalBaseGetString

Возвращает значение свойства типа string для выбранного сигнала.

string SignalBaseGetString(
 ENUM_SIGNAL_BASE_STRING property_id, // идентификатор свойства
 );

Параметры

property_id — [in] Идентификатор свойства сигнала. Может быть одним из значений перечисления ENUM_SIGNAL_BASE_STRING.

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

Значение типа string указанного свойства сигнала.

 

SignalBaseSelect

Выбирает для работы сигнал из базы торговых сигналов, доступных в терминале.

bool SignalBaseSelect(
 int index // индекс записи сигнала
 );

Параметры

index — [in] Индекс записи сигнала в базе торговых сигналов.

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

Возвращает true при успешном завершении функции или false в случае ошибки. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

Пример:

void OnStart()
{
   //--- запрашиваем общее количество сигналов в базе
   int total=SignalBaseTotal();

   //--- цикл по всем сигналам
   for(int i=0;i<total;i++)
   {
      //--- выбираем сигнал для дальнейшей работы
      if(SignalBaseSelect(i))
      {
         //--- получение свойств сигнала
         long   id    =SignalBaseGetInteger(SIGNAL_BASE_ID);          // id сигнала
         long   pips  =SignalBaseGetInteger(SIGNAL_BASE_PIPS);        // результат торговли в пипсах
         long   subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков
         string name  =SignalBaseGetString(SIGNAL_BASE_NAME);         // имя сигнала
         double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE);        // цена подписки на сигнал
         string curr  =SignalBaseGetString(SIGNAL_BASE_CURRENCY);     // валюта сигнала

         //--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков
         if(price==0.0 && pips>0 && subscr>0)
            PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr);
      }
      else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError());
   }
}

 

SignalBaseTotal

Возвращает общее количество сигналов, доступных в терминале.

int SignalBaseTotal();

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

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

 

SignalInfoGetDouble

Возвращает из настроек копирования торгового сигнала значение свойства типа double.

double SignalInfoGetDouble(
 ENUM_SIGNAL_INFO_DOUBLE property_id, // идентификатор свойства
 );

Параметры

property_id — [in] Идентификатор свойства настроек копирования торгового сигнала. Может быть одним из значений перечисления ENUM_SIGNAL_INFO_DOUBLE.

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

Значение типа double указанного свойства настроек копирования торгового сигнала.

 

SignalInfoGetInteger

Возвращает из настроек копирования торгового сигнала значение свойства типа integer.

long SignalInfoGetInteger(
 ENUM_SIGNAL_INFO_INTEGER property_id, // идентификатор свойства
 );

Параметры

property_id — [in] Идентификатор свойства настроек копирования торгового сигнала. Может быть одним из значений перечисления ENUM_SIGNAL_INFO_INTEGER.

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

Значение типа integer указанного свойства настроек копирования торгового сигнала.

 

SignalInfoGetString

Возвращает из настроек копирования торгового сигнала значение свойства типа string.

string SignalInfoGetString(
 ENUM_SIGNAL_INFO_STRING property_id, // идентификатор свойства
 );

Параметры

property_id — [in] Идентификатор свойства настроек копирования торгового сигнала. Значение может быть одним из значений перечисления ENUM_SIGNAL_INFO_STRING.

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

Значение типа string указанного свойства настроек копирования торгового сигнала.

 

SignalInfoSetDouble

Устанавливает в настройках копирования торгового сигнала значение свойства типа double.

bool SignalInfoSetDouble(
 ENUM_SIGNAL_INFO_DOUBLE property_id, // идентификатор свойства
 double value // значение свойства
 );

Параметры

property_id — [in] Идентификатор свойства настроек копирования торгового сигнала. Может быть одним из значений перечисления ENUM_SIGNAL_INFO_DOUBLE.

value — [in] Значение свойства настроек копирования торгового сигнала.

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

Возвращает true в случае успешного изменения свойства, иначе возвращает false. Чтобы получить дополнительную информацию об ошибке, необходимо вызвать функцию GetLastError().

 

SignalInfoSetInteger

Устанавливает в настройках копирования торгового сигнала значение свойства типа integer.

bool SignalInfoSetInteger(
 ENUM_SIGNAL_INFO_INTEGER property_id, // идентификатор свойства
 long value // значение свойства
 );

Параметры

property_id — [in] Идентификатор свойства настроек копирования торгового сигнала. Может быть одним из значений перечисления ENUM_SIGNAL_INFO_INTEGER.

value — [in] Значение свойства настроек копирования торгового сигнала.

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

Возвращает true в случае успешного изменения свойства, иначе возвращает false. Чтобы получить дополнительную информацию об ошибке, необходимо вызвать функцию GetLastError().

 

SignalSubscribe

Производит подписку на копирование указанного торгового сигнала.

bool SignalSubscribe(
 long signal_id // id сигнала
 );

Параметры

signal_id — [in] Идентификатор сигнала.

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

Возвращает true в случае успешной подписки на копирование торгового сигнала, иначе возвращает false. Чтобы получить дополнительную информацию об ошибке, необходимо вызвать функцию GetLastError().

 

SignalUnsubscribe

Отменяет подписку на копирование торгового сигнала.

bool SignalUnsubscribe();

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

Возвращает true в случае успешной отмены подписки на копирование торгового сигнала, иначе возвращает false. Чтобы получить дополнительную информацию об ошибке, необходимо вызвать функцию GetLastError().