Зачем трейдеру исходный код?
Индустрия трейдинга сильно изменилась за последние несколько десятилетий. Грифельной доске и телеграфным линиям пришли на смену мощные компьютеры и высокоскоростные линии связи.
Инструментарий современного трейдера
Основным инструментом работы трейдера стал торговый терминал. Хорошо известно, что самым крупным и ликвидным финансовым рынком является межбанковский валютный рынок FOREX. Так вот, наиболее популярный торговый терминал, который используется на рынке FOREX в наши дни, это MetaTrader 4.
Объём торговли на рынке FOREX столь велик, а поток котировок валютных пар столь стремителен, что традиционная ручная торговля сегодня уже не может быть столь же эффективной, как в 20-м веке. Здесь на помощь приходят торговые роботы. Это особые программы, которые реализуют торговые алгоритмы и заключают сделки на финансовом рынке без участия человека.
Торговые роботы
Торговые роботы функционируют в окружении терминала MetaTrader и реализуются на языке программирования MQL4. Программы, написанные на этом языке, компилируются непосредственно в машинный код. За счёт этого они обладают очень высоким быстродействием.
В большинстве случаев трейдеры не пишут подобные программы самостоятельно. Этим занимаются высококвалифицированные программисты. Они работают согласно техническому заданию, созданному трейдером на основе его торговой стратегии. Это идеальный случай.
Однако на практике часто встречаются случаи, когда тредеры используют торговых роботов, полученных от сторонних поставщиков.
Проблема чёрного ящика
В наши дни можно с лёгкостью купить готового торгового робота. Такие предложения можно встретить не только на специализированных форумах, на даже в рекламе в Фейсбуке.
Продавцы торговых роботов бывают весьма убедительны. Иногда они даже демонстрируют торговые отчёты — списки сделок, которые совершил торговый робот в прошлом. Однако, как известно, это не является гарантией повторения этих сделок в будущем.
Покупая коммерческий торговый робот, трейдер сталкивается с тем, что ему неизвестен алгоритм, по которому заключаются сделки. Это принято называть "проблемой чёрного ящика".
Дело в том, что продавцы торговых роботов очень часто забывают приложить к своим продуктам исходный код. По этой причине пользователь не знает, что можно ожидать от такого продукта.
Решение существует
Исполняемые файлы торговых роботов для терминала MetaTrader 4 содержат двоичный код (подобно файлам .exe) и имеют расширение EX4. Продавцы торговых роботов убеждают покупателей, что файла .ex4 вполне достаточно для запуска торгового робота на компьютере пользователя. Это действительно так.
Однако для сколько-нибудь опытного трейдера очень важным является понимание торгового алгоритма, который лежит в основе робота. Также важна возможность его изменения, поскольку поведение финансовых рынков, в свою очередь, также подвержено изменениям.
Для того, чтобы реализовать эти естественные потребности, трейдеру необходимо иметь доступ к исходному коду торгового робота. Применительно к терминалу MetaTrader, это должен быть файл в формате MQ4. Что же делать, если разработчик по какой-то причине не передал трейдеру этот файл?
Здесь единственно верным решением является декомпиляция. Декомпиляция — это процесс восстановления исходного кода на языке программирования MQL4 из исполняемого файла формата EX4. Это очень сложный и затратный по времени процесс, выполняемый квалифицированными специалистами с огромным опытом подобной деятельности.
Подробнее о декомпиляции файлов EX4 можно узнать здесь.