BotTabPolygon – источник данных, специально созданный для того, чтобы торговать валютный арбитраж.
Это реализация интерфейса IIBotTab для источников данных, такой же, как BotTabSimple, BotTabIndex, BotTabCluster. Шестая его реализация:
Камрады. Не знаю, как АЛОР мог на это пойти. Для брокера это — просто нонсенс.
Но для нашего сообщества сделано очень… Очень серьёзное исключение. Нам выделили высокопоставленных сотрудников, для консультации и отдельный чат. Ну а я, не в силах больше это скрывать, зову туда присоединиться весь СМАРТ-ЛАБ!
Для общения с нашим сообществом нам выделили:
Сам чатик находится здесь: https://t.me/alor_osengine_support
О чём можно спросить?
На данный момент поток MAIN в OsEngine практически никаких действий не предпринимает, в основном прорисовывает интерфейсы. Всю остальную работу делают другие потоки. Как стандартные Thread, так и более современные (но не везде необходимые) Task.
После прочтения всех книг и завершения курсов из серии «Коннекторы к OsEngine», у Вас обязательно уже сложилось своё представление обо всём этом. Но, если вдруг у Вас появится свободное время, можно уделить ещё неделю вопросу потоков. Для закрепления понимания того, как это устроено.
Мы устроили в нашем чатике небольшое обсуждение среди продвинутых программистов и подыскали для Вас несколько вариантов.
1 Книга Клири С. Конкурентность в C#:
В данной статье будем разговаривать про события, на которые базово можно подписаться у источника данных типа BotTabPolygon. А также о свойствах с полями, которые можно изменять и которые могут Вам пригодиться.
В классе источнике содержатся общие настройки для всех источников, меняя которые, можно менять их у N количества последовательностей одновременно. Это может быть полезным:
Replikant_mih, последнюю мою систему Квик просто физически не потянул, хотя вся его задача была, это трансляция данных и получение заявок. До заявок дело не дошло.))
3Qu Сегодня в 00:28
3Qu, использовать события типа On-Anything для чего-то, кроме table.sinsert() — очень плохая идея. Никаких ДЛЛ в событиях! Эти события — в главном потоке Квика.
Для обработки данных из таблицы следует использовать table.sremove() в функции main(). Например в цикле через wait (1) или wait(100) — тыщу или 10 раз в секунду. И очищать накопления в таблице одним махом.
Rostislav Kudryashov Сегодня в 01:02
Rostislav Kudryashov, про main я в курсе. С другой стороны, что отдать в main, что сразу в ДЛЛ — время практически одинаковое (еще неизвестно, куда быстрее)). Дальше по любому асинхронно.
Кстати, и через main не тянет. Даже с пропусками части значений.
Квик, кстати, не виснет, с виду все нормально, время сервера начинает отставать от реала. Как вам данные 5-ти минутной давности?))