Как работает на ТС Лаб боевой режим? Просто не смог решить пока что вопроса в боевом режиме на S#.Designe!
При перезапуске, начинает стратегию заново. Не учитывая прошлых трейдов!
Не смотрит, были ли куплены лоты, да и саму стратегию начинает с текущего места по реальному времени!
ТО есть не подхватывает историю!
Это полный привет, минусы такой реализации даже обсуждать не хочу! Начинаю понимать по чему:
Чего только стоит идея «сформировавшейся свечи». Это же надо было такое придумать!
Думаю теперь знаю по чему у Sergey Pavlov, проходят онлайн сделки, которых потом нет на истории! И это на длинных тайм фреймах такое! С такой реализацией, синхронизация с рынком лишь сидя у монитора
а вообще общепринятая практика в программах, при старте читать из файлов состояние переменных которые были до выгрузки программы, т.е. во время исполнения кода программы, состояние важных переменных при их изменении (если это может нарушить общую логику при перезагрузке) сбрасывается в файл ))
например у меня в роботе есть данные учета торговых сущностей — ордера и позиции, есть объект контроля торговых транзакций, кроме того используются объекты и переменные необходимые в логике
при перезагрузке робота, эти данные обнулятся, писать модуль определения логики из того что открыто в рынке абсурд, я сделал сохранение двух первых объектов данных — список учета и объект контроля, все остальное восстановится по мере отработки логики, которая будет подхвачена на основании восстановленных данных по первым двум объектам
откуда разработчики S# могут знать что мне нужно сохранять ))
вот поэтому сохранение необходимых данных (как вариант в файл) это стандартная процедура в любом ПО
PS. это не на S#, но суть та же
объясню по другому — файлы были созданы изначально для хранения различной информации и этим пользуются до сих пор, т.к. другой альтернативы нет )) все что требует сохранения для использования в последствии, хранится только в файлах
как пример, открылась позиция по тикеру, выставили согласно какой то там логике доплнительно несколько лимитников, все это мы учитываем в списке либо массиве либо векторе либо еще как то, если мы закроем программу, то этот список удалится и при загрузке программы если у нас все висит так же в рынке, у нас есть два пути:
1. восстановить логику их открытия оттталкиваясь от тех данных, что мы можем получить с биржи
2. сбросить в файл состояние списка перед выгрузкой программы либо по флагу если список изменился и при загрузке программы, подгрузить из файла эти данные
как результат — у нас будет восстановлена какая то логика программы, которая была выполнена до момента выгрузки этой программы
я вторым вариантом как и подавляющее большинство программистов пользуюсь, т.к. проще сбросить в файл какие то ключевые данные, на основе которых будет восстановлена логика работы программы до ее выгрузки, чем изобретать логику воссоздания отработанной логики по движению ветра, положения солнца и т.д. ))
вот еще пример — торговый терминал при старте не имеет ни какой истории в окнах чартов, он ее предварительно подгружает из файлов, которые до этого предварительно сформировал при самом первом старте, а в процессе работы лишь дополняет эти файлы данными, как результат пользователь при старте терминала видит окна чартов с данными — исторические данные
т.е. не нужно зацикливаться на сохранении в файл только конфигурационных данных, там может храниться любая информация
например кластера я сжимаю т.к. файлы получаются без сжатия слишком большие, по несколько сот метров, а в сжатом виде всего несколько килобайт, но тут использую еще и маппинг т.к. при старте эти данные распаковываю в файл в памяти (memory map) что бы при обращении к таким фалам не сильно падала скорость из-за большого времени доступа к файлам на дисках
вы говорите о каких данных, которые вам надо сохранять? если данные истории, то в чем проблема собирать тиковые данные и сбрасывать их в файл? так делают многие трейдерские терминалы, сброс можно делать раз в сутки, а при загрузке робота, этот файл считывается в память окнами, зато у вас будет своя история, которой вы доверяете
на основе тиков уже формируются минутные бары, а на основе минутных все остальные, если нужна тиковая история то она есть за последние 6 месяцев, только файлы нужно будет распарсить предварительно
также как и вы в последние время интересуюсь очень написанием алгоритмов в designer S
оплатил тех поддержку на месяц на stocksharp, но что то они не очень там шевелятся.
вы у них обучение покупать не планировали? можно сообща купить обучающее видео, возможно от него будет больше пользы) пишите в лс
В тех поддержке надобности не вижу!