Писать ТС в Квик или МТ5, в общем, не совсем удобно из за ограничений Квик-Луа и МТ4-5 -MQL. Лично я (не знаю как вы) предпочитаю нормальные (да, да, именно нормальные) языки программирования. Такие, как, скажем, С++, C#, Python или кто что любит, где за Луа или MQL остается минимум, а дальше уже можно разгуляться по полной программе. Однако взаимодействие с Квик-Луа и/или MQL достаточно проблематично. Эт у кого как, правда, но все же. У меня к ним личная неприязнь.))
Простейшим выходом является файловый обмен через диск. Непосредственно через жесткий диск или флешку скорость уже устраивает, но кому надо еще быстрее, можно сделать это через RAM-Disk. В памяти компьютера 1-2 MB и обмен данными со скоростью света. Так, для примера, браузер Chrom жрет до 200 MB памяти.
Протокол обмена описывать не буду, про RAM-Disk я уже как-то писал.
Теперь, что использовать для RAM-Диска. Нашел недавно новый для меня Ram-Disk — ImDisk -называется. Опробовано, все нормально. Я уже давно RAM-Disk использую для ряда задач, а, вот, ImDisk нашел с неделю назад. Сделать Диск 1-2 MB не проблема. Сам ImDisk занимает тоже совсем немного — около 1МБ или даже меньше.
Не, кто предпочитает навороты к Квик-Луа или МТ4-5- MQL, вопросов нет, дело исключительно личных предпочтений, но лично я предпочитаю простые решения, и чем проще, тем лучше.
ну ок, дальше в текстовый файл и на принтер ;)
так в боевой ТС собственно торговой логики 2-10 строчек. и еще 1000-2000 строчек получения и обработки торгового окружения, а их делать придется внутри LUA\MQL или на каждый чих обмениваться текстовым файлом и быть слоупоком?
Самый простой способ обмена наверное обычный текстовой файл .
С# и другие конечно более мощные и универсальные языки .
Но, если в планах работать только с Квиком, то вполне годится и Lua.
--> основной модуль — ядро, который всё крутит/вертит ,
— > модуль который считывает активные ордера, позиции и т.д.
--> модуль работы с заявками ставим/снимаем/мувим .
--> расчетный модуль, чего нибудь считаем, индикатор и т.д, можно отдельно несколько как правило .
--> логический модуль — задаем собственно логику и условия .
--> модуль логирования, записываем ошибки, параметры и т.д и сохраняем .
--> можно еще визуальную графическую таблицу нарисовать, чтобы туда выводить нужные параметры, позиции и т.д .
складываешь это всё в одну папочку, подключаешь все эти файлы, включаешь и идешь заниматься своими делами. Не нужно с утра просыпаться не свет не заря, как с другими вариантами ботов. Чтобы их запустить, проверить есть ли коннект между ботом и квиком, либо сервером и т.д. Квик сам законнектится/переконнектится .
Если нужно написать другого робота, просто пишешь один новый файл расчетный, вносишь, если нужно изменения в логический и всё, не нужно ничего отлаживать .
Получается самый простой и надежный, как лопата .
А чем экспорт из Квика сразу в БД Вас не устраивает, скоростью?
Скажем, мне, напрмер, не нужны БД и таблицы Квик и Ексель, а нужны только свечи и данные стакана и сделок. Для этого есть события КЛуа. Через файлы грузим их в массивы нашей ТС. Все, можно работать.
Повторюсь, никто не против каких-либо других методов обмена с Квик.