Правила работы с торговыми роботами

Кликнуть для перехода

Правила работы с роботами

Мои любимые роботы. Истории сделок. Настройки

Кликнуть для перехода

Любимые роботы. Истории сделок

Your browser doesn't support canvas.

1
2
3
4
5
6
ruenfrdeiwites
 

Ventilation

В интернете на сайтах разных трейдеров можно найти инфу, что можно отключить обновления торговых термналов, дабы не было такой ситуации, что вышло их обновление и некоторые советники после этого просто перестали работать. Но тут есть один нюанс, по моим личным наблюдениям примерно через 3 года у терминалов появляются такие новые версии, что прежние просто перестают работать. Вы видите на своем уже устаревшем терминале внизу справа надпись типа "Терминал устарел", и если у вас на нем был рабочий советник, то увидите, что сделки словно все заморозились... нет обновления цен, все словно застыло. И в данном случае остается только единственный способ решить проблему - обновить терминал. И для этой цели не обязательно зачастую убирать сделанные вами настройки на запрет обновлений терминалов на уровне VPS, достаточно просто скачать свежий торговый терминал у брокера, установить его и за счет него автоматически обновятся все прочие торговые терминалы этого же брокера и возможно, что и других.

А что же делать с советниками, которые перестали работать на обновленном терминале? Тут по сути только один вариант - переписывать код советника либо самостоятельно, ища через программы ошибки, которые в нем возникают при установке, либо же отдать его специалистам на доработку. 

Что делать если торговый робот не ставится на терминал MT4 - 5?

Периодически происходит автоматическое обновление торговых терминалов MetaTrader 4 - 5, и порой после их обновления ранее установленный советник перестает работать, просто не ставится на график валютных пар. Или же где то скачали робота, а он также не ставится на график валютных пар. И хорошо, если у вас имеется советник в двух видах: .ex и .mql. Первый - это непосредственно сам советник, исполняемый файл, который ставится на валютные пары, и второе с расширением .mql4 - это исходный код советника. И вот если есть исходный код советника, то все в разы упрощается, т.к. в случае если советник не ставится на валютные пары, то можно пойти следующими путями:

  • исправить ошибки не соответствия кода советника и обновленной версии торгового терминала
  • или же можно скомпилировать неработающие .mql4 файлы в торговом терминале старого билда (т.е. еще до обновления торгового терминала) и все заработает как раньше.

Рассмотрим детально второе решение.

 

Очень важно! Ни в коем случае не компилируйте нерабочие файлы в новых билдах — Вы испортите файлы, они скомпилируются с ошибками и не будут работать.

Итак, порядок действий для восстановления работоспособности файлов с расширением .mq4:

1. Скачиваете архив со старым билдом MetaTrader 4 и распаковываете его. В архиве 451-я версия торгового терминала. Вот ссылка: MT4 — билд 451.

2. Находите в распакованном архиве исполняемый файл metaeditor.exe и запускаете его двойным щелчком по левой кнопке мышки.

3. После запуска перед Вами откроется программа MetaEditor.

4. В верхнем левом углу нажимаете на «Файл» => «Открыть» и выбираете файл с расширением .mq4, который Вам необходимо привести в рабочее состояние для нового билда МТ4. Для примера возьмём файл индикатора Color Stochastic — модифицированный стрелочный стохастик.

 

5. После выбора файла в MetaEditor появится открытый код нашего индикатора Color Stochastic — жмёте на кнопку «Компилировать».

6. Всё сделано! Теперь у нас есть рабочий файл для нового билда МТ4 с расширением .ex4. После компиляции он появится там, где лежал файл с расширением .mq4, в нашем случае на рабочем столе.

Копируем новый файл с расширением .ex4 в новый билд торгового терминала МТ4 и наслаждаемся.

 Источник, аналогичный материал "Как компилировать старые MQ4 файлы под новые билды Metatrader 4" (эти публикации сохранил на яндекс диске и на компе).

 

Проблема же заключается в том, что подавляющее большинство современных торговых роботов, особенно если они платные идут без файла исходного кода, т.е. .mql4. Поэтому вот так просто взять и исправить все ошибки, переделать советник под новые билды торгового терминала не получится. И в нашем случае тогда остается брать единственно имеющийся файл советника с расширением .exe и компилировать его в файл формата .mql4

Но и тут не все просто!

 

Если у вас есть файл ex4, который вы хотите изменить или исправить, вам необходимо преобразовать его обратно в файл mq4 . Этот процесс называется декомпиляцией и включает в себя извлечение исходного кода из исполняемого файла. Однако декомпиляция — непростая задача и требует специального инструмента, называемого декомпилятором.

Конвертация MQ4 в EX4
Trader with EX4 to MQ4 converter
Для конвертации файлов MQ4 в формат EX4 предназначена интегрированная среда разработки (IDE) торгового терминала МТ4, которая входит в комплект поставки MetaTrader и называется MetaEditor. Для её запуска достаточно нажать кнопку на панели инструментов MT4. Также при установке торгового терминала на рабочем столе и в меню Пуск Windows создаются ярлыки для запуска MetaEditor.

В среде MetaEditor достаточно открыть файл MQ4 и нажать кнопку F7. Если программный код на языке MQL4 на содержит ошибок, он будет скомпилирован в бинарный код. В результате будет создан файл с расширением .ex4, имеющий то же имя, что и исходный файл в формате .mq4. Скомпилированный советник, индикатор или скрипт также появятся в соответствующем списке в окне Навигатор торгового терминала.

Конвертация EX4 в MQ4
Обратный процесс значительно сложнее. К сожалению, торговая платформа MetaTrader 4 не имеет встроенного инструмента для преобразования файлов EX4 в формат MQ4. Это было возможно до февраля 2014 года. В те времена исходный код программ на языке MQL4 компилировался в так называемый байт-код, откуда мог быть сравнительно легко восстановлен в первоначальное состояние (терялись только комментарии).

В марте 2014 года разработчик торгового терминала MetaTrader, компания MetaQuotes, выпустила релиз MT4 сборки 600, где идеология компиляции советников, индикаторов и скриптов была радикальным образом изменена. С марта 2014 года и по настроящее время исходный код, содержащийся в файлах с расширением MQ4, компилируется непосредственно в бинарный код, то есть в формат команд, понимаемых процессором, но не людьми. К сожалению, создать автоматический инструмент для конвертации файлов EX4 в MQ4 не представляется возможным.

Конвертер EX4 в MQ4: решение найдено
Хорошая новость заключается в том, что при должном усердии и наличии отладчика реального времени можно воссоздасть исходный код файла EX4 выполняя его шаг за шагом так, как это делает торговый терминал. Эта работа занимает много времени и может быть выполнена только специалистом высокой квалификации. Но результат часто стоит затраченных усилий — трейдер получает полностью восстановленный исходный код, идентичный оригиналу. Благодаря этому он может понять логику работы советника и при необходимости внести в неё изменения.

В наши дни конвертер EX4 в MQ4 реализован в рамках популярной концепции SaaS — трейдер загружает исходный код в формате EX4 на сайте специализированного сервиса, где силами квалифицированных специалистов осуществляется его обратный инжиниринг, тестирование и проверка идентичности оригиналу. После завершения работы трейдер получает файл в формате MQ4.

И на сайте www.ex4tomq4.pro/ru можно заказать декомплитацию советника. Примерная цена 250 USD.

Можно попробовать и купить декомпилятор, вот например, тут www.ex4tomq4decompiler.com/download - цена 154 USD, а тут www.ex4decompile.xyz/ru/ купить за 70 USD, www.ex4decompilator.ru - сайт недоступен. Еще один возможный декомпилятор, но очень сильно все похоже на вирус, антивирусник сильно ругается и при установке его на компе сами начинают выполняться команды Win.

https://t.me/ex4tomq4202 - предлагает декомплятор, цена 100 - 300 USD. Скачал себе на диск и комп (ссылка), но без ключа, который можно получить в телеграмм - канале @Jillsmith1975 не работает. 

Можно бесплатно использовать данный "Декомпилятор из ех4 в mq4 и конвертер программ из MQL4 в MQL5". Однако, как показал личный опыт помогает не всегда:(((( Декомпилятор EX4 to MQ4 v4.0.427.4 для файлов EX4 был создан командой purebeam.biz в 2009 году. Последняя версия имеет номер 4.0.427.4 и была представлена в январе 2014 года.

В начале 2014 года компания MetaQuotes выпустила терминал MetaTrader build 600, где был внедрён абсолютно новый механизм компиляции программ непосредственно в двоичный код. После релиза этой сборки автоматическая декомпиляция файлов EX4 стала невозможной и декомпилятор EX4 to MQ4 v4.0.427.4 окончательно ушёл в историю.

Почему это произошло?

В компании MetaQuotes Inc. объяснили этот шаг заботой о разработчиках. На самом деле основная цель была в том, чтобы не мешать развитию своего серсиса MQL Market, где разработчики могут продавать свои продукты с комиссией 20%.

Что теперь делать?

На самом деле ничего непоправимого не произошло. Декомпиляция файлов EX4 по прежнему возможна. Каждый трейдер, как и раньше, может использовать декомпилятор EX4 to MQ4 v4.0.427.4 для файлов, созданных ранее 2014 года. Если же возникает необходимость декомпиляции более позднего файла или советника, скачанного из MQL Маркета как демо-версия, следует обратиться в специализированный онлайн сервис.

Самым известным таким сервисом является EX4toMQ4.pro (декомпляция советника примерно 250 USD), который работает с 2005 года. Поскольку декомпилятор с февраля 2014 года стал бесполезен, нам пришлось адаптироваться к новой реальности. Сейчас декомпиляция осуществляется главнфм образом вручную силами квалифицированных специалистов. Для этого используется отладчик в режиме реального времени и другие профессиональные инструменты реверс-инжиниринга.

 

 

 

Можно поискать и еще что то в сети по запросу "ex4 to mq4 decompiler", "EX4-TO-MQ4 Decompiler"

www.mql5.com/ru/articles/1572 - Вопросы защиты своей интеллектуальной собственности все еще остаются большой проблемой. В статье описаны основные принципы защиты разработок на MQL4, используя которые можно если не совсем побороть воровство результатов многодневного труда разработчика злоумышленником, то, по крайней мере, настолько усложнить вору его "труд", чтобы ему просто не захотелось заниматься этим.

www.ex4tomq4decompiler.com/free-mt4-robots - а можно просто скачивать уже декомпилированные советники, при попытке скачать их отсюда перекидывает на телеграмм - канал https://t.me/ex4tomq4decompilercom

 

Интересная публикация из интернета:

Entry Point | Финансовые Рынки | Трейдинг 12 авг 2016 в 10:30
Анатомия алготрейдинга: Теория взлома торговых роботов MetaTrader

Достаточно популярная тема для обсуждений и проб на многих форекс-порталах и форекс-форумах – декомпиляция ex4 программ (это могут быть советники, индикаторы или скрипты).

Давайте начнем с того, что еще раз вспомним, что же такое декомпиляция в общем. Итак, декомпиляция – это процедура воссоздания исходного кода программы из имеющегося скомпилированного варианта (.ex4 – расширение скомпилированного варианта, а расширение .mq4 – файла с исходным кодом).

Для данных целей используются специальные программные комплексы – декомпиляторы. Давайте выделим основные цели, для которых применяют декомпиляцию именно .ex4 программ:

1. Изучить логику работы той или иной .ex4 программы.

2. «Вылечить» (отвязать) ее от триала, ключа, защиты от использования только на одном счете и так далее.

3. Доработать программу.

Итак, декомпилятор – это программа, которая преобразует исполняемый файл, в нашем случае – файл с расширением ex4, в его исходный код на языке высокого уровня, коим также является и язык MQL4, с минимальными отклонениями, которые могли бы возникнуть в процессе эксплуатации декомпилятора.

При конкретном анализе ex4 программ с целью их дальнейшей декомпиляции можно обнаружить то, что сложность самой декомпиляции будет зависеть от того, какой версией (билдом) компилятора была скомпилирована ex4 программа.

Тенденция такова, что с каждым новым билдом терминала, а, соответственно, и компилятора, декомпиляция становится все более сложной. Оно и понятно, компания MetaQuotes теряет клиентов и сторонников платформы MetaTrader 4, если пользовательские программы, написанные на встроенном языке MQL4 можно так легко декомпилировать.

Учитывая данный факт, разработчики терминала и редактора делают так, чтобы при компиляции код подвергался защите от декомпиляции. Для этого используют различные ловушки (участки кода, декомпилировав которые, получишь на выходе код, который не получится потом снова скомпилировать), мусор в коде, обфускация (прием для защиты от декомпиляции ex4 to mq4, который заключается в том, что логика кода запутывается настолько, насколько это возможно, но при этом код сохраняет свою функциональность).

Также есть фрилансеры, и даже целые фирмы, которые проводят защиту ex4 программ от декомпиляции. Там уже используются различные упаковщики, протекторы, сейчас достаточно популярна тема с виртуализацией исполняемого кода (самым известным протектором, использующим алгоритмы виртуализации является протектор от компании VMWare), когда в программе как бы встроена виртуальная машина, в которой исполняется код, поэтому ни отладчиком, не ex4 to mq4 декомпилятором уже просто так не получить хотя бы базовую схему программы и логику ее работы.

И это еще не все. Дело в том, что действительно ценные алгоритмы не пишут на чистом MQL4, а делают их на более профессиональных языках программирования, такие как C++, C#, Java и так далее. Суть заключается в следующем – базовая логика работы эксперта, индикатора или скрипта оформляется в виде отдельной DLL, декомпилировать которую – гораздо более сложная задача, чем декомпилировать обычную ex4 программу.

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

В следующих статьях рубрики "Анатомия алготрейдинга", я расскажу вам, как декомпилировать и снимать защиту с DLL-модулей и обходить прочие ограничения и хитрости, работая с командами и опкодами, в том числе, на языках машинного уровня.

По обновлению торговых терминалов:

  • примерно раз в полгода и чаще происходит обновление торговых терминалов у разных брокеров
  • после обновления в нижнем правом углу появляется надпись "старый терминал" и торги на этом терминале перестают идти. Если там установлен советник, то вот как он открыл сколько то времени тому назад так эти сделки и будут открыты... но данные по сделки не будут обновляться, все словно замерло
  • и тогда приходится обновлять торговые терминалы. Для этого достаточно скачать, допустим, новый терминал Alpari, установить его, и обновление применится ко всем торговым терминалам Alpari, а порой и других брокеров. Но чтобы это обновление применилось нужно закрыть терминал, потом его заново включить. Это надо делать, если у вас на VPS на уровне всего аккаунта стоит запрет на обновления торговых терминалов
  • бывает такое, что после обновления какие то советники просто перестают работать, они не подходят под новые версии торгового терминала. И тут остается только один вариант - переписывать код советника, самостоятельно или привлечь кого то в помощь. А если же не обновлять терминал, чтобы советник не слетел, то результата никакого не будет, будет постоянно уведомление в терминале "старый терминал" и все, торговли не будет
  • очень важно: если у вас на терминалах открыты демо счета для тестирования советников, то как можно быстрей обновите терминал. Просто если в течении примерно месяца на демо счете нет торговли, то демо - счета закрываются брокерами, а поэтому если нет активности на счете, то через месяц счет просто перестанет существовать. И обновили вы терминал, а подключиться к счету уже невозможо, будет уведомление "неверный счет". Поэтому чтобы процесс тестирования советников на демо не прерывался, то следите за тем, чтобы оперативно обновлять торговые терминалы.
  • также обращу внимание, что при тестировании советника на демо счете постоянно, ну например, раз в несколько месяцев сохраняйте историю сделок на терминале. Дело в том, что история всех сделок она хранится у брокера, а не в терминале, если вы ее предварительно туда не скачаете. А поэтому если брокер закроет ваш демо - счет из - за отсутствия на нем активности в течении месяца, то и получить доступ к торговле на демо вы уже никак не сможете. А ведь эта история очень важна, по ней мы видим как торгует советник на протяжении длительного времени, ставит ли он стопы, использует ли мартингейл, какой уровень просадки и прочее. Все это крайне важная информация которая нам нужна чтобы принять решение о том, стоит ли доверить данному советнику реальные денежные средства. Поэтому постоянно сохраняйте или в папках терминала, или на рабочем столе VPS историю сделок на демо счете советника.
  • реальные счета же хранятся у брокеров значительно дольше, до полугода и года и более, а поэтому по ним проще будет получить из терминала историю сделок. Но опять же лучше сохранить себе на компьютер историю сделок и по реальному счету. Мало ли что, а оценить историю счета нужно иметь всегда возможность.
  • когда тестируете советник на демо счете, то ради интереса не выключайте его на новостях, которые отмечены в экономическом календаре как важные, также если вы заметили на бирже какую то сильную движуху, например, произошла смена торговых алгоритмов, что бывает примерно раз в полгода, а ранее вообще было раз в год, а то и раз в несколько лет, то обязательно ставьте себе комментарий, записываете в файле, в блокноте как ваш робот себя повел в случае сильной новостной волатильности или в случае изменения торговых алгоритмов. Так вы будете потом понимать насколько советник вообще опасен в нестандартной ситуации, насколько ему можно доверять. И с течением времени у вас просто появится свой пул надежных советников, которые не сольют вам депозит за одну ночь, пока вы спите. 
  • и потом когда вы уже переходите на реал, то ложите деньги вот как раз на эти самые надежные советники, которые себя хорошо показали в чрезвучайных ситуациях. Но не забывайте ставить на эти советники скрипты или советники, которые способны отключить робот, закрыть сделки, если у вас возникнет убыток сверх допустимого. В общем, нужно всегда перестраховаться. Но прежде чем довериться скрипту - советнику ограничителю убытков проверьте его в действии, поставьте его уже на ваш действующий счет на реале, и допустим, в настройках укажите отключение, допустим при достижении определенной прибыли или убытка. И если скрипт - советник идеально сработал, то все, значит все должно быть хорошо и вы себе застраховали от форс - мажорных ситуаций.