Есть желание изучить TXmlConnector и QLua библиотеки для создания около рыночного проекта. Кто так же только думает об этом, но не нашел единомышленников, как говорится велком )) а т.к. перехожу на новый (для себя) язык программирования C#, то приветствуются к участию так же новички в программировании и желающие изучить тему кодинга и алготрейдинга на C# ))
Конечную цель на данном этапе обсуждать смысла нет, она у всех может быть в итоге разная, но в целом это создание коннектора(ов) для аналитических систем и торговых роботов.
На данном этапе пока интересует получение исторических данных и отправка торговых транзакций по одному из 2-х способов:
1. TRANSAQ <-> тестовая программа
2. QUIK <-> тестовая программа
Со способом подключения пока сам не определился, везде есть свои плюсы и минусы, но для масштабируемости в последующие проекты, вариант 2 вроде предпочтительнее, но нужно будет определяться совместно, что бы легче все освоить.
А вот после выполнения данной задачи, можно будет определятся с конечной целью, либо она будет общая либо разная ))
Для обсуждения можно переместиться в Skype (есть в контактах) или Telegram (@coder_ex)
Владимир Иванов, я на MQL пишу и немного на С++Qt, но по многим причинам решил уйти на C# поэтому для меня это так же новое )) если есть желание вместе писать и изучать C# то почему бы не начать ))
Ставьте VS, создадим общий git и начнем ))
как начать мы обсудим с тем, кто пристыкуется к теме, а плюсы я в принципе знаю, зачем же с них начинать ))
кстати данный вариант есть и без плюсов, где то в нете попадалась статья, там правда было условие для проекта — х86 и проект на английском в ОС из-за каких то там нестыковок при компилировании, но это ведь не проблема переключить ОС на вражий и чуждый нам как патриотам язык ))
Константин, Если соберетесь использовать quik lua, то в луа есть api. Его можно использовать на нативных языках, например на си++. Далее можно передавать данные в любое внешнее приложение по сети или pipes. Можно с танцами и бубном писать на си#. Для этого нужно в одну функцию встроить добавить флаг экспорта в формате cdecl. Для этого придется дикомпилировать написанную вами dll на с#, а потом ее собрать заново. Так же придется экспортировать библиотеки описания lua api на с#. В общем не много геморройно. Так что лучше использовать с++ на стороне скрипта на луа. А на стороне робота c#. Но честно, говоря с# не лучшее решение для роботов.
_cdecl это декларация о вызовах, для C# можно использовать COM, и есть решения с QUIK использовать без плюсов напрямую в C#
насчет торговых роботов — я не собираюсь использовать HFT, поэтому мне пойдет и C#
_cdecl это декларация о вызовах, для C# можно использовать COM
cdecl — это декларация о вызовах, т. к. чтобы использовать lua api нужно экспортировать одну функцию из dll, а на c# этого нельзя сделать без диассеблирования и повторного компилирования.
есть решения с QUIK использовать без плюсов напрямую в C#
Возможно существуют через использования внешних модулей (dll). Но тогда вы ограничиваетесь только использованием lua скриптов. А lua язык скриптовый язык, поэтому скорость передачи будет меньше, чем при использовании lua api. У меня например реализована передача данных через сеть. Это быстрое решение. Но не такое, которое хотелось бы.
насчет торговых роботов — я не собираюсь использовать HFT, поэтому мне пойдет и C#
Проблема не HFT. А в том объеме данных, которые поступают с биржи и сборщике мусора и возможных утечках. Написать хорошее приложение, которое эффективно использовало память на c# требует профессиональных умений.
Александр, думаю тут есть ответ на вопрос как без плюсов quik2dde.ru/viewtopic.php?id=186
но зачем устраивать какой то спор, если нужны будут плюсы то в чем проблема не понимаю ))
насчет объема данных возвращаемых функциями думаю обойтись малой кровью, через Shared memory, класс на плюсах есть, попробую его портировать под C#, только я не помню, можно ли увеличивать размер файла после его создания, это к теме получения тех же котировок, пока все только в уме, как будет реализовано не знаю, это будем обсуждать с тем, кто подключится ))
и кстати зачем упираться в QUIK, можно ведь разнести коннектор под разные задачи, насколько помню, в QUIK как раз проблема с историей, эту историю можно брать с того же МТ5, где она хранится с июля 2016 года вполне корректно (я про тиковую историю), историю в барах можно так же взять оттуда, но это все только мысли, как все соберется пока ни кто не знает ))
А вы уверены, что это рабочее решение? Вот у меня не получилось сделать. Это решение базируется на том, что я описал выше. Но оно не рабочее. Я сам создавал свое решение. Делов на пару часов.
историю в барах можно так же взять оттуда, но это все только мысли
Это дела вкуса, как реализовать. Мы говорим о том, как реализовать доступ к Lua api на c#.
насчет объема данных возвращаемых функциями думаю обойтись малой кровью, через Shared memory
Ну как вариант передачи данных в ваше приложение из lua скрипта. Но я думаю проще реализовать или через сеть или через pipes.
эту историю можно брать с того же МТ5
Можно и так делать, если необходимы тики. Если нужны только минутные свечи, то можно взять из quik. На lua функция получения истории свечей есть.
Константин, А с чего вы взяли, что я хочу быть вашим консультантом? Я описал вам возможные грабли вашего же решения, т. к. сам серьезно повозился, прежде чем разобраться, как оно работает.
Константин, Она полностью повторяет QLua, только в C#. Для справки можно использовать QLUA.chm из папки Квика. Как запустить и использовать — есть рабочие примеры в репозитории.
Вот купил я после заседания ЦБ по ставке длинную ОФЗ, не 238, а другую. А сейчас она хлобысь и ушла на прежний уровень, как до заседания ЦБ. Не верят толстые дядечки, что ставку не поднимут в феврале....
Ая, Но не совсем уж так прямолинейно, и не сразу сегодня. Но тренд то правильный.
И нам гражданам надо с Турцией завязывать. Граждан со вторым гражданством обилетить, налог для них ввести, для на...
Vinnerman, мог бы. Может и выкупит. А может и нет. Торговые центры заложены по кредитам в банках. Облигации ничем не обеспечены. Они будут погашаться в случае банкротства из денег оставшихся после ...
Остап1978, задержание не связано с типом груза...
Суть в том что «Нефтяной танкер Eagle S задержан в Финском заливе по подозрению в обрыве кабелей, одной из версий является повреждение якорем....
Дмитрий Соколов, хорошо, видишь в фундаментале волны и коррекции,
отскок или аткат воспринимаешь за коррекцию, интересно коррекцию чего в таких случаях, короче Таганрог не Сочи, считай как хочеш...
SobolevX2, вот и весь ответ в одной фразе, вы его изложили — Финам думает одурачить простаков, которые живут прогнозами от избушек и тярят. А потом он им нальёт с горкой повыше, и он же им объяснит...
🎥Наш прямой эфир: результаты акции «Новогодняя» 🎊Мы рады пригласить Вас на прямой эфир, посвященный оглашению результатов нашей акции «Новогодняя» который состоится 28 декабря в 19:00 (по МСК).
🎤...
На данном этапе пока интересует получение исторических данных и отправка торговых транзакций по одному из 2-х способов:
1. TRANSAQ <-> тестовая программа
2. QUIK <-> тестовая программа
Со способом подключения пока сам не определился, везде есть свои плюсы и минусы, но для масштабируемости в последующие проекты, вариант 2 вроде предпочтительнее, но нужно будет определяться совместно, что бы легче все освоить.
А вот после выполнения данной задачи, можно будет определятся с конечной целью, либо она будет общая либо разная ))
Для обсуждения можно переместиться в Skype (есть в контактах) или Telegram (@coder_ex)
Ставьте VS, создадим общий git и начнем ))
кстати данный вариант есть и без плюсов, где то в нете попадалась статья, там правда было условие для проекта — х86 и проект на английском в ОС из-за каких то там нестыковок при компилировании, но это ведь не проблема переключить ОС на вражий и чуждый нам как патриотам язык ))
насчет торговых роботов — я не собираюсь использовать HFT, поэтому мне пойдет и C#
но зачем устраивать какой то спор, если нужны будут плюсы то в чем проблема не понимаю ))
насчет объема данных возвращаемых функциями думаю обойтись малой кровью, через Shared memory, класс на плюсах есть, попробую его портировать под C#, только я не помню, можно ли увеличивать размер файла после его создания, это к теме получения тех же котировок, пока все только в уме, как будет реализовано не знаю, это будем обсуждать с тем, кто подключится ))
и кстати зачем упираться в QUIK, можно ведь разнести коннектор под разные задачи, насколько помню, в QUIK как раз проблема с историей, эту историю можно брать с того же МТ5, где она хранится с июля 2016 года вполне корректно (я про тиковую историю), историю в барах можно так же взять оттуда, но это все только мысли, как все соберется пока ни кто не знает ))
Это дела вкуса, как реализовать. Мы говорим о том, как реализовать доступ к Lua api на c#. Ну как вариант передачи данных в ваше приложение из lua скрипта. Но я думаю проще реализовать или через сеть или через pipes. Можно и так делать, если необходимы тики. Если нужны только минутные свечи, то можно взять из quik. На lua функция получения истории свечей есть.
Отлично работает из коробки с permissive лицензией бесплатно, используется в TsLab.