Цитата |
---|
Michael Bulychev написал: Добрый день. Если Вы подробнее расскажете о том что хотите нам будет проще принять решение о возможностях и способах реализации. |
добрый день,
попробую объяснить.
------------------------
Скрипт луа , который создается на основе библиотеки QlUA можно представить как обертку потока.
---------------------------------
Таким образом, запуск скрипта - это запуск самостоятельного потока.
-----------------------------
В данной версии доступ к потоку имеют лишь функции внутри скрипта и колбеки из QLUA.
Поэтому я поставил задачу обеспечить доступ к потоку из других скриптов или индикаторов.
это можно реализовать, если создание колбеков разрешить внутри скриптов и индикаторов.
-------------------------
Что дает такое решение?
----------------------------
Как известно (по крайней мере я так строю роботов),
технология создания торговых роботов,
как правило,
включает несколько модулей,
большая часть которых не зависит от торгуемого инструмента.
----------------------------------
В существующей версии QLUA, для каждого робота необходимо в скрипт включать все модули.
------------------------------
Например, если мы делает роботов для торговли 10 инструментами,
то каждый из них будет содержать модули обработки заявок сделок.
т е это 10 колбеков onOrder, onTrade, которые в очередь обрабатывают одно и тоже в основном потоке QUIK.
------------------------
можно конечно, все 10 роботов запихнуть в один скрипт.
Но тогда будут в очередь в одном дополнительном потоке работать 10 генераторов торговых сигналов.
-------------------------------
можно конечно еще создать свои потоки в этом скрипте,
но тогда возникает вопрос синхронизации потоков,
а скудные сведения о внутренности QLUA и архивов QUIK приводят к танцам с бубном.
-------------------------------
Что дает мой вариант.
---------------------
1) колбеки QLUA вызываются однократно вне зависимости от количества роботов
2) генераторы торговых сигналов обрабатываются каждый в отдельном потоке.
3) синхронизация потока с глобальными переменными внутри скрипта решена
в QLUA потобезопасными функциями работы с таблицами.
------------------------
Резюме: И будет всем счастье.
-----------------------
примерно так.