Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Контролировать буфер можно по коду 10024 - это мгновенный ответ самого терминала. То есть, комбинируя OnTradeTransaction и код ответа 10024 можно достаточно точно регулировать скорость, поддерживая ее на максимуме.
2. Нужно контролировать все типы ошибок, обрабатывая известные, а остальные по плану критической неизвестной ошибки.
Главный вопрос - вы уверены, что хотите строить торговую систему на уровне сотен транзакций в секунду так, чтобы упираться в лимиты? Это ведь только для краткосрочного теста годится.
Моя техника торговли далека от HFT трейдинга. Но асинхронный режим использую как основной (не ради скорости, а что бы эксперты могли завершить текущий поток как можно быстрее). Отсюда и интерес. Хочется серьезных знаний о работе асинхронных торговых операций.
Второй момент: действительно хочется пощупать мощность МТ5 архитектуры, пусть только на тесте. У меня в фирме несколько лет разрабатывали специализированный HTF-терминал и прямо руки чешутся устроить небольшое соревнование:))
Любителям "стругать" заявки - для осведомления
http://smart-lab.ru/blog/152259.php
http://lenta.ru/news/2012/09/10/spam/
Я , так понимаю, биржевой брокер может настраивать сервер МТ5 чтобы бороться со спамом заявок, ограничивать их частоту при определенных условиях. К примеру, если товарищ влупил 200 заявок в минуту, его сервер ограничивает по частоте на определенное время. Это так?
Как узнать эти ограничения?
В общем подвожу итог своего небольшого исследования.
Удалось протолкнуть 50 заявок за 50 миллисекунд; 100 заявок за 180 мсек.; 200 за 2100 мсек; 500 заявок за 9000 мсек; 1000 заявок за 23000 мсек. (время указано среднее). Т.е. чем больше нужно протолкнуть тем больше требуется на это времени. Возможно дело в неграмотном составлении кода.
Фактическое время исполнения пучка заявок конечно больше. Это время по всей видимости равно худшему варианту Время отправки заявки + время исполнения заявки. Но в любом случае в пределе оно стремится к среднему времени исполнения заявки биржой + времени которое уходит на общение с торговым сервером. Если заявок меньше 60, то общаться с торговым сервером не надо, отправили все заявки и ждем их исполнения. На саму отправку уходит миллисекунд 40-60. Если заявок больше - здесь сложней. Нужно дождаться ответа сервера, снова включить отправку заявок, дождаться отказа и т.д. Т.е. идет такой обмен сообщениями по сети. Когда заявок много пул освобождается постепенно, по мере исполнения заявок. Последующие отправки идут маленькими порциями, по одной две заявки, а это сеть. Следовательно время растет. В общем похоже код работает правильно, просто нужно понимать механизм отправки/получения заявок.
Код тестирующий такую отправку прикрепил ниже.
p.s. Резюмируя можно сказать что 60 заявок - более чем достаточно даже для HFT торговли. Ведь фактически требуется осознанный анализ торговых действий - отправили заявку, получили результат, проанализировали торговое окружение, в случае необходимости отправили новую. Весь цикл явно будет превышать масштаб 40-60 миллисекунд + среднее время исполнения 1 заявки.
К большому сожалению, почему то очень грустно.
МТ5 с самого начала продвигается как МУЛЬТИВАЛЮТНАЯ торговая платформа. И что же имеем в сухом остатке?
Возьмем нейтральный портфель из 7 инструментов. При поступлении 10-ти тиков в секунду попытаемся его модифицировать на каждом тике (трейлинг-стоп) ....
А если инструментов в портфеле больше 7-ми? А если нужно модифицировать не одну секунду, а в течение пары минут? А если тики будут поступать чаще, чем 10 тик/сек? А если несколько разных портфелей?
И заметьте НИКАКОЙ ВЫСОКОЧАСТОТНОЙ ТОРГОВЛИ, просто подтягивание стопа.
Вы издеваетесь или просто не понимаете сути?
Это вы считаете, что "просто стопы подтягиваете", а на самом деле шлете громадное количество торговых операций, которые не заканчиваются торговыми сделками. Все вокруг занимаются обслуживанием и накоплением баз данных по вашим пустым транзакциям, а вы делаете вид, что ничего не понимаете.
Вы же не в одиночку со своей железкой играете, а заставляете впустую работать компании и биржи. И этим исполнителям очень не нравится убивать свои базы данных ради тех трейдеров, кто предпочитает не думать, а грузить всех впустую.
К сожалению, лично вы частенько такие заявления делаете, будто вы являетесь центром мира, свободны от обязательств и только вам все должны безмерно. Не отключайте голову, пожалуйста.
Реальные примеры для отрезвления:
Ну чтобы совсем отрезвить:
И после этого вы еще заявляете про "грустно"? По моему, это клиника.
.......
Я подтягиваю стопы, КОТОРЫЕ В ЛЮБОЙ МОМЕНТ МОГУТ СРАБОТАТЬ !!! Это реальные приказы на совершение сделки С УСЛОВИЕМ. А то что они не срабатывают - не моя вина, так ведет себя рынок. Ну нет в этот момент на рынке стороны, которая захотела бы закрыть мой ордер. Кстати, никто не мешает тому же брокеру стать второй стороной сделки. Стопы - это мое ПРАВО ограничивать свои убытки!
Так что Ваши рассуждения ...... в "пользу бедных".
.......
Я подтягиваю стопы, КОТОРЫЕ В ЛЮБОЙ МОМЕНТ МОГУТ СРАБОТАТЬ !!! Это реальные приказы на совершение сделки С УСЛОВИЕМ. А то что они не срабатывают - не моя вина, так ведет себя рынок. Ну нет в этот момент на рынке стороны, которая захотела бы закрыть мой ордер. Кстати, никто не мешает тому же брокеру стать второй стороной сделки. Стопы - это мое ПРАВО ограничивать свои убытки!
Так что Ваши рассуждения ...... в "пользу бедных".
Ну я не сомневался, что в вашей вселенной вы в ЦЕНТРЕ со своими ПРАВАМИ.
Но рекомендую слушать людей, раз собственный голос разума не подсказывает границ. В данном случае границы устанавливает кто-то другой, уверенный в своей центральной позиции. И он более прав, так как именно он несет расходы, обеспечивает инфраструктуру и предоставляет равноправный доступ клиентам.
Так что если придете на MOEX и будете делать более чем 40 пустых транзакций на 1 сделку, то готовьтесь платить комиссию за свое право "всего лишь двигать стопы".
Однозначно.
Где-то раньше видел тарифы эти на MOEX, сейчас не могу найти. Там не только за частоту транзакций плата, еще и за частоту получения рыночной информации -глубины и принтов. Рроботы -арбитражеры на прямом подключении добрутко денег вваливают на это.
у кого то торговый терминал с ограничениями.
Нет в терминале ограничений.
Встаньте в 1 мс от сервера брокера и гоните столько сделок, на сколько хватит денег и терпения брокера/биржи.
Хватит уже глупости нести. Как только перейдете к практике, сразу просветление наступит. И комиссии за пустой трейдинг спам будете с брокером обсуждать.
Вы хоть раз торговали 10ю инструментами, имели одновременно 10 позиций, и сопровождали их тралом?
И на каждом инструменте было по 10 тиков в минуту, и все в сторону прибыли позиции, и все заявки по модификации исполнялись за 100 мс? И уперлись в лимит транзакций?
Или это теоретическое ограничение, а в реале вам хватает скорости с головой?
Ренат часто перегибает, но не в этот раз.