Начал вчера работы по реализации "Брошенной стратегии". Хорошо когда есть наработки: взял готовые куски кода, немного доработал под новые нужды, соединил их вместе и уже все готово — почти все необходимые данные передаются в DLL, расставляются по местам и готовы к использованию. С этим почти закончено, остальное будет делаться по ходу пьесы, и по мере необходимости.
С передачей данных закончено, а стратегия даже не начиналась. Система новая и архитектора системы пока не ясна, есть несколько вариантов, выбрать из которых не так просто.
Пока суд, да дело, решил написать о передаче данных из Quik в С++DLL.
О том как сделать простую С++DLL для работы с Quik-Lua написано на сайте https://quikluacsharp.ru здесь и о передаче данных из Lua — здесь и в других материалах сайта. Наверняка многие из вас все это видели и знают, а некоторые это даже применяют. Я это все не использую, не очень разбирался, но, тем не менее, сам сайт
Занимался разработкой сигнального сервиса. Вся работа на получение и отправку сообщений легла в отдельную .dll. На чарте висит индикатор, который подключает эту .dll и через нее отправляет информацию о сделках. Сигналы отправлялись нормально, но получать библиотека ничего не хотела. Вываливалась с исключением «Невозможно загрузить файл или сборку...» и ссылалась на имя моей библиотеки. Я долго не понимал, как это так. Сама библиотека внутри себя ищет себя же… И при этом не может найти. Писал в поддержку нинзи, на что получил ответ, что ваша библиотека закрыта и ее сложно отладить… :) Начал копаться сам и нашел следующее: когда я в индикаторе использую библиотеку, то NinjaTrader грузит ее из папки «C:\Users\[UserName]\Documents\NinjaTrader 7\bin\Custom\», но когда в этой библиотеке вызывается определенный код, то NinjaTrader ищет эту библиотеку в папке «С:\Program Files (x86)\NinjaTrader 7\bin64\».