Научная мотивация плавного перехода от MT4 к MT5. - страница 2

 

Скачал и установил последний билд MT5.

Скорость работы просто потрясает. Котировки буквально летают. Ближайший (снизу) по скорости торговый терминал - это только TT X_Trader, с которым работают трейдеры в больших банках (1500 долларов в месяц на место).

Проблема других торговых платформ - в желании упорядочить визуальные "рюшечки" путём использования .NET, в ущерб ессно скорости. И соответственно их желание унифицировать программирование. Хотя потом получается наоборот - после того, как проп-трейдинговая фирма переростает в хедж-фонд, то ..... всё равно они возвращаются к Си или Си++ и пишут полностью всю систему с нуля, которая заточена под FIX протокол, ...... который снова становится узким местом буквально во всём, ... его заменяют на какой - нибудь новый протокол MDP ..... который жульничает со всеми трейдерами, кроме крупных маркет-мейкеров с высокими скоростями компов и скоростями сетевого доступа к бирже (фильтрованные котировки).

Разумеется всем известно про низкую скорость торговых терминалов. Поэтому например Ниндзя и переделала свою рабочую версию терминала 7.0 на НЕ-рабочую 8.0, которая да, слегка быстрее, но пользоваться ею абсолютно невозможно - именно из-за тупого интерфейса и полного отсутствия в нём логики. Полагаю, чем дальше будет развиваться алго-трейдинг, тем более важна будет именно скорость, а не визуальный интерфейс (типа для ручного трейдинга с экрана). Хотя да, красивый и удобный вид чарта и стакана помогает соображать и принимать торговые решения. Но опять же, хороший стакан есть только в дорогих платных терминалах, а для той же Ниндзи его надо тупо докупать.

Такой вот замкнутый круг.

Тестер MT5 пока что не тестил глубоко, но по множеству его установок и параметров явно намного точнее и лучше чем MT4. Будем дальше пробовать.

По поводу "рюшечек" в MT5 - да, кое-где есть небольшая нелогичность в визуальном интерфейсе, типа в движении окон, в логике визуальных элементов стакана, но это скорее всего наследие программного визуального интерфейса Win32API, которым пользуются Метаквоты. Полагаю, стакан в MT5 можно будет допилить, а вот врождённую низкую скорость почти всех .NET терминалов - увы, нет.

Кстати, я слегка не понимаю причин, по которым тут на форуме Метаквоты спорят о скорости отработки ордеров: ведь после некоторого уровня оптимизации внутренней структуры терминала - основной причиной задержек становится не сам терминал, а подсистема Windows. Поставщик одного из самых быстрых (но медленнее MT5) банковских терминалов TT X_Trader прекрасно знает эту проблему, он с ней можно сказать задолбался, и поэтому приводит свои обязательные рекомендации к NIC (установкам адаптера сети), без которых ускорить исполнение ордеров невозможно из-за недостатков Виндоуз (будет полезна для любого терминала, любого трейдера) :

https://www.tradingtechnologies.com/help/tt-system-requirements/appendix-setting-descriptions/nic-settings/

Checksum Offload = OFF

Large Send Offload = OFF

TCPChimneyOffload = OFF

TX IP Checksum offload/Offload Transmit IP Checksum (Broadcom/Intel)

RX IP Checksum offload/Offload Receive IP Checksum

Receive Side Scaling = OFF

Flow control = OFF

Enable PME = DISABLE

Internal Moderate Interrupt = MINIMAL

Receive Descriptors = Set to Maximum Value

Transmit Descriptors = Set to Maximum Value

Number of Coalesce Buffer = 16

Number of RX buffers = Maximum

Number of TX buffers = Maximum

Wake On = Disable Wake up Mode Cap = Disable

Task Offload Cap = Disable

Rx Coalescing Ticks= Disable

Tx Coalescing Ticks = Disable

Rx Max Coalesced Frames = Disable

Tx Max Coalesced Frames = Disable

Jumbo Packet = Disable

Reduce Speed On Power Down = Disable

Save Power Now Enabled = Disable

------------------------------------------------------------------------------------------------

Но вот у MT5 скорость, скорость ...... делай теперь любую стратегию - пожалуйста: хоть парный трейдинг, хоть арбитраж, хоть средне-высокочастотный HFT.

NIC Settings – Trading Technologies
  • www.tradingtechnologies.com
These are explanations of the additional NIC settings that are implemented per TT’s recommendations. Description This setting was designed to allow the NIC to carry out checksum calculations rather than the application to reduce application overheads (e.g., Is this a good packet? If not, then drop). Intel Quote: “Checksum Offload enables...
 

Ещё пару замечаний по ходу дела:

1). Обратите внимание, что кроме торговых счетов у Вашего брокера, на демо-счёте от самих Метаквотов есть очень солидный набор инструментов для тестирования. Это включает фьючерсы Дубайской биржи, фьючерсы Московской биржи, федеральные облигации и тому подобное. Тем, кто хочет познакомиться со фьючерсами - очень полезно. И всё это бесплатно.

Инструменты демо-счёта на Метаквотах

2). По полу-секретной информации компания JigSaw, выпускающая хороший (но дорогой) стакан-плагин для торговых терминалов, теперь ведёт разработку версии своего плагина для терминала MT5. Так что их отличный стакан для MT5 в таком случае можно будет до-купить ну или хотя-бы сначала как-то взять попользоваться....
 
Sergiy Podolyak:

Кстати, я слегка не понимаю причин, по которым тут на форуме Метаквоты спорят о скорости отработки ордеров: ведь после некоторого уровня оптимизации внутренней структуры терминала - основной причиной задержек становится не сам терминал, а подсистема Windows. Поставщик одного из самых быстрых (но медленнее MT5) банковских терминалов TT X_Trader прекрасно знает эту проблему, он с ней можно сказать задолбался, и поэтому приводит свои обязательные рекомендации к NIC (установкам адаптера сети), без которых ускорить исполнение ордеров невозможно из-за недостатков Виндоуз (будет полезна для любого терминала, любого трейдера) :

https://www.tradingtechnologies.com/help/tt-system-requirements/appendix-setting-descriptions/nic-settings/

Вы не правы.

Пока не не спуститесь на уровень оптимизации микросекунд, настройки и задержки Windows практически никак на вас не влияют.

Советы про тюнинг сетевой карты вообще из древности и устарели(советы базируются на Windows 2003) - все эти фишки давно включены и доступны на обычных сетевухах. Часть советов по отключению offload вообще смертельные и нелогичные (тем более без доказательств). Достаточно использовать современное железо и современные операционки, желательно Windows 10. Посмотрите на тесты сети Windows 10 - все на близком к теоретическому максимуму. Да, очень старые версии Windows имели ряд претензий к сетевой части, но не сейчас.

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

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

По указанной вами ссылке только теория и нет доказательств на числах.
 
Renat Fatkhullin:
Вы не правы.

Пока не не спуститесь на уровень оптимизации микросекунд, настройки и задержки Windows практически никак на вас не влияют.

Советы про тюнинг сетевой карты вообще из древности и устарели(советы базируются на Windows 2003) - все эти фишки давно включены и доступны на обычных сетевухах. Часть советов по отключению offload вообще смертельные и нелогичные (тем более без доказательств). Достаточно использовать современное железо и современные операционки, желательно Windows 10. Посмотрите на тесты сети Windows 10 - все на близком к теоретическому максимуму. Да, очень старые версии Windows имели ряд претензий к сетевой части, но не сейчас.

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

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

По указанной вами ссылке только теория и нет доказательств на числах.

Вы заблуждаетесь насчёт задержек. Речь идёт про МИЛИ-секунды. Это минимальное время задержки шины PCIe для ЛЮБОЙ карты в PCIe слоте. Оно не может быть меньше 1...5 милисек, и уменьшить его невозможно. Именно поэтому nVidia специально разработала протокол nVlink для своих последних видео-карт. Это время гуляет от 1 до 10 милисекунд. Поэтому и сетевые пакеты гуляют с гуляющим временем задержки.

Кстати, с этими вот установками выше и MT4 и особенно MT5 работают заметно БЫСТРЕЕ. Это установки для множества малых пакетов, а по умолчанию в сетевых картах стоят установки для СРЕДНИХ и больших, типа видео-файлов или больших веб-страниц.

 
Sergiy Podolyak:

Вы заблуждаетесь насчёт задержек. Речь идёт про МИЛИ-секунды. Это минимальное время задержки шины PCIe для ЛЮБОЙ карты в PCIe слоте. Оно не может быть меньше 1...5 милисек, и уменьшить его невозможно. Именно поэтому nVidia специально разработала протокол nVlink для своих последних видео-карт. Это время гуляет от 1 до 10 милисекунд. Поэтому и сетевые пакеты гуляют с гуляющим временем задержки.

Кстати, с этими вот установками выше и MT4 и особенно MT5 работают заметно БЫСТРЕЕ. Это установки для множества малых пакетов, а по умолчанию в сетевых картах стоят установки для СРЕДНИХ и больших, типа видео-файлов или больших веб-страниц.

Ну нельзя же так. Вот так вот и рождаются мифы про Windows.

Микросекунды еще куда ни шло, но не миллисекунды. Вы категорически не знаете этой темы, в отличие от меня.
 
Renat Fatkhullin:
Ну нельзя же так. Вот так вот и рождаются мифы про Windows.

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

Да ладно Вам, Ренат. Я же не мальчик с улицы. У меня за плечами опыт разработки первого и единственного советника с CUDA GPU ускорением. Там эти задержи по шине PCI - БОЛЬШАЯ ПРОБЛЕМА, поскольку пересылка данным между CPU и GPU съедает весь выигрыш по скорости.  Именно поэтому высокочастотный трейдинг хедж-фондов обычно использует FPGA карты, на которых стоит и процессор и сетевая карта. Иначе задержки по PCI не дадут HFT хедж-фондам ничего заработать, каким бы быстрым ни была память и процессор на самом компе.

Кроме этого подсистема управления питанием ACPI любого компа под управлением любой версии Windows вырабатывает прерывания порядка 1000 раз в секунду, при которых весь комп на 10-20 миКРОсек переключается из protected- обратно в real-режим, чтобы BIOS материнской платы отработал опрос датчиков и контроллера прерываний.

В Линукс этот перескок происходит реже, поэтому Линукс-системы обычно отзывчивее. Но это уже сложности для обычного читателя.

 
Sergiy Podolyak:

Да ладно Вам, Ренат. Я же не мальчик с улицы. У меня за плечами опыт разработки первого и единственного советника с CUDA GPU ускорением.

Не перескакивайте с сетевой подсистемы на постороннее, пожалуйста.

У вас ошибка на три порядка была.
 
Renat Fatkhullin:
Не перескакивайте с сетевой подсистемы на постороннее, пожалуйста.

У вас ошибка на три порядка была.

О чём это Вы? Я не понимаю. Как это "посторонние"? Если ACPI скачет в реальный режим по 1000 раз в секунду, то задержка по шине не может быть меньше 1 милисек.

Если Вы про исправление в предыдущем посте, то я там теперь переправил 1-2 миЛИсек на 10-20 МИКРОсек - для ясности, так как это ЧИСТОЕ время пребывания компа в бесполезном реал-режиме, но шина и контроллер прерывания на это время ЗАМИРАЮТ - на время, которое доходит до 1...2 милисек.

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

Ренат, Вы так прикалываетесь? Или Вы скажете, что не знаете про FPGA карты для HFT трейдинга?

https://habrahabr.ru/post/163371/

Высокочастотный трейдинг (HFT) с использованием FPGA
Высокочастотный трейдинг (HFT) с использованием FPGA
  • habrahabr.ru
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста. Пометьте топик понятными вам метками, если хотите или закрыть
 
Хорошо, что исправили ошибку и урезали осетра в 100 раз. На это я и реагировал.

Все сказанное мною в #13 в силе. 

К сожалению, у меня нет ни времени, ни желания обсуждать то, о чем вы имеете лишь поверхностное представление. Если бы у вас были на руках свои реальные цифры и доказательства, то можно было бы обсуждать. Но с учетом ранее сделанных ошибок, это не имеет смысла.
 
Renat Fatkhullin:
Хорошо, что исправили ошибку и урезали осетра в 100 раз. На это я и реагировал.

Все сказанное мною в #13 в силе. 

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

Да какие "цифры"? ЛЮБОЙ комп с Виндоуз когда грузится как раз и скачет из реал- в протектед режим, и опрашивает шину.

Всегда когда Вы грузите комп, там сначала бегут "шашечки" - горизонтальные.

Это и есть переключение около 1000 раз туда-обратно. И там есть ещё полный опрос всех устройств на шине PCI. Шашечки бегут всегда 3...5 секунд НЕЗАВИСИМО от скорости компа. Замечали?

Комп и процессор делает этот опрос шины по полной программе при загрузке, всего примерно 1000 раз. Таким образом задержка по шине - при полном опросе доходит до 5...10 сек, то есть на один полный сброс с опросом всех портов шины 5...10 мсек.

При обычной же работе компа ACPI сброс проца в реал-режим и опрос шины 1000 раз в секунду (по-разному) производится по совсем короткой схеме.

Поднять руки:

Кто никогда не видел этих шашечек при загрузке?

Кто никогда не ждал 5...10 сек?

--------------------------------------------------------------------------

П.С. Ладно, я тоже удалюсь на время. Тут вот только что поставил себе Android-версию MT5. Всё просто летает, как и предполагалось. Ну так вот ..., ну примерно раза в 2-3 быстрее например Android терминала от ОАНДЫ. И опций тут в MT5 явно побольше будет.

Пойду тестировать.