Блог им. metaquotes

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

 

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

А пока предлагаем проверить ваши торговые идеи в MetaTrader 5.
★24
137 комментариев
реально прибыльную устойчивую систему невозможно

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

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

потому что в ней всегда будет присутствовать ситуационность
а вот и неправильный ответ. правильный подход: взять какую-нить готовую библиотеку фиксфаста и написать робота на ней ;)
avatar
Слишком длинно и скучно для просто рекламы.
avatar
SergeyJu, вот вам затравка для холивара:

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

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

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

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

avatar
  — MetaQuotes Software, Хотя это напоминает ситуацию телеги и лошади — не имея опыта ручной торговли и покрасневших от монитора глаз, бросаться на такую амбразуру не стоит.

это какраз правильный подход, потому что в 21-м веке рулят только роботы и у ручного трейдера нет никаких шансов против них.
avatar
nik, торгует не трейдер вручную и не робот… торгует торговый алгоритм.то есть система принятия решений. если не разбираешься в торговле-как напишешь алгоритм для робота?
avatar
MetaQuotes Software, 
Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю

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

avatar
sortarray sortarray, прочтите всю статью, пожалуйста.

Не считайте кусок вводной (чтобы сделать вывод, вводная ведь нужна?) сутью статьи. Там все детально описано и выведено.
avatar
MetaQuotes Software, лень мне читать такую портянку:) Тем более, это все блаблабла, все сводится к тому, что если есть мозги, то и правильно инструмент выберешь, и все реализуешь, а если нет — значит не судьба:)
avatar
sortarray sortarray, как раз для такого случая есть последняя строка.
avatar
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 Это делается в одну строку. В пятом можно так же или обязательны эти танцы с бубном?
avatar
kbrobot.ru, вы привели код из MQL5.

Чтобы понять разницу «в одну строку» и «не в одну строку», надо подумать о производительности.

Если вам нужно посчитать 1000 значений от iMA, то в четверке вы потратите уйму времени на 1000 дорогущих запросов вглубь индикатора.

А в пятерке вы однократно запросите все 1000 значений, положите их в локальный массив (особенно если он статический) и сможете максимально быстро (не забывайте, что программа в финале компилируется в нативный 32/64 битный код) с ними работать.

Отсюда вопрос — вы хотите тормозить как в четверке или летать на максимальной скорости в пятерке?

А если усложнить вопрос и добавить — на чарте 2 миллиона баров?
avatar
MetaQuotes Software, То есть нужно каждый раз заниматься такой нудятиной?

Производительность в 95% процентов роботов, которые лично сам делаю для своих клиентов не имеет никакого значения.  Минимальных значений как правило хватает
avatar
kbrobot.ru, какая нудятина?

Один раз при старте в OnInit создали хендл и потом нужном месте вызываете одну строку CopyBuffer и далее все данные в прямом доступе.

Совсем голову отключаете(боже мой, программист написал одну строку лишнюю) или просто нудеть решили, считая, что это уязвимое место?

Смешно же.

А вот производительность — это не смешно. И именно она важна, когда у тебя числодробило с гигабайтами данных в чартах и огромное количество трейдеров, запускающих индикаторы и роботы на десятке чартов с миллионным количеством баров.
avatar
MetaQuotes Software, какраз с производительностью все будет очень плохо, если каждый раз копировать все данные вместо того чтоб просто к ним обратиться инплейс.
avatar
nik, кто знает стоимость этого конкретного инплейса?

Вы, не имеющий даже понятия о платформе, или авторы этой платформы?

Если написано «1000 инплейс вызовов индикатора — это очень дорого, а один вызов — это дешево и эффективно», то не надо даже пытаться спорить.

Ведь даже тему раскрыл в паре комментов — это очень дорогая функция. Даже просто по тому, что она должна пройти через менеджер индикаторов, найтись в списке, провериться на необходимость синхронизации/пересчета и выдать одно значение из буфера.
avatar
MetaQuotes Software, кто знает стоимость этого конкретного инплейса?

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

avatar
nik, iMA (доступ к данным индикатора) — это чтение из памяти?

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

Не позорьтесь. Технический дилетант тут вы.
avatar
kbrobot.ru, как же вы любите поныть, это просто невероятно :)
avatar
Adept, Почему поныть? ПРосто автор несколько раз писал о том, как все стало проще и меньше кода. Но правильней было написать, что стало сложнее, большей кода, но больше возможностей. Это было бы правильнее. А так — просто манипуляции
avatar
kbrobot.ru, про меньше кода это вы придумали.

Меньше кода только при использовании стандартной библиотеки, что логично.
avatar
Adept, Мне то как раз даже лучше. Больше строк — меньше желающих разбираться самому  - больше обращаются ко мне
avatar
kbrobot.ru, Ну хорошо :)
avatar
kbrobot.ru, 
То есть нужно каждый раз заниматься такой нудятиной?
Производительность в 95% процентов роботов, которые лично сам делаю для своих клиентов не имеет никакого значения.  Минимальных значений как правило хватает

Не проще ли при таком раскладе перейти на какую то платформу с динамическим языком? например, вроде в квике луа встроен
avatar
sortarray sortarray, На нем и делаю все. Но если требований особых нет, то QPILE  хватает в 90% случаев
avatar
kbrobot.ru, вы вообще в курсе, что МТ5 проводит торговые транзакции до 10 раз быстрее QLUA?

Ну вот банально один синхронный трейд делает за 20 мс, а другой за 220 мс. Представляете, где обычно в очереди оказывается ваш ордер с такими задержками?

Так что не наводите тень на плетень и переходите на современные быстродействующие платформы. Они реально дают вам преимущество, а не чувство самоуспокоения «QPILE хватает в 90% случаев».


avatar
MetaQuotes Software, В 90% случаев задержка не играет никакой роли, если это не HFT.  
Вроде как в Метасе нет поддержки нескольких счетов. Какие то проблемы в валютой и опционами. 

Да и зачем, если куча софта уже написано под QUIK
avatar
kbrobot.ru, играет и еще как. Даже банально среагировать не сможет робот на обычном изменении на рынке. За лишние 200 мс все изменения мимо пролетят.

Я так понимаю, у вас позиция — мне ничего не надо, развитие мне не нужно.

А мы бьемся за каждые 10 микросекунд, оптимизируя платформу.
avatar
MetaQuotes Software, Свой опыт я основываю на своем трейдинге и на трейдинге клиентов(которых весьма много).    То что вы делаете нужно весьма узкой прослойке трейдеров.  Просто часто между программистом и клиентом — пропасть, что видно по Вам. Вы банально не понимаете клиентские запросы. Продаете клиенту сверло, а ведь ему нужна дыра в стене. Читайте Котлера.

Вы не торгуете в этом все и дело.Преимущество  200 мс нужно Секрету. Остальным пофигу
avatar
kbrobot.ru, человека не изменить.

Я ведь использую ваши комментарии, чтобы писать для других. Тех, кто понимает, что такое иметь аппарат в десяток раз быстрее других.
avatar
kbrobot.ru, и секрету тоже не нужно ;) он как-то писал, что его алгоритмы толерантны к летенси в секунду.
avatar
MetaQuotes Software, какие «10 микросекунд», не смеши мои тапочки)) с такими дикими летенси от 20 мс(и это еще в идеальном случаи в ваших тестах, а в реальности среднее время вразы хуже) ни о какой быстрой реации и речи быть не может)) что мт, что квик могут торговать только медленные не критичные к скорости алгоритмы, а там уже на эту небольшую раздницу между мт и квиком пофиг. те кому реально нужна скорость, ни то ни другое не станет юзать ;)
вот, например, мне нужна скорость — и я торгую только через свой софт, у которого средний раундрип выставления заявки 200 микросекунд ;)
avatar
nik, свои логи в студию — посмотрим на ваши 200 микросекунд.

И не путайтесь с определениями. Никакой раундтрип(с ответом) в 200 микросекунд на MOEX невозможен в принципе даже если у тебя софт на компе с ядром биржи. Там биржа сама неслабо тормозит даже просто на приеме.

Мы асинхронные заявки тоже за 200 микросекунд выплевываем в трубу. И будем еще быстрее.
avatar
MetaQuotes Software, хаха, ну давай, товорищ диллетан раскажи мне, профессионалу в ХФТ, что возможно на нашей бирже, а что нет ))
lol

avatar
nik, те кому реально нужна скорость, ни то ни другое не станет юзать ;)
Бинго. Они просто тратят ресурсы своих программистов в пустую.
avatar
kbrobot.ru, вы верите nik?

Он же готов заявлять что угодно. Вот даже раундтрип(полный цикл) у себя придумал в 200 микросекунд, не стесняясь забыть, что это у него время отсылки в сетевой сокет пакета с асинхронной операцией.
avatar
MetaQuotes Software, ну давай, посмеши еще народ, выставляя на показ свое делитанство))
у меня именно полный раундтрип выставления заявки 200мкс. а полный средний тик ту трейд(раздница между биржевым временем регистрации чужой заявки, на которую я среагировал, и биржевым временем моей заявки, которую послал мой алгоритм в качестве реакции на чужую заявку) 500микросек для спота, и 900микросек для фортса.
а время синхронной посылки пакета на сетевухи(при использовании опенанлоада), да будет вам известно, всего 0.5-1мкс, а никак не 200.
но я конечно понимаю, что для технически отсталого метаквотса озвученные числа выглядят фантастикой и недостежимы впринцыпе))

avatar
nik, а как вы на фортсе намерили 900 мкс, разве в фортсе микросекунды публикуются уже?
0.5-1 мкс на опенонлоаде тоже мерили, или это из презенташек цифра? :)
avatar
ovazhnev, это же среднее значение, чтоб его посчитать достаточно данных любой разрядности, хоть с точностью до секунды ;)
avatar
nik, нужно очень много замеров тогда. минимум наверное 1000. чтобы из дельт с миллисекундной точностью выцепить разницу в микросекундах с приемлемой погрешностью. и то исходим из предположения что рыночные события примерно равновероятно распределены внутри миллисекунды, что не совсем факт что так ) или я не понял чего. ну ладно померять надо бы как-нибудь у себя так же, сравнить с вашими 500 на споте хотя бы. там может и на фортсе микросекунды начнут публиковать. Хотя никогда наверное не доберусь. Целую стратегию писать только ради этого замера.
avatar
nik, Пинг учитываете?
avatar
qlewer, причем тут пинг?
avatar
nik, 200 микросекунд это до биржи и обратно или как? 
avatar
qlewer, да
avatar
nik, А как соединение до биржи реализовано, что оно такое быстрое, выделенная оптика с железом без провайдера?
avatar
qlewer, естесно, колокацыя. мои сервера стоят в нескольких десятках метров от бирживых и между нами всего один роутер.
avatar
nik, Выходит сам робот на отдельном спец.сервере неподалеку от биржи, а управляете им удаленно? Ясно, а я все думал, как оно устроено там у биржевых скорострелов)
avatar
qlewer, а че думать, у бирже на сайте все расписано в открытом доступе какие есть схемы подключения))
moex.com/s335
avatar
nik, Ну я так быстро не торгую, не доводилось подробно интересоваться)
avatar
nik, скоко метров до серверов не важно. у нас биржа вроде всех соединяет кабелями одинаковой длины, поправьте если я не прав.
avatar
MetaQuotes Software, ага и висит он до 10 раз дольше. У меня после открытия рынка на срочке минуты 3-5 терминал просто не отвечает. А вы тут всё про скорость… Чуть цены побыстрее побежали и терминал завис. Такая вот скорость.
avatar
Миха, уберите кастомные индикаторы и проверьте.

Ведь вы отлично знаете, что это кастомные индикаторы, написанные кое-как, тормозят ваш терминал. И в логах тоже пишется четко «вот этот индикатор очень сильно тормозит».

Как раз чтобы программисты могли писать мощные системы, мы и работаем над производительностью и эффективностью языка.

Но всегда есть те, кто пишет в лоб и тратит секунды на просчет индикатора.
avatar
MetaQuotes Software, Тормоза терминала на открытии я уже Ренату лично объяснил на форуме и показал даже на видео. Реакции — ноль.
avatar
qlewer, а вы убирали все кастомные индикаторы со всех чартов?
avatar
MetaQuotes Software, А вы читали форум? Какое отношение кастомные индикаторы имеют к коду, отвечающему за отображение Last на графике, можете объяснить? В стакане в это время все летает, и на графике Bid-Ask летает, что аж за пределы свечи. Так что правьте Last, чтобы успевала. Все дальнейшее обсуждение этого вопроса — в форум.
avatar
qlewer, а тормоза мт5 на открытии у вас сейчас наблюдаются?
Сегодня сравнивал мт5 с кивком, один счет, один брокер, один комп. Видно что мт5 быстрее квика. Никаких тормозов не вижу.

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

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

Но коллеги торгующие алго, говорили что это только визуальная проблема, на алго никак не сказывалась.
avatar
Chepell, Хорошо, если так.
avatar
Chepell, Если будете в ПН сравнивать МТ5, то запишите открытие сессии в 10-00 в МТ5 в минутном графике на видео в течение первых 5 минут. Если получится записать параллельно окно ТС-лаба с минутными свечами, будет еще более интересно.
avatar
qlewer, да, так и сделаю, ссылку на ютуб повешу
avatar
Chepell, Сделайте такого плана, как у меня. https://youtu.be/yJgmjQPH7sM
avatar
qlewer, ага
как-то пару месяцев назад сравнивал, тогда мт5 был быстрее чем тслаб на плазе по визуальному отображению.
Посмотрим как сейчас дела обстоят.
avatar
qlewer, вот смотри https://youtu.be/I1KvPJAMqrc
avatar
Chepell, Попозже посмотрю. Были тормоза? А то у меня что-то второй день ютуб не работает почему-то, с переадресацией IP тоже не работает, хз что там такое, у многих оказывается проблемы.
avatar
qlewer, мт5 быстрее
avatar
Chepell, Ну вот сейчас посмотрел, тормозов нет, может поправили уже. И да, МТ5 пободрее смотрится.
avatar
Chepell, О, заработало через другое дополнение VPN.
avatar
MetaQuotes Software, да перестаньте уже с этими сказками. Использую только встроенные индикаторы, только ваши. Минимум открытых графиков и минимум данных в чарте. Откройте стакан и подождите открытия, что у вас там совсем тестировать некому??
Вообще постыдились бы писать тут про скорость пока не исправите эти баги…
Я жаловался брокеру. Ответили, что ситуация известная, разработчики разбираются. Да больно долго что-то разбираются.
avatar
MetaQuotes Software, 
А в пятерке вы однократно запросите все 1000 значений, положите их в локальный массив (особенно если он статический) и сможете максимально быстро (не забывайте, что программа в финале компилируется в нативный 32/64 битный код) с ними работать.

Чет не понял. Сразу говорю, что эту среду вообще не знаю, просто интересно. А там разве не JIT компиляция? Если это JIT компиляция, то вы так можете наоборот потерять в производительности, если вы в рантайме, где нибудь изнутри функции например, запрашиваете все эти данные, вы вынуждены запрашивать их все, вместо одного нужного? и че то не понятно, что по поводу актуальности данных. Разве эти ваши индикаторы не должны быть актуальны на момент использования в любой произвольный момент исполнения? Что толку то, что вы положили в массив данные, которые были актуальны энное время назад?
avatar
sortarray sortarray, причем тут JIT?

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

Вы не уловили суть объяснения, потому что не понимаете, что скрывается за фасадом функции типа iMA.

Просто задумайтесь, что внутри iMA(индикаторов) все дорого в четверке. Особенно с учетом того, что при первом вызове iMA произойдет его создание и предрасчет. Так вот это дорогое kbrobot предлагает вызвать 1000 раз, каждый раз извлекая по одному значению.

А в пятерке вызов CopyBuffer от ранее созданного хендла на этапе инициализации программы происходит и быстрее и экономнее. За один раз извлекаются 1000 значений.
avatar
MetaQuotes Software, 
вместо тестера у них заточенная под конкретную простую стратегию числомолотика, и пользоваться ею никто кроме автора не сможет
Вот, кстати, это меня вполне устраивает — скорость, специализация, и защита в одном флаконе. :)
Это у вас бизнес — продавать тестеры, а у нас — рубить бабло, не привлекая внимания санитаров...
И естественно, любой грамотный спец.инструмент на голову выше универсального.
avatar
Долго, нудно, ни о чем
avatar
Не теряйте времени — пишите сами! Вы что будете ждать подгрузки чужих данных, тестирование по бидам/аскам до пенсии? Свой тестер — незаменимый опыт! Кроме того есть специальные скриптовые языка для дата майнинга — R, Python. Набивая скилл на них, вы становитесь специалистом не только в роботописании, ценным кадром :-)
avatar
Alexey Kulikov, нет больше такой проблемы «подгрузки чужих данных», «тестирование по бидам/аскам».

Используйте МТ5 и все доступно автоматически с полным сервисом.

А писать инфраструктурные велосипеды уже поздно. И это уже не ценные кадры, так как скилл «написать коннектор» обесценился, а все остальную инфраструктурную обвязку уже не потянуть.

Ценность поднялась на пару технологических уровней выше. И эта ценность для заинтересованных лиц давно перешла в сферу «купить надежное поддерживаемое решение у серьезной компании».
avatar
MetaQuotes Software, пока не существует нормальных готовых тестеров, скил написания тестеров будет  и дальше цениться.
avatar
nik, возьмите режим МТ5 тестера с реальными тиками и перестаньте наговаривать при полном отсутствии практических знаний об тестере MetaTrader 5.

Вот как раз свежая статья Тестирование торговых стратегий на реальных тиках
avatar
MetaQuotes Software, результаты тестера мт5 сильно отличаются от результата реальной торговли за тот же период, так что от такого тестера больше вреда чем пользы. не умеете вы писать правильные тестеры.
avatar
nik, докажите каждое слово, пожалуйста.

Пока все ваши нападки навеяны словами точно таких же участников форумов при полном отсутствии практических знаний МТ5.

Велосипедостроительство(о чем вы многократно упоминали) не является знанием других систем.
avatar
MetaQuotes Software, а че тут доказывать? берешь какую-нить интрадей стратению, торгуешь ей один день и сравниваешь с тем, что выдаст тестер за этот день. раздница будет существенная.
avatar
nik, вот и докажите на потиковом тесте с реальными котировками.
avatar
MetaQuotes Software, ага, прям разбежался и побежал сломя ноги тестерам на вас работать за бесплатно)) если ваш отдел тестирования не способен сделать такую простую операцию, могу сделать это за них за скромную плату $5k
avatar
nik, не можете доказать — не делайте сильных утверждений.

Особенно, вообще не имея практического опыта с платформой.
avatar
MetaQuotes Software, хаха, опять ты сел влужу со своей неработающей гадалкой))
я то какраз имею опыт работы с этим г**ном ;) как-то попробовал его в течении нескольких недель, поплевался с этой кривой накаленной поделки, и снес нафиг.
avatar
nik, верю!
avatar
MetaQuotes Software, ваш тестер показывает неадекватные результаты. Приведу пару примеров. После brexit на реале робот закрыл позу в самом низу первой свечи. При тестировании даже с произвольной задержкой он закрывается в середине этой свечи. Сейчас конкретные данные не скажу, но разница там колоссальная просто. То же было 1 марта или когда там был веселый день. При тестировании открывается позиция прямо в самом начале свечи, чего в реальности просто невозможно было осуществить.
avatar
Миха, ну вы нашли пример.

К тому же, пример надо приводить с полной выкладкой деталей и типом тестирования. На реальных тиках тестировали или на смоделированных? Запустите тест на реальных тиках.
avatar
MetaQuotes Software, every tick использую. У меня открывает эксперт по рынку. А что не так с моим примером? Просто ситуация, где очевидно отличие. Every tick based on real ticks никогда не использовал. Появилось видимо недавно? Стоит использовать?

Сделайте не произвольную задержку, а настраиваемую задержку. Меня бы в тестере устроила задержка в 1-2 сек спокойно. В чем еще минус произвольной задержки? Выбрал я тестирование в этом режиме и всегда в нем тестирую для более адекватных результатов. Но результаты всегда разные (т.к. задержка плавающая). Изменил я алгоритм и не знаю точно, какова степень влияния данного изменения, а каков вклад рандомной задержки, т.к. она каждый раз разная.
avatar
MetaQuotes Software, у меня есть роботы на mt5, я знаю о чем говорю. Причем здесь велосипеды? Если я пишу тестер на java, то я становлюсь java программистом, и скилл не только в коннекторе. Можно пойти под андроид писать и т.д.
А если я борюсь с «особенностями» mt5, то кем я становлюсь? 
avatar
Alexey Kulikov, так вы пришли торговать или учиться на программиста?

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

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

В результате все давно забыли как про ломанные Метасток с Трейдстейшеном, так и про костыли с датафидами для них. Все старые писатели датафидов обесценились(а ведь считали себя незаменимыми и ходили продавать свои решения брокерам), как и писатели программ под Метасток и Трейдстейшен.
avatar
MetaQuotes Software, вы сами то верите что на mql5 может написать работающего робота «любая домохозяйка»?
avatar
Alexey Kulikov, нет.

С чего это вы вообще взяли? Вы предлагаете мне опровергать ваши собственные заявления?
avatar
Загляните сюда https://www.mql5.com/ru/market и посмотрите на 6000 программ для MetaTrader 4/5.

Вряд ли вы найдете столько программ для трейдинга в R/etc.
avatar
На данный момент для терминала МТ5 не хватает одного — нормального продуктивного конструктора. Сделайте конструктор на подобие ТС-лабовской модели, и популярность терминала станет выше. Кто захочет продолжить изучение языка — продолжит. Большинству хватит конструктора. То, что есть сейчас — не конструктор. Например вот конструктор - https://fxdreema.com/examples/. Его один человек сделал. А вы всей командой за столько времени не можете довести до ума.
avatar
qlewer, Им пофигу. Им главное, что латенси у них прет. Остальное не волнует. А то что латенси это нужно 0,05 % клиентов им пофигу
avatar
kbrobot.ru, Говоря про латенси многие забывают, что у них пинг может быть до 50-100мс. И быстрее никак не выйдет. А по роботам, взгляните на тот конструктор, его сделал один разработчик самостоятельно. Лучшего конструктора под МТ4-МТ5 я не видел пока. Метаквотам нужно взять его на работу с хорошим окладом, чтобы он показал, как делают конструкторы.
avatar
Констуктор есть и он называется Мастер MQL5.
www.metatrader5.com/ru/metaeditor/help/mql5_wizard

Большинству никакого навороченного конструктора не хватит. К сожалению, это так.

Доказательств масса и не хочется повторять банальности.
avatar
MetaQuotes Software, Категорически не согласен. Так же можно сказать, что на кой лад делался популярный ТС-лаб с блоками, когда можно было сделать его без блоков и писать все вручную, а он пусть только торгует. Потому и делался, что в терминалах ничего такого нет, а язык учить не у всех есть желание. Не хотите преимущество для МТ в виде функционального редактора? Это будет значительное преимущество, говорю как пользователь МТ5.
avatar
MetaQuotes Software, большинству хватит конструктора как в тслабе.  Слепить нормального робота там можно не читая вообще мануалов !
А ваш визард кстати фигня, он не избавляет от необходимости хорошо разбираться во всех загогулинах вашего софта. И у визуального конструктора масса преимуществ на самом деле, не только простота.
avatar
Artemunak, Мне кажется, официальная позиция МТ не делать визуальный конструктор ни при каких обстоятельствах, и уговаривать всех учить с нуля MQL. Они упорно не хотят это понять.
avatar
qlewer, ага, пусть ещё заодно всех научат что такое указатели, конструкторы, наследование, инплейс функции...
Даже имея опыт программирования некоторые нюансы всей этой фигни забываются, а без этого робота в метаке не слепить.

Ещё я помню фразу Герчика «изи лэнгвич чёто не фига не изи на самом деле»
Привёл дословно. Изилэнгвич в другом софте в разы легче чем в метаке, и даже он для многих сложен…
avatar
qlewer, официальная позиция — все это мы уже делали и тестировали.

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

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

Есть много путей с граблями, по которым должен каждый разработчик пройти. Вера в возможность конструктора для непрограммистов — это одни из таких граблей.
avatar
MetaQuotes Software, Ну так а почему и что конкретно не работает то? Что именно вы делали и тестировали? Пока что кроме встроенного редактора я ничего не видел от вас. Вы сделайте бету, а тестировать будут пользователи. Пример как сделать я показал. 
avatar
qlewer, будьте добры — сделайте сами, а мы посмотрим.

Вы же так уверены в успехе и никто со знаниями вам не указ! Вложитесь и озолотитесь.
avatar
MetaQuotes Software, Отвечу в вашем стиле. Тогда будьте добры, докажите и продемонстрируйте то, что вы делали и тестировали по конструктору, и когда и как оно не получалось. Без доказательств это все пустой трёп. На этом ресурсе такое не любят.
avatar
qlewer, не хотите вкладываться в такое гарантированное дело?

Но тогда и не требуйте от остальных сделать то, что уже было сделано многократно со 100% провалом.

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

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

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

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

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

Узнав чуть-чуть про программирование, увидев чужие примеры индикаторов и экспертов, уже эти неофиты смотрят на конструктор и говорят «нет, что это за бред такой! я лучше сам напишу, примеров вот сколько готовых».
avatar
MetaQuotes Software, Бред и оправдания. Допуская такого рода полемику и пустые споры, как менеджер по связям с общественностью, вам никогда не удастся повысить популярность продукта на Смарт-Лабе. Особенно с такими безапелляционными заявлениями про конструкторы. Тут люди не одну собаку съели, в том числе в написании, конструировании и торговле роботами. 
avatar
qlewer, сьешьте и вы свою собаку — создайте или проинвестируйте в конструктор.

Кто же вам запрещает это сделать?
А вот требовать с других — запрещают.
avatar
MetaQuotes Software, Статья о том, как не потерять время. И я его не теряю. Ну разве что на пустые разговоры. Ежедневно свои идеи, как простые так и сложные я конструирую в ТС-Лабе, и тестирую на истории там же. Отдельные элементы и алерты для торговли в реальном времени в МТ5 я создаю в конструкторе под MQL5 от болгарского программиста. Так что не следует мне говорить, что делать, будто я никогда в глаза не видел терминалы и конструкторы. Болгарин в одиночку создал конструктор, и нет, чтобы взять с него пример. Вы говорили, что на MQL можно написать что угодно, если его знать. Так напишите, покажите, заинтересуйте пользователя. Как не потерять время. Элементарно! Открываю ТС-лаб и не теряю своего времени. Реализуя там даже сложные алгоритмы ни разу не пришлось лезть в самописные дебри. Приходилось в WealthLab дописывать, но Метаквотс не в состоянии скопировать даже то, что уже было в Велслабе 10 лет назад. Вместо этого будем сиськи мять до бесконечности, говоря, что текущего редактора хватает. Про текущий редактор можно забыть и не вспоминать.
avatar
qlewer, вы продолжаете требовать.
avatar
MetaQuotes Software, Да! Сделайте конструктор!) Чтобы пользователи не теряли время)
avatar
Профессионал nik, не знающий что такое раундтрип.

Где ваши логи и доказательства 'у меня раундтрип 200 микросекунд''? Ведь опозорились знатно.

Видимо, привыкли в форуме бездоказательно перед новичками выступать.
avatar
MetaQuotes Software, Меня всегда удивляет в каком ключе вы начинаете общаться с пользователями на трейдерском ресурсе. 
avatar
тролли из 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>

ПС. приэтом я еще не самый быстрый на нашей бирже ;) на некоторых инструментах есть игроки, которые часто меня обгоняют и в более половины случаев успевают влезть вперед.
avatar
Matrix, он просто терминологии не знает.
avatar
Qlewer, разница в том, что вы делаете выводы сравнительным методом 'дыма без огня не бывает', а я знаю индустрию и многолетние результаты изнутри.

Не работают конструкторы хоть ты тресни. Обьяснений масса и все это очень просто.
avatar
MetaQuotes Software, Я делаю выводы как пользователь терминала, который торгует через этот терминал. Статья про создание робота на МQL, соответственно касаемо создания роботов я излагаю свой взгляд пользователя. Учить MQL мне будет сложно, так как я не знаю ни одного другого. И таких как я много, всех программистами не сделать, к сожалению. Текущего редактора не хватит для создания даже простой стратегии, я не говорю о двух Машках сейчас. Просто просмотрите тот сайт, который я привел в комментарии, и все станет понятно. 
avatar
Qlewer, ключ равен замку.

В данном случае или ты учишь людей или играешь роль соглашателя, поддерживая людей в их заблуждениях.
avatar
N-ая часть марлезонского балета, нас опять учат как нам жить… вот ведь счастье, есть господин, что лучше других знает что думать и как говорить.
avatar
Nik, вы утверждаете, что получили ответ от биржи через 223 микросекунды и external id — это тикет с биржи?

Или все таки это внутренний промежуточный идентификатор в своем движке, не имеющем отношения к бирже?
avatar
MetaQuotes Software, external id  - это бирживой идентификатор, соответственно его все игроки могут найти по этому номеру в фулордерлоге. мой внутренний идентификатор это  internal id, но он мне нужен только чтоб распознать ответ к какой из команд он пришел.
и что удивительного в 223 микросекунды? это еще не самое лучшее время, иногда даже немного меньше 200 получается.
avatar
Вы не ответили на четкий вопрос.

Вы утверждаете, что получили ответ от биржи через 223 микросекунды?
avatar
MetaQuotes Software, я ответил — да, читайте внимательней ;)
avatar
Не ответили.

Но в любом случае соврали. Это в принципе невозможно на MOEX, да и на дюбой другой бирже.

Но я понимаю, игра ва банк, терять нечего.
avatar
MetaQuotes Software, ахаха, я понимаю что с позиции технически отсталых контор это выглядит как какая-то фантастика, это всеравно что крестьянину из 19-го века показать айфон, реакция будет такой же как у метаквотсов на современные технорлогии))
avatar
nik, в лучем случае, тебе ща напишут про 3 мс-ный бэтч))) как контраргумент.

кстати, да, а  ордер улетал ч/з p2 или все же нет?
avatar
MetaQuotes Software, аха, может мы даже увидим аргументы этой «невозможности» (от метаквотс)?
в примере вполне адекватное время от futaddorder до колбэка, при «честной» криптографии p2mq
avatar
То есть, доказательств нет.

Nik, это вы в форумах наивным можете сообщать про 200 микросекунд, путая банальный icmp roundtrip, который как раз 200 микросекунд в вашем случае с реальным временем установки ордера в стакан и получением подтверждения об этом.

Именно поэтому вы так сьезжаете на финальном участке обсуждения.
avatar
MetaQuotes Software, мдаа… поцыент неизличимо болен шизофренией, застрял в своем вымышленном мире и не выходит из него)))
avatar
MetaQuotes Software, Булат, а Ренат заходит на Смарт-Лаб, читает комментарии?
avatar
qlewer, я думаю и у этих товарищей такая же звездная болезнь«наш софт самый лучший в мире а все кто считают иначе дураки и тролли», это у них корпоративная культура такая))
avatar
nik, Вот я и пытаюсь понять. Люди то на первый взгляд грамотные, не дураки то точно, но почему часто в комментариях начинается такая надменная позиция и ввязывание в спор. Это ни сколько не делает чести как компании так и продукту — МТ, о котором еще долго будет тепленьким стереотип «несерьезного» терминала, как у Китая есть стереотип о качестве. Но Китай стремится превзойти всех, и последние годы — превосходит, доказывая на деле, прислушиваясь, и делая то, что просят, и стереотипа скоро не станет. Если так же подойти к терминалу, который уже вышел на МОЕХ и только приобретает пользователей, а не спорить с ними, не желая рассмотреть предложения и адекватно их обсудить, то прогресс будет, иначе — из этого ничего не выйдет.
avatar
ПС. Статья изначально о том, как создать робота на MQL и не потерять время. Я и предлагаю — сделать рабочий редактор стратегий в терминале. Потратить время нужно один раз — команде разработчиков на разработку конструктора. Даже в терминале Альфа-Директ (ахренеть, от них я точно не ожидал!) за 10 лет догадались, что пользователи просят, и нужно попытаться сделать конструктор, и посложнее, чем две машки за ляжку. И делают. Неужели нельзя хотя бы скопировать готовую блочную концепцию и сделать ее вместо текущего бесполезного редактора? Как создать торгового робота с ММ на MQL, и не потерять время?
avatar

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-го запускается.
avatar
Статья пустая, лучше бы конкретные вопросы/проблемы обсуждали и решали.

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

теги блога MetaQuotes Software

....все тэги



UPDONW
Новый дизайн