Блог им. fxsaber
В предыдущих записях было показано (в статье), как использовался MT5-Тестер для нахождения рыночных закономерностей. Но совсем упущено описание исследовательской работы при написании ТС.
Как правило, пишется несколько экспериментальных ТС, которые сами по себе являются своего рода исследованиями. Они могут отличаться какими-то блоками друг от друга. Чаще всего, это не сами торговые блоки, а алгоритмы формирования торговых сигналов. Т.е. изменения содержатся в небольших, но определяющих частях.
Таких ТС при должном усердии может накопиться приличное количество. И исследование рынка начинает сводиться к анализу того, насколько хорошо готовые алгоритмы могут выжимать прибыль из заданного интервала торговли.
MT5-Тестер многоядерный (и облачный) и обладает хорошей встроенной реализацией генетического алгоритма, позволяющей даже новичку проводить на огромном (могут быть циклопические размеры) пространстве входных параметров эффективные и быстрые вычисления. И когда возникает задача сравнения ТС, то она сводится к сравнению результатов Оптимизации каждой из ТС.
Делать это вручную крайне утомительно даже в столь простом и мощном инструменте, как MT5-Тестер. Особенно тяжко, когда нужно это делать часто. А в алготрейдинге это может требоваться хотя бы раз в неделю или чаще, что зависит только от степени лени автора ТС. Хотя с такой задачей могут столкнуться не только авторы ТС, но и обычные пользователи. Например, при желании сравнить несколько готовых советников из Маркета.
У MT5-Тестера есть встроенные механизмы автоматизации, но они требуют хорошей квалификации. Поэтому на помощь может прийти зарекомендовавшая себя с наилучшей стороны в статье (фактически, главный виновник ее написания) надстройка над MT5-Тестером. Она очень простая и почти не требует изучения. Только указываете советники, которые нужно сравнить, настраиваете диапазоны входных параметров и запускаете. На выходе имеете соответствующие кеши Оптимизации. Результаты из которых и сравниваете. Это колоссально помогает при исследованиях, избавляя от рутины и высвобождая время и силы на другие дела.
Что удерживает от переезда на другой Тестер (включая написание своего).
Заметьте, это не все плюсы, а только те, которые держат.
Ну и пример потенциальной возможности только одной из фишек MT5-Тестера — кеш одиночных прогонов ТС.
Можно написать Маркет-комбайн, который показывает все доступные в кеше одиночные проходы.
Для реализации каждого пункта не нужно запускать Тестер повторно. Все это делается почти мгновенно.
Столь глубокие исследования ТС можно проводить бесплатно даже для платных роботов из Маркета. Исходники не требуются.
Было бы замечательно, если бы читатели поделились замечаниями в адрес других Тестеров. Не обязательно публичных или бесплатных. Можно раскрыть некоторые фишки своих самописных исследовательских инструментариев. Сделать краткий сравнительный анализ. Рассказать, чего не хватает.
Сейчас хоть и через жопу что-то уже можно делать. Но всё ещё через такую жопу, что даже лень глубоко заморачиваться.
Удивляет упёртость разрабов по вопросу: нет! котировки будут только с сервера! Свои инструменты в тестер добавлять низя! И эта хрень продолжалась 10 лет! =)
Это не защита MT5. Лишь констатация фактов.
Знаете, я оформил баг-запрос на форуме и ДВА ГОДА ЖДАЛ! ДВА ГОДА, КАРЛ!
А баг был фатальный! Нервы сдали и я плюнул. А потом они пришли на смартлаб и стоила мне тут написать один комент — тут же исправили этот супер-баг. Но я-то уже задолбался! Я и на форум исал несколько тем и в личку стучал и запрос оформил по всем правилам — ноль внимания!
Здесь в архивах есть подтверждение этой ситуации.
Так что знаете… Разница есть!
Мне не интересно обсуждать, что и кто кому когда-то сказал/сделал. Не женский форум.
Ждали и плюнули! Так понятно?
Все уже поняли ваше отношение к MT5. Веду речь про Тестер. Для большей объективности постарайтесь на замечать слово MT5 в исходной записи.
Это же такая шикарная идея! Мы можем написать код тестового бота, затем логику из него перенести в боевого бота с обвязкой всяких защит от внештатных ситуаций, затем ещё раз всё это протестить, запустить на демке, запустить на реале и всё в одном месте на одном языке без всяких коннекторов и гемора. Гениально!
Выделять отдельно тестер, а потом переносить логику бота на другую API — вот это дурдом, но так часто бывает. Но это очень плохо.
В чём практическая ценность исследовательских возможностей тестера, если бот для него написанный с огромной вероятностью будет косячить в боевых условиях? Качественно и быстро выполнять подгонку на истории, чтобы втюхивать чудо-грааль за бабки через магазин приложений? Ну да, это крутая тема для разработчиков. Только ведь дело-то это гнилое =).
Видимо, всем квантам, кто исследует в R/Python/Matlab и т.д., нужно сообщить и ваше мнение.
Здесь, извините, другая ситуация.
Быстро проверять тут уже неудобно. Дэшбордов больно мала для анализа (визуализация так себе). Сама система кодирования настроена на другое. На интеграцию всего в одном месте!
ЗЫ Если нет аналогов, что мы тогда обсуждаем? =)
В MT5-Тестере идеи проверяются легко. Иногда сложно профитную ТС придумать — да. Написать — нет.
Не хватает качественной истории котировок лет за 10-15 с CME, CBOE, CFE, ICE...
Не хватает брокера, который возьмёт этот терминал как основной для клиентов на америке. Да хоть бы и на фортсе, но лишь бы объединить всё в одно.
Не хватает мульти-инструментальности в средствах языка MQL5. Вроде можно на индюк накладывать котировки с разных инструментов, но делается это через Ж. Часто вылетают ошибки системы (не подгружены данные с сервера, когда они уже миллион раз подгружены =). Причём, это не косяки кодера, а косяк архитектуры изначальный. Запрос котировок предполагает, что они синхронно есть на все минуты, а совсем не факт, что для всех инструментов это так. Сделать можно, но очень коряво получается!
Не хватает интеграции с адекватными современными средами разработки.
С одной стороны хорошо, что всё в одном, а с другой стороны платформа MS для разрабов даёт уже совсем другой уровень комфорта, чем редактор кода MQL, он отстал от жизни лет на 10.
Странно, что решили обсуждать MT5 в целом, когда в записи говорится только о ее части — Тестере. Торговая платформа вторична. Первична ТС, а это требует соответствующего исследовательского инструментария.
Видимо, если бы из своей записи убрал слово MT5, то восприятие было бы более позитивным. Давайте все же по делу и объективно.
Что касается качественной истории, то с ней обстоят дела ровно так же, как и в других инструментариях: ее нужно скачать и импортировать. Это нормальная практика. Но, видимо, MT5 и это должен делать по-умолчанию.
По интеграции — полная с C#, частичная — Python. Остальные — через сокеты. Полно роботов на MT5, которые торгуют ту же крипту на биржах, где про MT5 никто и не слышал.
В общем, хотелось бы ограничить разговор исследовательским инструментарием, а не разводить холивар по торговой платформе.
То что я написал напрямую касается исследований и тестера.
Ещё раз: как подгружать свою историю? Как готовить её для загрузки? Это появилось только что и всё очень топорно.
Про моё отношение к MT5 — это отдельная тема. Я не хейтер MT5, я хейтер долбаного квика! Всегда говорил, что в один прекрасный день квик умрёт и поглотит его именно MT5 (может быть уже MT6). Но вот квик точно маст дай! =)
Интеграции с C# нет. Это всё костыли странные. Сравните с каким-нибудь нинзя-трейдер — вот там интеграция с шарпом, это да.
Безусловно всё можно выкручивать самому как-нибудь через одно место, но если уж платформа претендует завоёвывать рынок и расширяться — пусть будет сделано так же качественно, как и её сильные стороны (оптимизация, скорость и всё что отмечено в тексте топика).
Приведите сранивтельные характеристики MT5-Тестера с другим аналогом, пожалуйста. Говорится не о детских поделках, а об алготрейдинге более-менее адекватного уровня.
Что касается импорта истории, то для человека, который занимается написанием роботов, разобраться, как импортируется история — дело двадцатое. Все там работает, иначе бы не писал.
Речи о 100% соответствии между тестами и реальной торговлей как таковой уже не идет. Дело в том, что случайность результата первична и борьба у меня идет именно за контроль этой случайности, чего можно добиться, торгуя опционы.
Как вы уже заметили в своей статье, ТС, которые оптимизируются в МТ5-тестере, рано или поздно начинают сливать. И чаще они начинают сливать довольно быстро, если не практически сразу. Поэтому я не вижу смысла биться за соответствие результатов в тестере реальным, если они изначально настолько случайные.
Вот как только мы эту случайность обуздали, тогда уже можно прикидывать отклонения в реальной торговле, но опять же статистически, рассчитывая распределение накапливаемой ошибки. Это более надежно.
К сливам ТС никакого отношения не имеют какие-либо Тестеры. В частности, MT5-тестер или Матлаб здесь не при делах. Эдж либо есть, либо его нет.
В предыдущих записях показал, что даже проскальзывания в MT5-Тестере оказались очень близко с реальными при сравнении.
Поэтому как-то вольно трактовали слова из статьи.
На данный момент совершено тысячи сделок за несколько месяцев реальной торговли. Характер прямой совпадает с тем, что на 18 месяцев до этого в Тестере. Что не так с эксплуатацией?
Понимаю, что ваши потребности в исследованиях несколько другие. Здесь описал алготрейдерские будни и инструментарий, сильно помогающий в них.
Если бы мне о моих продуктах каждый день писали какие-то сопли десятки людей, игнорил бы на 100%. Адекватный баг-репортер должен быть, который забирает минимальное количество времени, давая максимальное количество информации.
Такой подход касается не только MQ.
Что касается MT5-Тестера, то сейчас в нем найти баг — надо постараться. Безусловно, все идеально не будет никогда, т.к. у каждого свое представление о совершенстве. Но до понимания и использования тех возможностей, что уже есть, доросли немногие.
Последний пункт в записи про Альтернативы, похоже, так и останется без реакции. Какие плюсы у других решений?
если MetaQuotes Software удаляет любые неудобные вопросы к своим постам здесь, на СмартЛабе, а на своем форуме просто тупо банит тех, кто задает такие вопросы, тогда да, остается «оперативно и адекватно взаимодействовать» с теми, кто таких вопросов не задает.
Доказывать вам или кому-либо еще, что Земля круглая, я не собираюсь, дискуссия на эту тему мне не интересна, извините.
Возьмите любую программу, которая удовлетворяет вашим потребностям. Какая разница, какие личные отношения у разработчиков этой программы с некоторыми ее пользователями?
Меня многократно банили MQ. Это никакого отношения не имеет к тому, что написал про MT5-Тестер. Просто никакого. Зачем мне свои эмоциональные сопли приплетать к объективной оценке продукта?
Так можно договориться до того, что не нужно ходить к хорошему стоматологу по той причине, что он грубо разговаривает со своей соседкой по лестничной площадке.
Отделяйте мух от котлет, пожалуйста.
выдыхайте!
Я ничего плохого (или хорошего) про MT5 не говорил. Перечитайте мое исходное сообщение.
Я говорю о том, что поддержка в MetaQuotes Software редкостные засранцы и удивляюсь тому, что вы характеризуете их иначе.
Теперь же вы пишете: Каким образом тогда получается?
Т.е., если вы недоговариваете в этом пункте, то как вам доверять в остальных?
P.S.
Сам тестирую и торгую на FORTS через MT5, так что «устриц ел».
И еще, меня абсолютно не волнует послевкусие, если продукт хороший. Важен результат. Все баги тестера, о которых сообщал, были исправлены. Мне нужен был тестер без багов, а не толерантное отношение к себе со стороны разработчиков. Очень хороший инструментарий получил в итоге.
Не надо врать про то, что у них нет багов! Каждая обнова «радовала» меня когда я этой фигнёй страдал (3 года назад). Сомневаюсь, что сейчас стало вдруг совсем не так.
Не представляю, чтобы в обсуждении Adobe Photoshop, стали говорить, что это хрень, потому что не нравится Adobe Premier и Adobe Flash. А еще Adobe с кем-то судилось и т.д.
Вы понимаете, что ведете себя подобным образом? Речь веду про MT5-Тестер. Брокеров, MQ, Терминал и прочее обсуждайте, пожалуйста, в отведенных для этого местах.
Прекратите флудить.
Если сказать коротко — разработчик не вызывает доверие.
А если развёрнуто: тестер работает сегодня, но не работал вчера. И со следующим обновлением может быть закрыто что-то ключевое и все пользователи будут благополучно посланы нафиг. А старую версию тестера будет запустить невозможно.
Вот примерно такие ощущения от этого продукта у меня.
Фотошоп можно купить и юзать хоть в полной изоляции от всего. У меня в издательстве на третьем фотошопе 15 лет бизнес был построен и всё работало ожидаемо понятно! Все реакции программы были предсказуемы годами! А тут болото обещаний, ожиданий и по факту работает всё через жопу.
Это притензия к тестеру. Не к фирме, не к терминалу. А к тому, что продукт вечно сырой! Вы же тестируете стратегию в прошлом? Докажите мне обратное на «бэктесте» 5 лет для этого продукта (тестера) и я скажу — да, он хорош. Но отматывая его историю я понимаю, что впереди только грабли!
Ваша единственная претензия, что у вас есть страх к продуктам MQ. К счастью, вопросами лечения фобий здесь не занимаются.
MT5-Тестер подходит для исследования для алготрейдинга? Как отлично знающий этот продукт алготрейдер однозначно отвечаю — да. Подробности в исходной записи. И предыдущих.
Если видите более подходящий инструментарий, сообщите, пожалуйста.
ЗЫ Касаемо обновлений. Если сейчас все хорошо, но есть гипотетический страх к будущему. То никто не мешает сохранить текущую версию. Это делается сохранением всего трех exe-файлов. Здесь ситуация много проще, чем с каким-нибудь MS skype. Т.к. MT5-Тестер может работать полностью в оффлайне.
Всегда удивляют люди, которые не очень вдумываются в суть проблемы, но вместо того чтобы разобраться переходят на личности. Типа:
— нет доверия продукту, плохая поддержка, плохая история развития.
— а у тебя ноги кривые! Это всё твои фобии, иди лечись!
=)
Есть независимые хранилища каждой версии этих файлов. Поэтому проблемы работать с каким-то конкретным билдом MT5-тестера просто быть не может.
То, что он вызывается из Терминала, никак не влияет на его автономность и независимость. В оффлайне все отлично пашет.
Ну и, наконец, озвучьте, пожалуйста, каким алготрейдерским софтом пользуетесь?
МТ5 использую по накатаной. Какие-то мелкие идейки там оттестить. Ничего такого типа тиковой истории. Всё банально. Сезонность, корреляции на днёвках и т.п. Но «бизнес» на этом строить не рискну.
То что я торгую сейчас автоматизировать страшно! У меня на глазах столько косяков с внешними данными проходит, что просто представить не могу такого бота, который бы разобрался где правда, а где лажа идёт от биржи-брокера-клиринга и т.п. Делать на своей стороне собственный клиринг, собственный учёт позиций, всю бухгалтерию меня как-то ломает, а без этого ничего работать не будет (на моих биржах). Слишком много ошибок в отчётах по клирингам как минимум.
А причина проста: модель распространения продукта не зависит от конечных пользователей клиентской части терминала. Мы — пользователи не покупаем продукт на прямую. Продукт оплачивает брокер, он и музыку заказывает. Ему (брокеру) на нас в общем-то наплевать! Брокеру важно самому денег не спустить, вот на что заточена вся техподдержка и работа таких систем типа квик или MT5.
Другое дело когда терминал платный для клиента. Там и подход совсем другой!
Попунктно.
1. Не понял. Хорошо бы пояснить.
2. Сейчас этого сделать MT5-тестер не может.
3. Возможны любые склейки. Т.е. импорт любых своих ценовых данных.
4. Делаю это через надстройку над MT5-Тестером. Довольно просто.
5.1. Если правильно понял, то это есть.
5.2. Такое возможно, т.к. можно создавать символы с нужными условиями.
6. Этого нет.
7. Штатно этого на данный момент нет. Использую надстройку для этого.
Очень хорошо, что написали свои потребности. Возможно, MQ прочтут и подумают.