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

Для российского фондового рынка фактически есть лишь две платформы для этой цели.

Это MT5 (язык программирования MQL5) и QUIK (язык программирования Lua).

Но для большинства начинающих строителей роботов  оба языка  малознакомы.  

С бурным развитием нейросетей все большую популярность приобретает Python.

  • Безусловно, можно передать данные из указанных приложений в любое другое приложение на python. Но первичную информацию с биржи, а также торговые операции необходимо будет реализовать на MQL5 или Lua.

  • В системах реального времени, к которым относятся роботы для торговли на биржах, важным моментом является быстродействие. 

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

Исходники тестов на MQL5 взял на форуме MetaTrader5. Ранее эти тесты были применены для сравнения 32-x битных версий  MT5 и  QUIK VM Lua 5.2.

 Мною тестировались 64-х битные версии MT5, QUIK VM Lua5.3 и Lua5.4. 

Так как для создания многопоточных роботов реализовал расширение QUIK VM  LuaJIT, то добавил тесты VM LuaJIT, а также по одному тесту PYTHON, С и С AVX2.

результаты тестов
результаты тестов
результаты тестов
результаты тестов

Резюме: 

  1. VMLua5.4 примерно в 1.5 раза быстрее VMLua5.3 и в 5 раз быстрее Python;

  2. MQL5 в 2...10 раз быстрее VMLua5.4;

  3. VMLuaJIT в 1.5...7 раз быстрее MQL5;

  4. C примерно в 1.7 раза быстрее VMLuaJIT;

  5. C(AVX2) примерно в 4 раза быстрее С.

Комментарии (7)