Архив категорий: Функции MQL4

Наиболее нужные и полезные функции для применения в советниках и индикаторах терминала MT4.

Функция дивергенции MACD

Функция дивергенции MACD Вчера возникла задача срочно сделать функцию поиска двух горбов MACD для дальнейшего выявления дивергенции. Получилось целых две функции: для выявления горба при MACD выше нуля и для выявления впадины при MACD ниже нуля. Каждая функция возвращает номер бара, на котором образовался горб или впадина. Вызов функции поиска… Читать далее »

Функция определения количества пунктов в идущих подряд убыточных ордерах

Функция определения количества пунктов в идущих подряд убыточных ордерах Допустим имеется 3 подряд убыточных ордера и нужно узнать, сколько в этих трех ордерах убытка в пунктах (спред не учитывается). Применяем эту функцию: [sociallocker] //+—————————————————————————-+ //|  Параметры:                                                                | //|    sy — наименование инструмента             («»   — любой символ,         | //|                                               NULL -… Читать далее »

Функция гарантированного открытия ордера

Функция гарантированного открытия ордера Ордер точно будет открыт этой функцией. Во внешние параметры надо вынести уровень проскальзывания и комментарий к ордеру: input string IsComm = «Тут любой комментарий»; input int Slippage = 30; // 30 — это просто пример Передаваемые параметры: sy — наименование инструмента   (NULL или «» — текущий… Читать далее »

Как узнать последнее действия с балансом — списание или зачисление

Как узнать последнее действия с балансом — списание или зачисление Особенно актуально этот вопрос стоит при программировании советников для бинарных опционов, где прибыль последнего ордера отображается не так, как в форексе. В форексе прибыль по закрытому ордеру указывается кв графе Прибыль, а в бинарных опционах, как правило, Прибыль закрытого ордера… Читать далее »

Время работы советника

Время работы или как сделать паузу в работе советника для MT4 Часто нужно ограничить работу советника. Например, чтобы не торговал в определенные периоды времени: ночью, в какую-то определенную торговую сессию, во время выхода новостей. Или наоборот, надо сделать так, чтобы он торговал исключительно ночью. Итак, внешние параметры: input bool   p… Читать далее »

Функция mql4: Один ордер на одном баре

Один ордер на одном баре При разработке торговых роботов в 70% случаев нужно, чтобы на одном баре было открыто не больше одного ордера. Самое оптимальное решение этой проблемы, на мой взгляд, дает уважаемый мной программист Kimiv (нажмите на одну из иконок соцсетей и функция станет доступна): [sociallocker] //+—————————————————————————-+ //|  Автор   … Читать далее »

Сколько было открыто ордеров в текущем часе (функция mql4)

Функция считает, сколько было открыто ордеров в текущем часе всего (текущих ордеров и ордеров закрытых). Можно применять, например, если надо ограничить количество открываемых советником ордеров, например, не больше 2 в час и пр. Ставьте лайки на этот сайт) Функция: int CountOrdersInHour()   {    int count_tr=0;    int count_hy=0;   … Читать далее »

Функция гарантированной модификации ордера

Функция гарантированной модификации ордера Функция позаимствована у Kimiv. Внешний параметр (можно просто объявить без возможности редактирования. Много вариантов): extern int NumberOfTry = 20; // Количество попыток модификации ордера Чтобы компилятор не ругался на это: ErrorDescription, в начале кода советника подключите библиотеку: #include <stderror.mqh> Перед вызовом функции для модификации ордера, этот… Читать далее »

Считаем количество убыточных сделок подряд

Функция подсчета закрытых ордеров в убытке подряд в MQL4. Вызывается функция стандартно. int CountLoss()   {    int count=0;    for(int trade=OrdersHistoryTotal()-1;trade>=0; trade—)      {       OrderSelect(trade,SELECT_BY_POS,MODE_HISTORY);       if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)         {          if(OrderProfit()<0) count++;          else  break;         }      }    return(count);   }

Расчет лота от депозита

Функция расчета лота от размера депозита Полезная и часто нужная функция для расчета торгового лота в советниках для MT4: Внешние параметры: input double  Risk = 5.0; // процент риска для депозита input double  Lot = 0.01; // если Risk = 0, то рабочий лот будет таким Вызывать функцию надо примерно… Читать далее »