MetaQuotes Software
MetaQuotes Software личный блог
09 августа 2016, 16:14

Как создать торгового робота и не потерять время

Торговля на финансовых рынках сопряжена с множеством рисков, в числе которых самый главный — это риск совершить ошибку при принятии торгового решения. Мечта каждого трейдера – поставить вместо себя торгового робота, автомат, который всегда в отличной форме, не знает усталости и не подвержен людским слабостям: страху, жадности и нетерпению.

Каждый новичок, приходя на рынок, надеется заполучить или создать четкую и строгую торговую систему, которую можно переложить на язык алгоритмов, и полностью избавиться от рутинной работы. Возможно ли это?

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

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

Каждый трейдер должен самостоятельно пройти все стадии на пути создания собственной торговой системы. Не зря говорят, что не важно, по какой системе ты торгуешь, главное, чтобы ты действительно торговал по этой системе. Без этого торговля на рынке превращается в азартную игру, исход которой предрешен.


С чего начать ?

Встречается множество подходов к построению автоматической торговой системы. Выделим несколько основных из них.

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

Зачастую сторонники такого подхода знают слишком много математики и совсем не знают/не интересуются рынком. Рынок для них — чистая абстракция, одна из разновидностей интеллектуальной игры. Такой подход обычно ведет к многолетним изучениям и разработкам, результат в виде работающей автоматической торговой системы сам по себе не является важным. Хотя истории и известны фонды, состоявшие из нобелевских лауреатов по экономике, и имевшие в управление миллиарды.

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

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

В конце концов трейдер начинает задумываться над автоматизацией торговых процессов, и тут выясняется самая большая проблема – сложность формализации торговых правил при попытке перенести торговые правила на язык алгоритмов. Трейдеры, которые пытаются заказать торговый робот профессионалам, не всегда могут сформулировать правила торговли и найти общий язык с программистами.

Третий подход основан на попытке создать «черный ящик» на основе нейронных сетей с помощью готовых инструментов, широко представленных на рынке в специализированном ПО и в математических пакетах. Строительство своей собственной автоматической торговой системы с применением элементов искусственного интеллекта является очень интересной и увлекательной задачей даже для новичков, так как не требует ни глубокой математической подготовки, ни опыта программирования – все делается с помощью визуальных средств.

От трейдера в этом случае требуются базовое знание индикаторов технического анализа, умение подготовить необходимые ценовые данные и навыки работы с конкретным пакетом по работе с нейронными сетями. Главным недостатком такого подхода является то, что полученный с помощью специализированных инструментов по работе с нейронными сетями торговый автомат на самом деле является «черным ящиком» — принципы его работы неизвестны самому трейдеру, и нельзя в общем случае предсказать, какая фаза рынка ему не понравится.

Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю. Зачем? Ведь можно сразу написать автомат, потратив на это несколько месяцев, и затем только пожинать плоды своего труда. Хотя это напоминает ситуацию телеги и лошади — не имея опыта ручной торговли и покрасневших от монитора глаз, бросаться на такую амбразуру не стоит.

Ведь «без труда не вынешь и рыбку из пруда», и программист зачастую вместо торгового робота начинает писать с нуля на известном любимом ему языке программирования всю нужную инфраструктуру – получение и обработка ценовых данных, визуальное представление графиков и индикаторов, собственные средства по тестированию стратегии на истории и так далее. А какое удовольствие приносит создание своих коннекторов и прочих прокладок, только чтобы реалтайм данные начали поступать из терминалов, которые они вынуждены использовать.

Бывает, они выходят на форумы трейдеров и начинают рассказывать о своих чудо тестерах, которые  рвут по скорости все другие проприетарные решения. Но оказывается, что вместо тестера у них заточенная под конкретную простую стратегию числомолотика, и пользоваться ею никто кроме автора не сможет. Правда, некоторые из них даже причесывают свои программы под знакомые всем интерфейсы и пытаются продавать.

В процессе этой работы он получает много полезного опыта. Но при этом он, чаще всего, ни на йоту не приближается к конечной цели – созданию автоматической торговой системы. И если даже он пройдет весь путь до конца, то где гарантия, что написанный робот окажется прибыльным? А если он захочет написать другую торговую систему? Нужно все перестраивать и разбираться с новыми неизбежными ошибками программирования. Зачастую, этим трейдерам больше нравится программировать и отлаживать, чем торговать. Но не все из них понимают это.

Есть еще и пятый путь – попытаться купить готового торгового робота и торговать с его помощью, при этом трейдер выступает в качестве оператора или настройщика. Такой вариант существенно экономит время (не требуется изучать множество новых вещей) и позволяет сразу же окунуться в мир автоматической торговли.

Главный недостаток такого подхода проистекает из его достоинств – вы не знаете, как работает данный торговый робот и на каких принципах он построен. И если даже продавец предоставил вам подробное описание заложенной в нем торговой системы, вы никогда не будете в ней уверены до конца.

Впрочем, 100%-ную гарантию не дает ни один подход, кроме депозита в банке. Но это не совсем то, за чем идет человек, интересующийся биржей и возможностями спекулятивного (и чем быстрее, тем лучше) преумножения капитала.


Я бы в трейдеры пошел, пусть меня научат

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

Сейчас в век интернета трейдера со всех сторон завлекают курсы, школы, семинары и так далее. Начинать лучше всего, по нашему мнению, с изучения классиков жанра — со чтения известных книг признанных трейдеров.  Далее мы поговорим только о втором подходе, который уже является классическим. Именно с него начинает свой путь в автотрейдинг подавляющее большинство трейдеров, так как знание технического анализа еще никто не отменял при освоении основ торговли на рынках.

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


Первые шаги по созданию торгового робота

Для написания автоматической торговой системы требуются навыки программирования и знание всех тонкостей обработки торговых запросов. Но вы можете на первом этапе начать знакомство с уже готовыми торговыми роботами.

Найдите и скачайте в интернете готовый код и проверьте его на участке истории с ярко выраженным трендом. Затем посмотрите, как он ведет себя когда цена находится в диапазоне/флете. Проведите оптимизацию входных параметров и посмотрите, как они отличаются на этих двух участках.

Запустите на трендовом участке эксперт с оптимальными параметрами для флета, и наоборот – на флетовом участке с параметрами для тренда. Посмотрите, насколько сильно меняются торговые результаты, как меняются распределения сделок и остальные статистические параметры. Таким образом, вы узнаете, как сильно может меняться поведение торговой системы при изменении ситуации на рынке.

Желательно таким путем исследовать несколько классических торговых стратегий на разных участках истории и на разных инструментах. Такая обкатка в тестере может оказаться хорошей прививкой на будущее от подгонки торговой системы под конкретную историю и поможет лучше понимать суть трендовых и контртрендовых систем.

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

Вы можете потратить времени на этом этапе столько, сколько вам требуется для того, чтобы быть уверенным, что вы хорошо можете понимать любую торговую стратегию по результатам тестирования и оптимизации. Знание слабых и сильных сторон традиционных систем позволит вам быть более подготовленным при создании своего собственного торгового робота.


Выбор языка программирования

При выборе языка программирования нужно принять во внимание несколько важных факторов:

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

Знание языка программирования на базовом уровне позволит вам впоследствии самому вносить мелкие исправления и изменения в полученный код уже после завершения работы. Ведь не будете же вы по каждому мелкому поводу обращаться к другому программисту, гораздо быстрее и проще сделать это самому.

 

Всё украдено до вас

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

Военные во всех странах склонны к чрезмерному уровню секретности, и не зря на этот счет существует множество анекдотов, среди которых есть и такой: «Военная тайна заключается не в том, что вы это знаете» — говорит инструктор курсантам военного училища, — «а в том, что это знаете именно вы». С торговыми системами ситуация примерно такая же: большинство трейдеров используют простые известные торговые идеи, только с небольшими доработками, например, в виде использования трейлинг стопа (Trailing Stop) или подтверждения сигналов от трендовых индикаторов.

Существует множество закрытых трейдерских форумов, на которых идет совместная разработка или доработка секретных торговых систем и куда закрыт вход простым смертным. Самое интересное, что ничего секретного на них найти нельзя, всегда берется старая классическая идея, вроде «торгуй по тренду» и доводится до совершенства с помощью каких-то новых неизвестных широкой публике индикаторов.

Поэтому вы можете смело брать доступные в исходном виде коды торговых роботов и пытаться найти правильное их использование на тех или иных инструментах и таймфреймах. Как говорится — «Вы не любите кошек? Вы просто не умеете их готовить!» В это трудно поверить, но вероятность того, что вы придумаете что-то принципиально новое, очень мала. Тут главное всё правильно сделать самому из доступных ингредиентов и не думать, что кто-то сверхумный пользуется какими-то секретными разработками из лабораторий NASA. В этом и заключается секрет Грааля.

 

Редкая птица долетит до середины Днепра...

«Если торговые идеи лежат буквально под ногами, то почему ими никто не пользуется?» — возникает резонный вопрос. Ответ на него кроется, вероятно, в человеческой психологии. Многие банки и крупные инвестиционные фонды содержат в своем штате трейдеров, которые торгуют по расписанным правилам и в объемах, которые им позволены. Но почему-то редко когда институциональные трейдеры уходят на вольные хлеба и начинают торговать на свои деньги.

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

Отклоняясь немного от темы, приведем в пример легендарную группу «Черепахи», которая успешно торговала на множестве рынков в конце 20-го века. Прочитав «Путь черепах», понимаешь, что главное в профессии трейдера именно железная внутренняя дисциплина, а не какая-то суперсекретная система. Взять хотя бы торговые системы А. Герчика — он дает их бесплатно, их можно скачать с торрентов бесплатно. Увы, большинство не сможет торговать по прибыльной стратегии, даже если получит её даром. И потому многие начинают подозревать, что их обманывают… )

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

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

Можно сказать, что Грааль — это работающая идея и правильная корректировка параметров, проводимая время от времени при изменении рыночных условий.

Каждый трейдер желает… не торговать самостоятельно

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

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

Надеемся, что данная статья сэкономит новичкам время и укажет нужное направление в нелегком деле создания автоматической торговой системы.

А пока предлагаем проверить ваши торговые идеи в MetaTrader 5.
137 Комментариев
  • михаил алексеев
    09 августа 2016, 16:30
    реально прибыльную устойчивую систему невозможно

    запрограмировать

    знаешь почему

    потому что в ней всегда будет присутствовать ситуационность
  • nik
    09 августа 2016, 16:38
    а вот и неправильный ответ. правильный подход: взять какую-нить готовую библиотеку фиксфаста и написать робота на ней ;)
  • SergeyJu
    09 августа 2016, 16:38
    Слишком длинно и скучно для просто рекламы.
      • nik
        09 августа 2016, 17:00
          — MetaQuotes Software, Хотя это напоминает ситуацию телеги и лошади — не имея опыта ручной торговли и покрасневших от монитора глаз, бросаться на такую амбразуру не стоит.

        это какраз правильный подход, потому что в 21-м веке рулят только роботы и у ручного трейдера нет никаких шансов против них.
        • Aleks Row
          22 ноября 2022, 14:11
          nik, торгует не трейдер вручную и не робот… торгует торговый алгоритм.то есть система принятия решений. если не разбираешься в торговле-как напишешь алгоритм для робота?
      • sortarray sortarray
        09 августа 2016, 17:28
        MetaQuotes Software, 
        Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю

        Я вообще то не торгую, но я всегда выбираю четвертый путь. А зачем, собственно, что-то делать руками, если это можно сделать программно? Если надо обработать кусок текста, не проще ли написать пару тройку регулярок, чем редактировать вручную через поиск и замену? Программист вообще ничего в ручную не должен делать. Даже программы вручную в идеале не надо писать, надо писать кодогенераторы. 

          • sortarray sortarray
            09 августа 2016, 17:32
            MetaQuotes Software, лень мне читать такую портянку:) Тем более, это все блаблабла, все сводится к тому, что если есть мозги, то и правильно инструмент выберешь, и все реализуешь, а если нет — значит не судьба:)
      • Евгений Черных
        09 августа 2016, 17:36
        MetaQuotes Software, Вот я так получаю значение индикатора


        double MaShortValues[];

        double maShort1,maShort2;

          maShortHandle=iMA(_Symbol,_Period,MaShort,0,MaShortMethod,MaShortPrice);

        CopyBuffer( maShortHandle,0,0,5,MaShortValues);

        maShort1=MaShortValues[1];

        В четвертом MT Это делается в одну строку. В пятом можно так же или обязательны эти танцы с бубном?
          • Евгений Черных
            09 августа 2016, 17:46
            MetaQuotes Software, То есть нужно каждый раз заниматься такой нудятиной?

            Производительность в 95% процентов роботов, которые лично сам делаю для своих клиентов не имеет никакого значения.  Минимальных значений как правило хватает
              • nik
                09 августа 2016, 18:00
                MetaQuotes Software, какраз с производительностью все будет очень плохо, если каждый раз копировать все данные вместо того чтоб просто к ним обратиться инплейс.
                  • nik
                    09 августа 2016, 18:17
                    MetaQuotes Software, кто знает стоимость этого конкретного инплейса?

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

            • helk3rn
              09 августа 2016, 17:53
              kbrobot.ru, как же вы любите поныть, это просто невероятно :)
              • Евгений Черных
                09 августа 2016, 18:08
                Adept, Почему поныть? ПРосто автор несколько раз писал о том, как все стало проще и меньше кода. Но правильней было написать, что стало сложнее, большей кода, но больше возможностей. Это было бы правильнее. А так — просто манипуляции
              • Евгений Черных
                09 августа 2016, 18:09
                Adept, Мне то как раз даже лучше. Больше строк — меньше желающих разбираться самому  - больше обращаются ко мне
                • helk3rn
                  09 августа 2016, 18:17
                  kbrobot.ru, Ну хорошо :)
            • sortarray sortarray
              09 августа 2016, 18:04
              kbrobot.ru, 
              То есть нужно каждый раз заниматься такой нудятиной?
              Производительность в 95% процентов роботов, которые лично сам делаю для своих клиентов не имеет никакого значения.  Минимальных значений как правило хватает

              Не проще ли при таком раскладе перейти на какую то платформу с динамическим языком? например, вроде в квике луа встроен
              • Евгений Черных
                09 августа 2016, 18:07
                sortarray sortarray, На нем и делаю все. Но если требований особых нет, то QPILE  хватает в 90% случаев
                  • Евгений Черных
                    09 августа 2016, 18:24
                    MetaQuotes Software, В 90% случаев задержка не играет никакой роли, если это не HFT.  
                    Вроде как в Метасе нет поддержки нескольких счетов. Какие то проблемы в валютой и опционами. 

                    Да и зачем, если куча софта уже написано под QUIK
                      • Евгений Черных
                        09 августа 2016, 18:40
                        MetaQuotes Software, Свой опыт я основываю на своем трейдинге и на трейдинге клиентов(которых весьма много).    То что вы делаете нужно весьма узкой прослойке трейдеров.  Просто часто между программистом и клиентом — пропасть, что видно по Вам. Вы банально не понимаете клиентские запросы. Продаете клиенту сверло, а ведь ему нужна дыра в стене. Читайте Котлера.

                        Вы не торгуете в этом все и дело.Преимущество  200 мс нужно Секрету. Остальным пофигу
                        • nik
                          09 августа 2016, 20:22
                          kbrobot.ru, и секрету тоже не нужно ;) он как-то писал, что его алгоритмы толерантны к летенси в секунду.
                      • nik
                        09 августа 2016, 18:52
                        MetaQuotes Software, какие «10 микросекунд», не смеши мои тапочки)) с такими дикими летенси от 20 мс(и это еще в идеальном случаи в ваших тестах, а в реальности среднее время вразы хуже) ни о какой быстрой реации и речи быть не может)) что мт, что квик могут торговать только медленные не критичные к скорости алгоритмы, а там уже на эту небольшую раздницу между мт и квиком пофиг. те кому реально нужна скорость, ни то ни другое не станет юзать ;)
                        вот, например, мне нужна скорость — и я торгую только через свой софт, у которого средний раундрип выставления заявки 200 микросекунд ;)
                          • nik
                            09 августа 2016, 20:24
                            MetaQuotes Software, хаха, ну давай, товорищ диллетан раскажи мне, профессионалу в ХФТ, что возможно на нашей бирже, а что нет ))
                            lol

                        • Евгений Черных
                          09 августа 2016, 18:58
                          nik, те кому реально нужна скорость, ни то ни другое не станет юзать ;)
                          Бинго. Они просто тратят ресурсы своих программистов в пустую.
                            • nik
                              09 августа 2016, 20:33
                              MetaQuotes Software, ну давай, посмеши еще народ, выставляя на показ свое делитанство))
                              у меня именно полный раундтрип выставления заявки 200мкс. а полный средний тик ту трейд(раздница между биржевым временем регистрации чужой заявки, на которую я среагировал, и биржевым временем моей заявки, которую послал мой алгоритм в качестве реакции на чужую заявку) 500микросек для спота, и 900микросек для фортса.
                              а время синхронной посылки пакета на сетевухи(при использовании опенанлоада), да будет вам известно, всего 0.5-1мкс, а никак не 200.
                              но я конечно понимаю, что для технически отсталого метаквотса озвученные числа выглядят фантастикой и недостежимы впринцыпе))

                              • Oleg Vazhnev
                                10 августа 2016, 22:06
                                nik, а как вы на фортсе намерили 900 мкс, разве в фортсе микросекунды публикуются уже?
                                0.5-1 мкс на опенонлоаде тоже мерили, или это из презенташек цифра? :)
                                • nik
                                  10 августа 2016, 22:11
                                  ovazhnev, это же среднее значение, чтоб его посчитать достаточно данных любой разрядности, хоть с точностью до секунды ;)
                                  • Oleg Vazhnev
                                    10 августа 2016, 22:31
                                    nik, нужно очень много замеров тогда. минимум наверное 1000. чтобы из дельт с миллисекундной точностью выцепить разницу в микросекундах с приемлемой погрешностью. и то исходим из предположения что рыночные события примерно равновероятно распределены внутри миллисекунды, что не совсем факт что так ) или я не понял чего. ну ладно померять надо бы как-нибудь у себя так же, сравнить с вашими 500 на споте хотя бы. там может и на фортсе микросекунды начнут публиковать. Хотя никогда наверное не доберусь. Целую стратегию писать только ради этого замера.
                        • Friendly Deep Space
                          09 августа 2016, 20:26
                          nik, Пинг учитываете?
                          • nik
                            09 августа 2016, 20:38
                            qlewer, причем тут пинг?
                            • Friendly Deep Space
                              09 августа 2016, 20:42
                              nik, 200 микросекунд это до биржи и обратно или как? 
                              • nik
                                09 августа 2016, 20:52
                                qlewer, да
                                • Friendly Deep Space
                                  09 августа 2016, 20:55
                                  nik, А как соединение до биржи реализовано, что оно такое быстрое, выделенная оптика с железом без провайдера?
                                  • nik
                                    09 августа 2016, 20:57
                                    qlewer, естесно, колокацыя. мои сервера стоят в нескольких десятках метров от бирживых и между нами всего один роутер.
                                    • Friendly Deep Space
                                      09 августа 2016, 21:00
                                      nik, Выходит сам робот на отдельном спец.сервере неподалеку от биржи, а управляете им удаленно? Ясно, а я все думал, как оно устроено там у биржевых скорострелов)
                                      • nik
                                        09 августа 2016, 21:05
                                        qlewer, а че думать, у бирже на сайте все расписано в открытом доступе какие есть схемы подключения))
                                        moex.com/s335
                                        • Friendly Deep Space
                                          09 августа 2016, 21:13
                                          nik, Ну я так быстро не торгую, не доводилось подробно интересоваться)
                                    • Oleg Vazhnev
                                      10 августа 2016, 22:37
                                      nik, скоко метров до серверов не важно. у нас биржа вроде всех соединяет кабелями одинаковой длины, поправьте если я не прав.
                  • Миха
                    10 августа 2016, 21:51
                    MetaQuotes Software, ага и висит он до 10 раз дольше. У меня после открытия рынка на срочке минуты 3-5 терминал просто не отвечает. А вы тут всё про скорость… Чуть цены побыстрее побежали и терминал завис. Такая вот скорость.
                      • Friendly Deep Space
                        11 августа 2016, 12:59
                        MetaQuotes Software, Тормоза терминала на открытии я уже Ренату лично объяснил на форуме и показал даже на видео. Реакции — ноль.
                          • Friendly Deep Space
                            11 августа 2016, 13:48
                            MetaQuotes Software, А вы читали форум? Какое отношение кастомные индикаторы имеют к коду, отвечающему за отображение Last на графике, можете объяснить? В стакане в это время все летает, и на графике Bid-Ask летает, что аж за пределы свечи. Так что правьте Last, чтобы успевала. Все дальнейшее обсуждение этого вопроса — в форум.
                        • Chepell
                          12 августа 2016, 20:01
                          qlewer, а тормоза мт5 на открытии у вас сейчас наблюдаются?
                          Сегодня сравнивал мт5 с кивком, один счет, один брокер, один комп. Видно что мт5 быстрее квика. Никаких тормозов не вижу.

                          В пн еще сравню мт5 с тслабом на плазе.
                          • Friendly Deep Space
                            12 августа 2016, 20:09
                            Chepell, МТ5 намного быстрее Квика и Транзака, но есть один нюанс. В МТ5 в те моменты, когда резко взлетает активность торгов, например на открытие сессии в 10-00 в первы 2-3 миинуты, или в какие-нибудь нефтяные новости, может наблюдаться подтормаживание отображения тела свечи. При этом в самом стакане и на графике Бид-Аск летает очень быстро и не тормозят. На графике они вылетают в такой момент даже за пределы свечи иногда, так как тело свечи строится по цене последней сделки, и именно она тупит в минуту сверх-активности. В стакане в графическом представлении ленты сделок поверх тикового графика кружки сделок также прекращают отображаться и висят на пару с телом свечи. Это все происходит не всегда, и по сути не влияет на исполнение и торговлю. Это баг, совершенно очевидно. И меня весьма удивляет реакция разработчиков, включая генерального, на этот баг. Точнее отсутствие этой реакции. В вежливой форме баг был описан на форуме, без претензий и брани. Видимо с точки зрения разработчиков это никому не мешает и багом не считается.
                            • Chepell
                              12 августа 2016, 20:30
                              qlewer, я наблюдал такие вещи весной в мт5. Всего несколько 1мин графиков без каких-либо индикаторов и экспертов.

                              Первые пару минут мт5 мог жутко тормозить, а именно график и все данные на вкладке торговля.

                              Но коллеги торгующие алго, говорили что это только визуальная проблема, на алго никак не сказывалась.
                          • Friendly Deep Space
                            12 августа 2016, 20:11
                            Chepell, Если будете в ПН сравнивать МТ5, то запишите открытие сессии в 10-00 в МТ5 в минутном графике на видео в течение первых 5 минут. Если получится записать параллельно окно ТС-лаба с минутными свечами, будет еще более интересно.
                            • Chepell
                              12 августа 2016, 20:30
                              qlewer, да, так и сделаю, ссылку на ютуб повешу
                              • Friendly Deep Space
                                12 августа 2016, 20:38
                                Chepell, Сделайте такого плана, как у меня. https://youtu.be/yJgmjQPH7sM
                                • Chepell
                                  12 августа 2016, 20:47
                                  qlewer, ага
                                  как-то пару месяцев назад сравнивал, тогда мт5 был быстрее чем тслаб на плазе по визуальному отображению.
                                  Посмотрим как сейчас дела обстоят.
                                • Chepell
                                  17 августа 2016, 10:09
                                  qlewer, вот смотри https://youtu.be/I1KvPJAMqrc
                                  • Friendly Deep Space
                                    17 августа 2016, 10:26
                                    Chepell, Попозже посмотрю. Были тормоза? А то у меня что-то второй день ютуб не работает почему-то, с переадресацией IP тоже не работает, хз что там такое, у многих оказывается проблемы.
                                    • Chepell
                                      17 августа 2016, 11:20
                                      qlewer, мт5 быстрее
                                      • Friendly Deep Space
                                        17 августа 2016, 11:27
                                        Chepell, Ну вот сейчас посмотрел, тормозов нет, может поправили уже. И да, МТ5 пободрее смотрится.
                                  • Friendly Deep Space
                                    17 августа 2016, 11:17
                                    Chepell, О, заработало через другое дополнение VPN.
                      • Миха
                        11 августа 2016, 17:44
                        MetaQuotes Software, да перестаньте уже с этими сказками. Использую только встроенные индикаторы, только ваши. Минимум открытых графиков и минимум данных в чарте. Откройте стакан и подождите открытия, что у вас там совсем тестировать некому??
                        Вообще постыдились бы писать тут про скорость пока не исправите эти баги…
                        Я жаловался брокеру. Ответили, что ситуация известная, разработчики разбираются. Да больно долго что-то разбираются.
          • sortarray sortarray
            09 августа 2016, 17:52
            MetaQuotes Software, 
            А в пятерке вы однократно запросите все 1000 значений, положите их в локальный массив (особенно если он статический) и сможете максимально быстро (не забывайте, что программа в финале компилируется в нативный 32/64 битный код) с ними работать.

            Чет не понял. Сразу говорю, что эту среду вообще не знаю, просто интересно. А там разве не JIT компиляция? Если это JIT компиляция, то вы так можете наоборот потерять в производительности, если вы в рантайме, где нибудь изнутри функции например, запрашиваете все эти данные, вы вынуждены запрашивать их все, вместо одного нужного? и че то не понятно, что по поводу актуальности данных. Разве эти ваши индикаторы не должны быть актуальны на момент использования в любой произвольный момент исполнения? Что толку то, что вы положили в массив данные, которые были актуальны энное время назад?
      • Quant-Invest
        10 августа 2016, 11:18
        MetaQuotes Software, 
        вместо тестера у них заточенная под конкретную простую стратегию числомолотика, и пользоваться ею никто кроме автора не сможет
        Вот, кстати, это меня вполне устраивает — скорость, специализация, и защита в одном флаконе. :)
        Это у вас бизнес — продавать тестеры, а у нас — рубить бабло, не привлекая внимания санитаров...
        И естественно, любой грамотный спец.инструмент на голову выше универсального.
  • b@e
    09 августа 2016, 17:04
    Долго, нудно, ни о чем
  • akuloff
    09 августа 2016, 17:16
    Не теряйте времени — пишите сами! Вы что будете ждать подгрузки чужих данных, тестирование по бидам/аскам до пенсии? Свой тестер — незаменимый опыт! Кроме того есть специальные скриптовые языка для дата майнинга — R, Python. Набивая скилл на них, вы становитесь специалистом не только в роботописании, ценным кадром :-)
      • nik
        09 августа 2016, 17:39
        MetaQuotes Software, пока не существует нормальных готовых тестеров, скил написания тестеров будет  и дальше цениться.
          • nik
            09 августа 2016, 17:49
            MetaQuotes Software, результаты тестера мт5 сильно отличаются от результата реальной торговли за тот же период, так что от такого тестера больше вреда чем пользы. не умеете вы писать правильные тестеры.
              • nik
                09 августа 2016, 18:07
                MetaQuotes Software, а че тут доказывать? берешь какую-нить интрадей стратению, торгуешь ей один день и сравниваешь с тем, что выдаст тестер за этот день. раздница будет существенная.
                  • nik
                    09 августа 2016, 18:13
                    MetaQuotes Software, ага, прям разбежался и побежал сломя ноги тестерам на вас работать за бесплатно)) если ваш отдел тестирования не способен сделать такую простую операцию, могу сделать это за них за скромную плату $5k
                      • nik
                        09 августа 2016, 18:40
                        MetaQuotes Software, хаха, опять ты сел влужу со своей неработающей гадалкой))
                        я то какраз имею опыт работы с этим г**ном ;) как-то попробовал его в течении нескольких недель, поплевался с этой кривой накаленной поделки, и снес нафиг.
          • Миха
            10 августа 2016, 22:05
            MetaQuotes Software, ваш тестер показывает неадекватные результаты. Приведу пару примеров. После brexit на реале робот закрыл позу в самом низу первой свечи. При тестировании даже с произвольной задержкой он закрывается в середине этой свечи. Сейчас конкретные данные не скажу, но разница там колоссальная просто. То же было 1 марта или когда там был веселый день. При тестировании открывается позиция прямо в самом начале свечи, чего в реальности просто невозможно было осуществить.
              • Миха
                11 августа 2016, 17:51
                MetaQuotes Software, every tick использую. У меня открывает эксперт по рынку. А что не так с моим примером? Просто ситуация, где очевидно отличие. Every tick based on real ticks никогда не использовал. Появилось видимо недавно? Стоит использовать?

                Сделайте не произвольную задержку, а настраиваемую задержку. Меня бы в тестере устроила задержка в 1-2 сек спокойно. В чем еще минус произвольной задержки? Выбрал я тестирование в этом режиме и всегда в нем тестирую для более адекватных результатов. Но результаты всегда разные (т.к. задержка плавающая). Изменил я алгоритм и не знаю точно, какова степень влияния данного изменения, а каков вклад рандомной задержки, т.к. она каждый раз разная.
      • akuloff
        09 августа 2016, 18:31
        MetaQuotes Software, у меня есть роботы на mt5, я знаю о чем говорю. Причем здесь велосипеды? Если я пишу тестер на java, то я становлюсь java программистом, и скилл не только в коннекторе. Можно пойти под андроид писать и т.д.
        А если я борюсь с «особенностями» mt5, то кем я становлюсь? 
          • akuloff
            09 августа 2016, 19:03
            MetaQuotes Software, вы сами то верите что на mql5 может написать работающего робота «любая домохозяйка»?
  • Friendly Deep Space
    09 августа 2016, 20:07
    На данный момент для терминала МТ5 не хватает одного — нормального продуктивного конструктора. Сделайте конструктор на подобие ТС-лабовской модели, и популярность терминала станет выше. Кто захочет продолжить изучение языка — продолжит. Большинству хватит конструктора. То, что есть сейчас — не конструктор. Например вот конструктор - https://fxdreema.com/examples/. Его один человек сделал. А вы всей командой за столько времени не можете довести до ума.
    • Евгений Черных
      09 августа 2016, 20:29
      qlewer, Им пофигу. Им главное, что латенси у них прет. Остальное не волнует. А то что латенси это нужно 0,05 % клиентов им пофигу
      • Friendly Deep Space
        09 августа 2016, 20:34
        kbrobot.ru, Говоря про латенси многие забывают, что у них пинг может быть до 50-100мс. И быстрее никак не выйдет. А по роботам, взгляните на тот конструктор, его сделал один разработчик самостоятельно. Лучшего конструктора под МТ4-МТ5 я не видел пока. Метаквотам нужно взять его на работу с хорошим окладом, чтобы он показал, как делают конструкторы.
    • Friendly Deep Space
      09 августа 2016, 20:37
      MetaQuotes Software, Категорически не согласен. Так же можно сказать, что на кой лад делался популярный ТС-лаб с блоками, когда можно было сделать его без блоков и писать все вручную, а он пусть только торгует. Потому и делался, что в терминалах ничего такого нет, а язык учить не у всех есть желание. Не хотите преимущество для МТ в виде функционального редактора? Это будет значительное преимущество, говорю как пользователь МТ5.
    • Artemunak
      09 августа 2016, 22:29
      MetaQuotes Software, большинству хватит конструктора как в тслабе.  Слепить нормального робота там можно не читая вообще мануалов !
      А ваш визард кстати фигня, он не избавляет от необходимости хорошо разбираться во всех загогулинах вашего софта. И у визуального конструктора масса преимуществ на самом деле, не только простота.
      • Friendly Deep Space
        09 августа 2016, 22:31
        Artemunak, Мне кажется, официальная позиция МТ не делать визуальный конструктор ни при каких обстоятельствах, и уговаривать всех учить с нуля MQL. Они упорно не хотят это понять.
        • Artemunak
          09 августа 2016, 22:56
          qlewer, ага, пусть ещё заодно всех научат что такое указатели, конструкторы, наследование, инплейс функции...
          Даже имея опыт программирования некоторые нюансы всей этой фигни забываются, а без этого робота в метаке не слепить.

          Ещё я помню фразу Герчика «изи лэнгвич чёто не фига не изи на самом деле»
          Привёл дословно. Изилэнгвич в другом софте в разы легче чем в метаке, и даже он для многих сложен…
          • Friendly Deep Space
            11 августа 2016, 12:56
            MetaQuotes Software, Ну так а почему и что конкретно не работает то? Что именно вы делали и тестировали? Пока что кроме встроенного редактора я ничего не видел от вас. Вы сделайте бету, а тестировать будут пользователи. Пример как сделать я показал. 
              • Friendly Deep Space
                11 августа 2016, 13:50
                MetaQuotes Software, Отвечу в вашем стиле. Тогда будьте добры, докажите и продемонстрируйте то, что вы делали и тестировали по конструктору, и когда и как оно не получалось. Без доказательств это все пустой трёп. На этом ресурсе такое не любят.
                  • Friendly Deep Space
                    11 августа 2016, 14:09
                    MetaQuotes Software, Бред и оправдания. Допуская такого рода полемику и пустые споры, как менеджер по связям с общественностью, вам никогда не удастся повысить популярность продукта на Смарт-Лабе. Особенно с такими безапелляционными заявлениями про конструкторы. Тут люди не одну собаку съели, в том числе в написании, конструировании и торговле роботами. 
                      • Friendly Deep Space
                        11 августа 2016, 14:56
                        MetaQuotes Software, Статья о том, как не потерять время. И я его не теряю. Ну разве что на пустые разговоры. Ежедневно свои идеи, как простые так и сложные я конструирую в ТС-Лабе, и тестирую на истории там же. Отдельные элементы и алерты для торговли в реальном времени в МТ5 я создаю в конструкторе под MQL5 от болгарского программиста. Так что не следует мне говорить, что делать, будто я никогда в глаза не видел терминалы и конструкторы. Болгарин в одиночку создал конструктор, и нет, чтобы взять с него пример. Вы говорили, что на MQL можно написать что угодно, если его знать. Так напишите, покажите, заинтересуйте пользователя. Как не потерять время. Элементарно! Открываю ТС-лаб и не теряю своего времени. Реализуя там даже сложные алгоритмы ни разу не пришлось лезть в самописные дебри. Приходилось в WealthLab дописывать, но Метаквотс не в состоянии скопировать даже то, что уже было в Велслабе 10 лет назад. Вместо этого будем сиськи мять до бесконечности, говоря, что текущего редактора хватает. Про текущий редактор можно забыть и не вспоминать.
                          • Friendly Deep Space
                            11 августа 2016, 15:25
                            MetaQuotes Software, Да! Сделайте конструктор!) Чтобы пользователи не теряли время)
    • Friendly Deep Space
      09 августа 2016, 20:40
      MetaQuotes Software, Меня всегда удивляет в каком ключе вы начинаете общаться с пользователями на трейдерском ресурсе. 
    • nik
      09 августа 2016, 20:50
      тролли из MetaQuotes Software, я конечно понимаю, что технически отсталым конторам трудно в такое поверить, но раз так сильно просите))

      <2016.8.9 17:43:6.786.430776><Info><Sending order instrument = SRZ6, internal id = 1271860691, side = Bid, quantity = 50, price = 0000014294.00000>
      <2016.8.9 17:43:6.786.653737><Info><OnExecutionReport: internal id = 1271860691, external id = 22387223290>

      ПС. приэтом я еще не самый быстрый на нашей бирже ;) на некоторых инструментах есть игроки, которые часто меня обгоняют и в более половины случаев успевают влезть вперед.
    • Friendly Deep Space
      09 августа 2016, 20:49
      MetaQuotes Software, Я делаю выводы как пользователь терминала, который торгует через этот терминал. Статья про создание робота на МQL, соответственно касаемо создания роботов я излагаю свой взгляд пользователя. Учить MQL мне будет сложно, так как я не знаю ни одного другого. И таких как я много, всех программистами не сделать, к сожалению. Текущего редактора не хватит для создания даже простой стратегии, я не говорю о двух Машках сейчас. Просто просмотрите тот сайт, который я привел в комментарии, и все станет понятно. 
  • Good Amigo
    09 августа 2016, 20:47
    N-ая часть марлезонского балета, нас опять учат как нам жить… вот ведь счастье, есть господин, что лучше других знает что думать и как говорить.
    • nik
      09 августа 2016, 21:01
      MetaQuotes Software, external id  - это бирживой идентификатор, соответственно его все игроки могут найти по этому номеру в фулордерлоге. мой внутренний идентификатор это  internal id, но он мне нужен только чтоб распознать ответ к какой из команд он пришел.
      и что удивительного в 223 микросекунды? это еще не самое лучшее время, иногда даже немного меньше 200 получается.
    • nik
      09 августа 2016, 21:07
      MetaQuotes Software, я ответил — да, читайте внимательней ;)
    • nik
      09 августа 2016, 21:19
      MetaQuotes Software, ахаха, я понимаю что с позиции технически отсталых контор это выглядит как какая-то фантастика, это всеравно что крестьянину из 19-го века показать айфон, реакция будет такой же как у метаквотсов на современные технорлогии))
      • flextrader
        09 августа 2016, 21:22
        nik, в лучем случае, тебе ща напишут про 3 мс-ный бэтч))) как контраргумент.

        кстати, да, а  ордер улетал ч/з p2 или все же нет?
    • flextrader
      09 августа 2016, 21:19
      MetaQuotes Software, аха, может мы даже увидим аргументы этой «невозможности» (от метаквотс)?
      в примере вполне адекватное время от futaddorder до колбэка, при «честной» криптографии p2mq
    • nik
      09 августа 2016, 21:41
      MetaQuotes Software, мдаа… поцыент неизличимо болен шизофренией, застрял в своем вымышленном мире и не выходит из него)))
    • Friendly Deep Space
      09 августа 2016, 21:51
      MetaQuotes Software, Булат, а Ренат заходит на Смарт-Лаб, читает комментарии?
      • nik
        09 августа 2016, 21:56
        qlewer, я думаю и у этих товарищей такая же звездная болезнь«наш софт самый лучший в мире а все кто считают иначе дураки и тролли», это у них корпоративная культура такая))
        • Friendly Deep Space
          09 августа 2016, 22:04
          nik, Вот я и пытаюсь понять. Люди то на первый взгляд грамотные, не дураки то точно, но почему часто в комментариях начинается такая надменная позиция и ввязывание в спор. Это ни сколько не делает чести как компании так и продукту — МТ, о котором еще долго будет тепленьким стереотип «несерьезного» терминала, как у Китая есть стереотип о качестве. Но Китай стремится превзойти всех, и последние годы — превосходит, доказывая на деле, прислушиваясь, и делая то, что просят, и стереотипа скоро не станет. Если так же подойти к терминалу, который уже вышел на МОЕХ и только приобретает пользователей, а не спорить с ними, не желая рассмотреть предложения и адекватно их обсудить, то прогресс будет, иначе — из этого ничего не выйдет.
  • Friendly Deep Space
    09 августа 2016, 22:14
    ПС. Статья изначально о том, как создать робота на MQL и не потерять время. Я и предлагаю — сделать рабочий редактор стратегий в терминале. Потратить время нужно один раз — команде разработчиков на разработку конструктора. Даже в терминале Альфа-Директ (ахренеть, от них я точно не ожидал!) за 10 лет догадались, что пользователи просят, и нужно попытаться сделать конструктор, и посложнее, чем две машки за ляжку. И делают. Неужели нельзя хотя бы скопировать готовую блочную концепцию и сделать ее вместо текущего бесполезного редактора? Как создать торгового робота с ММ на MQL, и не потерять время?
  • Миха
    12 августа 2016, 19:23

    Core 1 connection closed
    Core 1 tester agent authorization error
    Core 1 connecting to 127.0.0.1:3000


    Расскажите пожалуйста как с этой ошибкой бороться? Метатестер был добавлен в исключения антивируса и фаервола (у меня win 8.1, всё по умолчанию — антивирус родной). Разрешил даже порт 3000 на виндоус фаерволе в обе стороны. Приходится запускать тестирование по 3 раза. С первого раза очень редко начинает, выдает такую ошибку, раза с 3-го запускается.
  • Chepell
    12 августа 2016, 19:54
    Статья пустая, лучше бы конкретные вопросы/проблемы обсуждали и решали.

    Вот я задавал вопрос http://smart-lab.ru/blog/341200.php#comments
     и вас позвал на обсуждение, но почему-то вы этот вопрос проигнорировали.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн