Блог им. Cellinsky

tslab и c#

Я периодически поругиваю tslab, но есть у него вещи, которые искупают недостатки. Писал как-то о проблеме, что движок с некой периодичностью (раз в неделю, в несколько, итп) может потерять кусок данных за несколько дней. Было 4000 баров, а стало 3800. Это приводит к тому, что мы вошли например в позицию, а с утра данные за два последних дня куда-то уехали. Мы в позиции, а с чего не понятно. Такая фигня возникает исключительно с itinvest, и в целях своевременного выявления я привинтил внешний скрипт, контролирующий по журналу, что число баров в инструменте всегда увеличивается. Всё было хорошо довольно долго, но на прошлой неделе метод перестал работать. В журнал перестали попадать записи нужного формата, хотя ничего не трогалось. Привязаться к чему-то еще не удалось, значит пойдем другим путём. Давно я целился в tslab api, что-бы делать какие-то мелкие вещи, и ребята откровенно порадовали. Вот тут   — как ставить и интегрировать среду разработки.  Здесь  доходчиво объясняются основные моменты, а тама можно найти исходники всех кубиков от версии 2.0, поэтому не придется взрывать себе разум, восстанавливая логику если нужно всего-то поправить чуть-чуть оригинал. 

В моём случае, есть кубик 'Сообщение', который сбрасывает в журнал запись по триггеру. Если категория 'DEBUG' то только в лог, если любое другое, то еще и в окно журнала событий программы. Одна беда, мне нужно не просто сообщение, а еще и численное значение поданное на вход. Не проблема, берем MessageHandlers.cs , впиливаем туда доп. вход и его обработку в меру своего умения программировать и вуаля. Теперь можно завести на вход номер бара и спокойно его отслеживать. Красота.

Правда я так и не понял, зачем там два обработчика Execute, т.к. что в режиме лабы, что в агенте — выполняется второй… Но на всякий случай оставил. Правленый исходник выложил тут может кому еще пригодится.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • TSLab
3.7К | ★21
12 комментариев
Правда я так и не понял, зачем там два обработчика Execute
В программирование есть понятие «переопределение методов». Если на пальцах — это методы с одинаковым названием, но разным набором входных параметров. Соответственно и выполнение пишется разное.

Соответственно, у вас подключение:
в журнал запись по триггеру...  на вход номер бара
что соответствует второму Execution.

Если бы вы подключили по другому (какой то набор триггеров судя по всему), то срабатывал бы первый Execution
avatar
Андрей К, в программировании это называется перегрузкой, т.е. когда название функции / метода одинаковое, но сигнатура разная )))

Константин, ой да, спутал с переопределением операторов, спс =)
avatar
Андрей К, это-то да, там в примерах достаточно случаев, когда разные Execution на разное число параметров (например кубик сложения, где число параметров от 2 до 6) — всё понятно. Но в данном случае входящих ровно два (в оригинале один), и условие запуска первого метода, стали для меня загадкой.
avatar
Поругивать надо, конечно! 
Но русских аналогов, к сожалению, нет.
avatar
VladMih, это точно. Так что всё беззлобно :)
avatar
торгую в айти… тслаб + смартком — проблем нет...
в чем проблема написать в техподержку?
avatar
ves2010, на СЛ проще черкануть. Причем сразу двух зайцев можно убить.
avatar
Всегда думал, что для шарпа есть студия. Ан нет, тут какой-то велосипед изобрели.
avatar

dnmsk, для шарпа — студия. Не волнуйтесь.

Для трейдеров — блок-схемы.

avatar
ch5oh, забыл поволноваться)
avatar

Читайте на SMART-LAB:
Представляем отделы Займера: служба урегулирования задолженности
Каждый раз, когда при разговоре о взыскании люди вспоминают коллекторов из 90-х, в Займере грустит один специалист урегулирования задолженности 😔....
Фото
Промомед - самая быстрорастущая компания на рынке по цене IPO
Промомед — фармацевтическая компания с одним из самых высоких темпов роста выручки в 2025 году, и, возможно, в этом году тоже.  Компания...
Фото
МГКЛ продлила размещение третьего выпуска облигаций
Срок первичного размещения облигаций серии 001PS-03 (тикер MGKL1P3) продлён до 21 августа 2026 года включительно. Это значит, что инвесторы...
Фото
Позитив: сильный 2й квартал. Где "безопасная" цена акции?
2 квартал выглядит сильно 8,3 млрд руб — рекордные квартальные отгрузки для всех кварталов кроме 4-го Выручка +39%г/г за 2 квартал и +41% за...

теги блога Sergey Cellinsky

....все тэги



UPDONW
Новый дизайн