Amibroker,
хотя и является сравнительно дешевой программой,
но тем не менее обладает высоким быстродействием,
мощной системой оптимизации, включая генетический алгоритм,
большой библиотекой индикаторов и хорошими графическими возможностями.
Кроме того, наличие API обеспечивает возможность выполнение сложных расчетов с максимальной скоростью.
Единственное ограничение для применения в реальных торгах — это необходимость делать многовариантные программные кульбиты для обмена информацией с QUIK.
Конечно, есть APIQUIK для передачи транзакций на заявки и получения информации о сделках, но нет возможности работать со стоп заявками.
Конечно, есть еще возможность передавать транзакции через файлы,
но это не очень быстро и не всегда надежно.
Конечно, биржевую информацию можно еще получать по DDE.
Ну и так далее….
Когда Вы все это подключите и подгрузите, то, не знаю как Вам, а мне как-то неудобно с такой многокостыльной программной каракатицей
————————————-
Мое решение до смешного простое:
В скрипте Амиброкера Вы пишите:
nkqami(s,timeout)
, где s — содержит запрос к QUIK,
timeout — максимальное время ожидания ответа.
Что можно записать в качестве запроса?
Ответ : все, что угодно — можно, например, написать программу на языке QLUA и получить результаты вычислений.
Можно таким образом обратиться к любой таблице QUIK и получить из нее биржевую информацию.
—————————————
А что делает при этом QUIK?
Если запроса нет, то QUIK работает и не обращает внимание на Amibroker.
Когда Amibroker формирует запрос,
то в QUIK скрипте на LUA вызывается колбек функция:
function onAmibroker(s)
assert(loadstring(s))(); — это исполнение запроса на языке LUA
return Z; — Z — это ответ QUIK на запрос Amibroker
end
Вот и все.
Все просто очень просто.
Таким образом, торговый робот строится по следующей схеме (я ее уже освещал) но повторение — …
На Амиброкере строим генераторы торговых сигналов.
Всю биржевую информацию, кроме истории сделок, которую получаем существующим экспортом в программы технического анализа, получаем через запросы к QUIK.
Через запросы передаем сигналы для исполнения в терминал QUIK В терминале QUIK реализуется на языке QLUA подсистема управления рисками и коммуникацией.
И все!!!
Таким образом может быть реализован робот любой сложности, так как Amibroker и Quik работаю в многопотоковом режиме, т е чем больше процессоров, тем быстрее расчеты.
Но можно пойти еще дальше и подключить компьютеры по сети для исполнения вычислений.
Данный подход позволяет аналогичным способом подключить к QUIK другие программы технического анализа, например, metatrader или WLD или Qmega.