Избранное трейдера SergP

по

Досужие размышления о Quik, Lua и Python.

    • 28 марта 2020, 16:03
    • |
    • 3Qu
  • Еще

Я уже писал, что у меня сделана C++ DLL, которая получает данные из Lua и пишет их в БД SQLite. Уже писал также, что DLL под Lua делается на раз, и даже приводил коды и шаблон проекта простенькой C++ DLL. Посмотрело несколько тысяч, скачало, аж 12 человек, применят от силы двое. КПД постов, прямо скажем, оч низкий.)

В DLL реализована как связь с Lua, и будет реализована сама стратегия, вот только не решил какая из них. Повторять старые стратегии на новой для меня платформе Quik уже неинтересно, а новых моделей АТС отработано уже несколько. Все моделируется в Python. Часть стратегий не требует сложной математики, и могут быть легко перенесены непосредственно на С++. Другие непосредственно в DLL перенесены быть не могут, т.к. используют пакеты Python — всяческие регрессии и машинное обучение.
В общем, получилось, что DLL является шаблоном для любой стратегии. Все необходимые для АТС данные доступны АТС — реал-тайм данные поступают в DLL непосредственно из терминала, а необходимая история пишется DLL в БД SQLite и читается АТС из базы данных.



( Читать дальше )

Скрипт lua читающий таблицу обезличенных сделок.

Всем привет. Может кому пригодится. Скрипт читает ленту сделок и раз в минуту подсчитывает разницу между покупками и продажами. Часть кода нашел в интернете часть кода написал сам. Не знаю может уже есть что то подобное. Цель была не написать что то оригинальное, а наработать навыки программирования на lua.

( Читать дальше )
  • обсудить на форуме:
  • QUIK

Интеграция MatLab Engine и С++ (1)

В сложных вычислительных задачах (или просто при нежелании программировать на Lua, Cpp и т.д., а пользоваться более высокоуровневыми инструментами разработки), незаменимым оказывается API интерфейс Матлаба реализованный в качестве Active-X COM Automation Server.  Для его реализации на языке Си существует специальная библиотека libeng.lib, позволяющая языкам Си, С++, Фортран обмениваться данными и пользоваться всеми ресурсами Матлаба (обычно это обработка видео, автопилоты, ИИ, нейронные сети и т.п.).


Поэтому, в качестве изучения возможностей, попробуем реализовать простейший проект обмена данными и вызова функций Матлаб со стороны Си++ при использовании CodeBlocks и MinGW64.



  • Запуск интерфейса Матлаб

Чтобы адресовать все внешние процессы к единому процессу Матлаб, а не запускать Engine для каждого процесса в отдельности, 
запустим «двигатель» матлаба внутренней командой :

server=actxserver('matlab.application.single'); server.Execute(' enableservice (''AutomationServer'', true)');


( Читать дальше )

Алготрейдинг, Quik и Visual Studio 2017.

    • 24 марта 2020, 14:04
    • |
    • 3Qu
  • Еще
Делаю новую алгоритмическую торговую систему (АТС) под Quik. Базовой в системе является достаточно сложная многопоточная C++ DLL, связывающаяся с Quik через Lua. Для разработки с самого начала использовалась VS 2015. Т.к. в настоящее время перешел на х64 Quik занялся перекомпиляций всего своего х86 софта под Quik на платформу х64.
Все бы ничего, но при больших рыночных потоках данных Quik начинал подтормаживать, а при подключении DDL, Quik подтормаживал еще сильнее и через некоторое время падал вместе с DLL. Переход на х64 существенно улучшил ситуацию, Однако эпизодические падения, значительно реже, но продолжались.
Надо сказать, что все эти многопоточности и были ранее введены в DLL для снижения нагрузки на Quik, чтобы не грузить поток событий терминала. Вся обработка событий заключалась лишь в том, чтобы преобразовать данные получаемые из Lua и отдать их соответствующему потоку для дальнейшей обработки.
В общем, о стабильной АТС приходилось только мечтать, и думать что дальше с этим делать.
У меня на компе давно без дела пылилась Visual Studio 2017. Требований к железу она предъявляет больше чем VS 2015, и я ее использовал считанные разы, скорее, чтобы посмотреть что в ней нового и отличия от VS 2015. Существенных отличий не заметил, и продолжал работать на старой VS 2015.

( Читать дальше )
  • обсудить на форуме:
  • QUIK

Излишне начисленный налог финамом

Коллеги, подскажите пожалуйста,  законно ли брокер Финам удержал налог сверх положенного? Пообещали вернуть его в конце года…

Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL.

    • 21 марта 2020, 19:30
    • |
    • 3Qu
  • Еще

Признаться уже достал этот 32-битный Quik 7. Работать стало почти невозможно, начал подвисать практически на пустом месте. А если повесить на Quik Lua, а к Lua прицепить DLL, то вообще все эпизодически вставало. DLL-ки, вообще-то, многопоточные и освобождают вызывающие потоки (события) Lua практически за миллисекунды, но если таких событий много Quik встает. Хотя, он и без Lua и DLL тоже регулярно встает.)

Были и другие причины ухода от 32-бит Quik, но это уже связано с брокером и другими факторами.
Итак, новый брокер — новый 64-битный Quik 8.4.1.6. Наконец сбылась мечта идиота!
Что можно сказать, — х64 Quik работает гораздо лучше, все равно временами немного подвисает, но, вроде, некритично. После логин-пароля, прежде чем работать надо подождать, — потоки обезличенных сделок начинают работать только через 3-4 минуты после старта. В общем, с этим все более-менее ОК.
Следующий этап — надо переводить весь подключаемый к Quik софт с х86 на х64, и если есть исходники, то никаких проблем не должно появиться. Если вы не используете в своем софте каких либо дополнительных DLL, то все должно ограничиваться двумя действиями.
1. Меняете в проекте С++ в разделе Файлы ресурсов 32-битную версию файла Lua5.1.lib на 64-битную версию Lua5.1.lib,
2. Выставляете в свой свойствах проекта компиляцию в x64. Можно даже так:



( Читать дальше )

Врачи описали как посуточно прогрессирует коронавирус в организме человека

Врачи описали как посуточно прогрессирует коронавирус в организме человека



Китайским медикам удалось побороть коронавирус, и уже второй день, как там нету новых заболевших. 

Пока вирус притих, китайские медики описали как коронавирус прогрессирует по дням. 

Испанские медики подтверждают, что болезнь развивается таким же путем, но при этом сообщили, что не могут с ней совладать и там уже зафиксировали более 1000 погибших (http://www.aptecka.com.ua/?p=25512)

День 1−4. В первые дни после заражения основным симптомом является повышенная температура. У некоторых она может сопровождаться болью в мышцах, сухим кашлем, тошнотой и диареей. Медики предупреждают, что начало болезни может протекать в довольно мягкой форме, из-за чего пациенты ошибочно думают, что это не может быть чем-то серьезным.

День 5−6. У пациентов начинается затруднение дыхания — особенно у пожилых людей с уже существующими проблемами со здоровьем.



( Читать дальше )

Симптомы коронавируса. Как определить что вы уже больны.

Климов Юра — молодой врач из РФ, работает в больнице Шэньчжэня, переведён на изучение вируса пневмонии Ухань. Позвонил своим близким и дал разьяснение.
_

Если у вас насморк и мокрота при простуде, вы не можете быть носителем коронавирусной инфекции.

Коронавирусная пневмония — это сухой кашель без насморка. Это самый простой способ определить, какая у вас инфекция.

Чувствителен к термической обработке. Погибает мгновенно при температуре выше 56°С и в течение 15 минут при температуре выше 37°С.

Совет врача по коронавирусу:

1. Вирус достаточно большой по размеру (диаметр ячейки составляет около 400-500 нм), поэтому обычная мед. маска в принципе может его отфильтровать.

Если заражённый чихает перед вами или пройдет на расстоянии до 3 метров от вас, замедлите шаг и зараза просто упадёт на землю, летать она не может.

2. Если вирус попал на поверхность металла, он проживёт не менее 12 часов.

Поэтому, если вы соприкоснулись с какой-либо металлической поверхностью, тщательно вымойте руки с мылом.

( Читать дальше )

QUIK. Реальные шаги для ускорения работы терминала.

    • 07 марта 2020, 16:22
    • |
    • SaOLin
  • Еще

Последние две недели на всех мировых рынках резко повысилась активность, количество биржевых данных выросло в 2-3 раза. Из-за этого у многих пользователей терминал QUIK начал безбожно тормозить и виснуть. Сервера брокеров также с трудом переваривают повышение нагрузки и наплыв клиентов, желающих что-либо купить-продать (по слухам кто-то из брокеров висел аж целую неделю))) ).

На Смарт-Лабе появилось несколько постов с советами как избавиться от тормозов. И меня сильно поразила неадекватность предлагаемых действий. Люди готовы покупать новое железо за бешеные деньги, создавать какие-то командные файлы и заниматься прочей ерундой. А нужно всего лишь включить голову и разобраться в причинах тормозов. Когда программисты разрабатывают какую-либо программу, они всегда оптимизируют ее для работы на определенном «средне статистическом» компьютере, закладывая при этом кратный запас по производительности. Если вдруг эта программа (QUIK) начинает неадекватно тормозить и виснуть на обычном современном компьютере — значит дело почти наверняка не в железе, и даже не в самой программе, а в ее конфигурации (настройках). Т.е. нам нужно правильно настроить терминал QUIK , а уже потом апгрейдить железо, менять туда-обратно версии и бухтеть на Смарт-лабе.



( Читать дальше )

QUIK. Аппаратное ускорение

    • 07 марта 2020, 12:57
    • |
    • Glago
  • Еще

Сегодня выходной, можно отвлечься от торговли и поэтому, по мотивам этой темы:

https://smart-lab.ru/blog/598591.php решил написать пост, в котором буду рассматривать возможности компьютерного железа, а не возможность запускать торговый терминал с очистительным ключом)

Почему бы не попробовать решить проблему в лоб? Допустим имеем комп с шести ядерным процессором, 16 Гб оперативки. SSD NMVe подключен к разъёму М.2 и согласно данным фирменной утилиты может иметь скорость записи-чтения более 3 Гб/сек. Теоретически всё должно летать и грузиться быстро. Однако, на практике быстро грузится только Винда)

Запустил Process Monitor, нацелил его на info.exe из дистрибутива Квик 8. По временным меткам определил, что самый тяжелый файл info.log весом 800Мб грузился 35 сек. Иначе говоря, при считывании 4К фрагментов мой «супер-шустрый» SSD работает как обычная флешка со скоростью 22Мб/сек! Дальше ещё интересней. Выдрал со старого компа HDD, подключил его к SATA III на новом компе и проделал тот же тест для 32-битного Квик 6. Каково же было моё удивление, когда оказалось, что жесткий диск выпущенный 12 лет назад показал скорость 32Мб/сек, что почти в полтора раза больше, чем современный SSD. Сказать, что я был опечален, значит ничего не сказать.



( Читать дальше )
  • обсудить на форуме:
  • QUIK

....все тэги
UPDONW
Новый дизайн