Добрый день, господа трейдеры!
Многие из вас уже попробовали себя в ручной торговле на форекс и, скорее всего, у большинства пока не получается. Ничего страшного, ведь любой навык, даже такой, как торговля на финансовых рынках, приходит с опытом. Но зарабатывать, конечно же, всем хочется уже сейчас. Именно этим и объясняется повышенный интерес к автоматизированным системам торговли или, по-простому, к ботам, или советникам.
Если вы уже участвовали каким-то образом в разработке торговых советников или читали соответствующий раздел нашего форума, где несколько программистов-энтузиастов разрабатывают экспертов, а остальные пользователи помогают им в этом по мере своих сил, вы наверняка обратили внимание, что, когда кто-то находит ошибку в работе советника, от него тут же требуют какие-то загадочные «логи». Что же это такое, как их у себя найти и зачем они нужны – мы с вами сегодня и узнаем.
Лаборатория ProfitFX
Как вы наверняка знаете, в этом разделе форума содержится довольно много тем, каждая из которых посвящена разработке того или иного советника. Кто их создает и зачем? Ответ прост – эти темы создают такие же пользователи, как и вы, которые изучили язык mql4 и научились программировать советники. И когда возникает интересная идея для нового форекс робота – форумчане делятся ей с общественностью.
Выгод тут несколько. Во-первых, есть немалый шанс получить дельные советы по доработке алгоритма от более опытных участников форума, подчас довольно неочевидные и эффективные. Во-вторых, сама оптимизация и подбор параметров занимает довольно длительное время, а распределив инструменты можно произвести оптимизацию намного быстрее. И в-третьих, другие пользователи помогают программисту с тестами на демо и реальных счетах, отлавливают ошибки и находят непредвиденные проблемы в процессе использования робота. Естественно, выгода для всех пользователей на поверхности – они получают в итоге рабочий и способный зарабатывать советник, программист получает интересные идеи и ускорение разработки.
Логи терминала
Все мы люди, и программисты в том числе. А люди, бывает, совершают ошибки. И советников это, конечно же, тоже касается. Бывают ошибки, которые не пропускает сам компилятор – программа, в которой пишутся советники. Такие баги легко устранимы – их очень легко найти. В конце концов, советник просто не скомпилируется, пока подобная ошибка не будет устранена. А бывают гораздо более коварные ошибки – на уровне логики. Их компилятор не считает за таковые и спокойно пропускает, поэтому они находятся в процессе эксплуатации советника.
При разработке программного обеспечения поиском ошибок занимаются тестировщики. У программистов форума, конечно же, таких людей нет, поэтому этой работой занимаются простые пользователи. И, как я уже говорил, у них есть стимул – в конце работы они получают качественного бота (или не получают, если идея себя не оправдала и заставить работать в прибыль конкретную систему так и не получилось).
Надо признать, ошибки в логике советников – не редкость и сообщений от пользователей об ошибках в работе советников немало. Но довольно часто эти сообщения носят примерно следующий характер: «Сегодня бот открыл по USDJPY продажу, хотя не должен был/должен был открыть покупку» или нечто подобное. Программисты хоть и не глупые люди, но даром телепатии не обладают (утверждать не берусь – просто догадки). Поэтому по таким сообщениям, даже снабженным скриншотами, что-либо понять трудно. Именно поэтому вы и видите после таких сообщений призывы к уважению чувств программистов и требования прикрепить логи терминала.
Типы лог файлов терминала
Так что же все-таки такое эти логи? Когда разбивается самолет, все сразу бросаются искать так называемый «черный ящик», который даст все ответы на причины произошедшей катастрофы. Это не значит, что в «черном ящике» имеется только эта информация – в него записывается абсолютно все данные, начиная со взлета и заканчивая посадкой. Логи – это что-то вроде «черного ящика» для терминала.
В самом терминале вы можете найти три источника для логирования. Первый из них – журнал тестера стратегий:
Сами файлы логов находятся в папке терминала /tester/logs. В них содержится вся информация по процессу тестирования советника и если ошибки возникают именно на этапе тестирования или оптимизации робота – смотреть нужно именно этот тип логов. Выглядит лог-файл так:
В этих логах вы найдете информацию о том, как протекало тестирование или оптимизация эксперта, какие данные были использованы и все ошибки, связанные с этим. Все сообщения об ошибках экспертов содержат специальный код, по которому можно определить причину ошибки. Например, те, у кого мало оперативной памяти на рабочей машине, могут увидеть следующее сообщение: “HistoryBase: not enough memory”. Дело в том, что тестер все котировки, необходимые для проведения тестов загружает в оперативную память. И если вы тестируете за длительный срок, объем данных вполне легко переваливает за 8 Гб. Поэтому, когда работает одновременно 4-6 терминалов, такое сообщение будет периодически появляться.
Все, что нужно сделать – закрыть терминал, очистить оперативную память и попробовать снова. Сообщение “optimization stopped” говорит о том, что оптимизация завершена. Также обычно указывается время, которое она заняла и количество проходов. Еще одно сообщение: “TestGenerator: spread set to 30” указывает на величину спреда, которая была выставлена для теста. Поэтому, если у вас сильно красивые результаты, обратите внимание, не поставили ли вы неадекватно маленький спред для вашего теста. Также в начале теста в журнал записываются все параметры эксперта (“inputs”). Ну и, конечно же, все операции с ордерами также будут отображены в этом логе. И последнее – в лог записываются и все ошибки, которые происходят при тестировании и оптимизации, по кодам которых можно определить причину их возникновения.
Когда ваши советники уже прикреплены к графикам и работают в режиме реального времени на вашем счете, всю информацию по их работе вы можете увидеть в окне «Терминал» на вкладке «Эксперты» (это второй источник логов):
Этим записям соответствуют логи, находящиеся в папке терминала /mql4/logs. Тут вы сможете найти всю информацию по работе экспертов, все ошибки и любые другие события и сообщения. Вот как выглядит этот лог:
Тут вы в основном увидите различные сообщения экспертов (отладочные и информационные), сообщения о запуске (initialized, loaded successfully) и остановке (removed, uninit) экспертов и сообщения об ошибках. Все сообщения об ошибках экспертов содержат специальный код, по которому можно определить причину ошибки. Основная часть сообщений появляется тут по вине самих экспертов – часто в коде советника авторы оставляют специальную функцию, которая выводит сообщения о различных событиях в лог-файл. В основном это необходимо для отладки, поэтому многие советники снабжены параметром, который отключает подробное логирование работы эксперта. Параметр этот, как правило, называется Debug или производные от этого слова и содержит только два значения: true/false.
И третий тип логов – общий для терминала:
На вкладке «Журнал» окна «Терминал» вы можете найти основные события, связанные с работой терминала и вообще все события, что были на этом счете. Это – открытия, закрытия, модификация ордеров (открытых как вручную, так и при помощи советников), а также различные ошибки вроде потери связи с сервером. Вот как выглядит этот лог:
Эти логи содержат также записи об обновлениях терминала (“LiveUpdate”), о смене паролей (“investor password changed”), смене счетов, обрывах связи, входе и выходе, установке (“loaded successfully”) и удалении с графика экспертов (“removed”) и прочую сервисную информацию.
Поэтому если вы пытаетесь понять, почему у всех, кто использует какой-либо советник ордер открылся, а у вас нет, в первую очередь причину нужно искать тут (возможно, был обрыв связи с сервером брокера). Найти эти логи проще простого. Они находятся в папке терминала /logs.
Заключение
Любой современный терминал, предназначенный для торговли на финансовом рынке – достаточно хорошо продуманный программный продукт. Это инструмент трейдера и от того, насколько хорошо вы знаете его функционал – зависит ваш успех в торговле. Знаний о том, что из себя представляют различные инструменты анализа рынка очень важны, но если вы не будете иметь представление о технической стороне работы на рынке – ваш взгляд на рынок будет не совсем полным.
С уважением, Дмитрий аkа Silentspec
TradeLikeaPro.ru
Топ Брокеров 2025 по версии TLAP
Центовые счета
Быстрый ввод и вывод
Платформа CopyFx для копирования сигналов
Отличное исполнение
На рынке с 1998 года
Низкие спреды
Быстрый ввод и вывод
Хорошее исполнение
Множество способов пополнения
С 2007 года на рынке
Счета Zero с нулевыми спредами
Система Копи-трейдинга
Хорошее исполнение
Более 500 торговых инструментов
Комиссия на пополнение 0%
Лицензия ЦБ РФ
Удобный ввод и вывод средств
Подходит для крупных трейдеров
Крупнейший форекс дилер в России
Компания – налоговый агент, выплата налогов без участия клиента
Торговля через MetaTrader 5
Форекс, фондовые индексы и нефть
Низкие спреды
Хорошее исполнение
Подходит для торговли советниками
Торговля криптовалютами
Центовые счета со стартовым лотом 0.01
Система копирования сделок Share4You
Низкие спреды
Подходит для новичков
Лучшие на рынке условия для работы с сеточниками и мартингейлом
Исполнение без вмешательства дилинга
Низкие спреды
Трейдинг Forex, CFD и Crypto
Полная прозрачность работы
Множество представительств компании, в том числе в Великобритании
На рынке с 2006 года
| ||
| ||
| ||
| ||
| ||
| ||
|