Индикатор баланса

Недавно захотелось мне поглядеть динамику изменения баланса (программирование советников пока отложил) одного из моих счетов, в разрезе времени, например: каждый день, каждый час. Получился простенький индикатор (программирование советников сложнее): //+------------------------------------------------------------------+ //| ShowEquity.mq4 | //| Copyright 2014, Gavrilin Alexander | //| ...
Еще

Работаем с файлами настроек *.set

Был у меня один интересный заказ, который заключался в объединении большого количества однотипных советников в один. Для удобной работы с настройками советников было решено использовать set файлы, которые можно сохранить по каждому инструменту и советнику. Область применения  это мультивалютные советники входящие в единый торговый комплекс. Сегодня я решил поделиться простым механизмом позволяющим читать любые параметры из файлов указанного формата. Рассмотрим любой set файл изнутри: orde...
Еще

Вспомогательные функции

Вспомогательные функции double dAsk(string name){ return (MarketInfo(name,MODE_ASK));} double dBid(string name){ return (MarketInfo(name,MODE_BID));} double dPoint(string name){ return (MarketInfo(name,MODE_POINT));} double p(string name){ return (d(name)*dPoint(name));} double dDigits(string name){ return (MarketInfo(name,MODE_DIGITS));} double NLot(double lot){ if(MarketInfo(Symbol(),MODE_LOTSTEP) == 0.1) return(NormalizeDouble(lot,1)); if(MarketInfo(Symbol(),MODE_LOTSTEP) == 0.01...
Еще

Обработка ошибок mql4

Я буду размещать функции для работы с ордерами, но прежде я должен рассказать о обработчике распространенных ошибок. Меня как разработчика заказчики часто спрашивают о том, будет ли советник работать на реальном счете, корректно обрабатывать реквоты, обрывы связи и другие ошибки. Мой ответ обычно всегда один - Мои советники будут корректно работать на реальных счетах! Обработка ошибок заложена изначально в советник. Ну а теперь собственно расскажу о своей функции обработки ошибок, фактически ...
Еще

Функция explode на mql4

Всем доброго времени суток, сегодня мы поговорим о решение такой необычной задачи как разбор строки с разделителем. В распространенном языке программирования PHP есть одна полезная функция explode (PHP 3, PHP 4, PHP 5) explode -- Разбивает строку на подстроки Описание array explode ( string separator, string string [, int limit] ) Возвращает массив строк, полученных разбиением строки string с использованием separator в качестве разделителя. Если передан аргумент limit ...
Еще

Как определить открытие нового бара?

Многие разработчики сталкиваются с задачей определения закрытия бара или момент открытия нового бара т.к. часто нет необходимости анализировать индикаторы каждый тик, а достаточно проанализировать закрытые бары и войти в момент закрытия\открытия бара. Я в своей практике часто пользуюсь этим и выработал универсальную функцию для определения нового бара, которая работает как на стандартных интервалах так и на нестандартных. И хочу с вами поделиться ею, можете использовать ее в своих работах ...
Еще

Как закрыть терминал из скрипта?

Сегодня мы поговорим о одном интересном способе защиты как закрытие терминала из нашей программы. Для чего это может понадобиться? как часть защиты от нелегального использования, например закрыть терминал, если срок лицензии на советник истек закрыть терминал при форс мажоре, например достигли предельно допустимую просадку и закрыли сделки и терминал Эти темы можно развить  в более масштабные идеи, но я вам сегодня хочу рассказать как это делается. Реализовать это проще всего с помо...
Еще

Загрузка файла на FTP сервер из MT4

Недавно у меня была задача реализовать выгрузку информации о сделках на сервер чаще 5 минут, данные необходимо было сохранять на сервер по ftp с частотой от 1 секунды. Как оказалось в этом нет ничего сложного, достаточно воспользоваться системной библиотекой  в Windows wininet.dll, обычно данная библиотека входит в состав любой версии ОС Windows. Я не буду приводить код работы т.к. это противоречит моим принципам, а приведу тестовый скрипт для осуществления загрузки файла, при желании вы м...
Еще