Скрипт для вывода сделок из CSV файла на график в терминале MetaTrader 4

августа 27, 2015

В предыдущей статье я писал о том как вывести сделки из торгового html отчёта MetaTrader'a на график для последующего визуального анализа. Это очень простой и быстрый способ если в наличие имеется именно html отчёт из торгового терминала, но он не сработает если в наличие имеется только список сделок в виде таблицы. Обычно в простом табличном виде мы можем получить из сервисов мониторинга торговых счетов,  таких как myfxbookmql5, истории торговых счетов систем автоторговли, истории торговли доступной для инвесторов некоторых ПАММ-счетов и прочих других открытых источниках с торговыми историями.

В этой статье я выложу и объясню как пользоваться скриптом который выводит на график торгового терминала торговую историю из текстового файла.

Нам потребуется прежде всего сам скрипт, который можно скачать по этой ссылке (CSV2Chart.mq4) и текстовый файл с торговой историей в табличной форме, которую нужно будет привести под определенный шаблон с помощью экселя.

Для примера скачаем торговую историю из мониторинга myfxbook моего торгового счёта. Перейдем по этой ссылке и вверху справа от основного графика доходности нажмём "export=>CSV" после чего будет закачан файл с торговой историей "statement.csv".

Скаченный файл необходимо открыть в экселе. Из всей кучи колонок необходимо будет оставить 10 колонок и разместить их в порядке указанном ниже.
  1. action — тип ордера, может быть "sell" или "buy" регистр букв не имеет значения;
  2. ticket — номер ордера, если у ордеров используемой вами торговой истории нет номеров, то колонку следует оставить пустой;
  3. open date — дата и время открытия ордера, может быть в различном формате "yyyy.mm.dd hh:ss" или "dd/mm/yyyyy hh:mm:ss". Позже в настройках скрипта нужно будет только указать какая конкретно маска для обозначения даты и времени используется;
  4. open price — цена открытия ордера;
  5. close date — дата и время закрытия ордера;
  6. close price — цена закрытия ордера;
  7. SL — уровень стоп лосса;
  8. TP — уровень тейк профита;
  9. lots — объем ордера в лотах;
  10. symbol — валютная пара.
Информация из первой строки скриптом читаться не будет, поэтому в ней можно оставить для удобства заголовки.

После соответствующей обработки мы сохраняем файл так же в текстовом формате CSV (StatementReady.csv).

Сохраненный файл "StatementReady.csv" необходимо разместить в директории "MQL4\Files" вашего торгового терминала MetaTrader 4.

Файл скрипта "CSV2Chart.mq4" необходимо разместить в директории "MQL4\Scripts".

Всё готово для запуска.

Запускаем MetaTrader 4, открываем график валютной пары GBPCAD или любой другой используемой в торговле на торговом счёте с которого мы скачали стейтмент. И запускаем скрипт на этом графике. При запуске необходимо будет задать следующие настройки.

Переменную shift_hours необходимо менять если часовой пояс используемой торговой истории не соответствует часовому поясу сервера к которому подключен терминал. В моём случае часовые пояса совпадают поэтому смещение равно нулю.

Даты в подготовленном файле с торговой историей указаны как "27.08.2015  4:36" соответственно настраиваю маску времени "DD.MM.YYYY hh:mm". Если бы порядок расположения года, месяца и/или дня в дате был иным, то необходимо было бы изменить маску соответствующим образом.

Запускаем скрипт, после чего на графике отражаются сделки.

Далее путём изменения таймфрейма можно исследовать торговлю на графике с разной степенью масштабирования во времени.

Поделиться в соцсетях