Viber, Skype - обучение программированию на QLua (индивидуальное)

Автор записи: Дмитрий (Admin)
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 2, среднее: 5,00 из 5)
Загрузка...

LogoNew
500 р/час - теория, разбор Ваших вопросов
1000 р/час - совместное написание скрипта/робота
(на несложного робота достаточно 3-х часов, обычно)

Я не педагог, я практик, по этому, своими словами и никакой "воды". Созваниваемся по Viber(версия для компьютера), или Skype, я включаю демонстрацию своего экрана, пишу код, объясняю, отвечаю на вопросы.

В конце занятия отправляю Вам видеозапись.

Чтобы договориться о времени, пишите мне на почту: reply@quikluacsharp.ru

С чего начать самостоятельное обучение?

Автор записи: Дмитрий (Admin)
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 4, среднее: 5,00 из 5)
Загрузка...

LogoNew
Во первых, Вам потребуются удобные среды разработки (программы, где Вы сможете писать свой код), о том, где их взять и как установить прочтите здесь. Для написания скриптов QLua Вам понадобится только Notepad++.

Во вторых, получите терминал QUIK с демо-счетом, можете получить его либо в компании Arqa (разработчик терминала) по данной ссылке, либо у практически любого брокера.

И в третьих, начинайте изучать QLua.
Рекомендую начать с раздела меню "QLua(Lua) основы", в частности со статей: "База скрипта в QLua (lua)" и "Функции обратного вызова, встроенные в QLua", остальные статьи данного раздела используйте как справочники при написании скрипта, в них практически к каждой функции есть пример кода с комментариями.
Смотреть полностью...

Обмен данными между DLL (C/C++) и приложением QT Creator (C++)

Автор записи: NewDracon
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 2, среднее: 4,50 из 5)
Загрузка...

Для начала объясню, почему я выбрал для связки с QUIK'ом именно QT и зачем нужен этот "велосипед". Дело в том, что захотелось побольше графических возможностей, а если использовать Visual Studio С++ (а не C#), то готовых компонентов для "рисования" графиков практически нет. А C# или java в сравнению с QT С++ будут уступать в скорости, которая  необходима для тестирования стратегий. (Последнее спорно, но, по моему мнению, все же C++ "ближе" к процессорному языку, и код тестов QT в будущем можно будет перенести на unix)

И тут начались грабли... Если заходил со стороны прямой компиляции LUA для QT, не хотел подключаться QUIK (написанный на MVSC). Затем я попробовал создать DLL на MVSC и подключиться динамически к ней из QT, но export'ы DLL просто не виделась в QT. И тут я наткнулся на замечательную статью Обмен данными между DLL (C/C++) и приложением C# посредством Memory Mapped File (MMF). Ниже привожу мою адаптацию данной статьи на QT Ctreator. При этом использовалась среда Visual Studio 2017 С++ для написания DLL и среда QT Creator 5.3 с компилятором MinGW 4.8.

Смотреть полностью...

Таблица "Портфель" в QUIKе

Автор записи: ram555
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 1, среднее: 5,00 из 5)
Загрузка...

Представляю таблицу для портфельных инвестиций.  Цвет строки меняется если Прибыль%<>5%. Обновление каждые 5 сек. Показаны только бумаги с лимитом Т0, для недопущения дублирования. Если хотите, чтоб были бумаги только с лимитом Т2, замените в двух местах «limitKind<1» на «limitKind>1»


Для её создания необходимо:
1. Создать файл «tablePortfolio.txt» в папке «C:\QUIK\Scripts». Если папки нет, создать её.
2. Скопировать туда код скрипта
3. Сохранить, выбрав кодировку «ANSI», иначе вместо русских букв могут быть кракозябры.
4. Сменить расширение файла с ".txt" на ".lua"
5. Запустить скрипт командой Сервисы-> Lua  скрипты-> Добавить (выбрать файл tablePortfolio.lua) -> Запустить

Код скрипта

ПОСТАНОВКА И СНЯТИЕ STOP-ОРДЕРА В QLUA(LUA)

Автор записи: ram555
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 2, среднее: 5,00 из 5)
Загрузка...

Когда передо мной встала задача удаления поставленного стоп-ордера, наткнулся в интернете на скудность информации по данной тематике.

Самая распространенная ошибка начинающего программиста отправка в SendTransaction в STOP_ORDER_KEY  trans_id стоп-ордера

Робот выставляет стоп-заявку на покупку по определенной цене, затем через 2 секунды снимает её.

Также в коде имеются следующие фишки:

  • Запись удобочитаемого лог-файла.  Записи с интервалом <=1 сек. группируются в пул. Между пулами - пустая строка. После остановки скрипта в файл добавляется двойная линия.
  • Функция преобразования числа в строку с удалением точки и нулей правее нее для отправки этой строки в SendTransaction
  • Функция, возвращающая Entry или Exit в зависимости от trans_id принадлежности транзакций к входу или выходу
Код скрипта

В итоге получается текстовый  лог-файл, удобный для чтения человеком, с которого можно считать данные программой (например на  C#) и подбить статистику

Log.txt

Если у Вас появились какие-то вопросы, задайте их в комментариях под статьей !!!

Робот для Срочного рынка FORTS

Автор записи: Константин
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 6, среднее: 5,00 из 5)
Загрузка...


Описание робота
Код робота

Отображение на графике индикатора из другого графика

Автор записи: Sergey
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 5, среднее: 5,00 из 5)
Загрузка...

Понадобилось мне видеть на 5-и минутном графике индикатор из другого окна. Вот написал свой индикатор, который загружает данные из любого графика, беря его данные по уникальному идентификатору в QUIK.

Чтобы этот индикатор смог найти искомый индикатор, зайдите в свойства этого индикатора, перейдите на закладку Дополнительно, и в поле Идентификатор укажите уникальное имя этого индикатора. В моем случае это "B4H_20_2" (без кавычек).

Сам файл кода нужно положить в папку QUIK, в поддиректорию "LuaIndicators". Если его нет, то создайте.  После этого при добавлении нового индикатора вы увидите его в общем списке.

Вот код, у меня он назван BBfromOtherPeriod_common.lua :Смотреть полностью...

Визуализация сделок на графике

Автор записи: Vlad
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 4, среднее: 5,00 из 5)
Загрузка...

Добрый день!

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

Оригинальный скрипт берет данные из trades.csv, и наносит метки на графики с указанием объема сделки и цены. Данные хранятся в таком формате: <ГГГГ-ММ-ДД ЧЧ:ММ:СС>;<ТИКЕР>;<ЛОТ>;<ЦЕНА>. Т.е. дата и время хранятся в одной ячейке. Мне такой формат был не удобен, т.к. сделки, которые я совершаю, автоматически выводятся в .csv  в формате <ГГГГММДД>;<ЧЧММСС>;<ТИКЕР>;<ЛОТ>;<ЦЕНА>. Переформатировать каждый раз свои данные - долго. Проще внести изменения в код, что и было сделано, естественно не без помощи Дмитрия - он написал код под новый формат, за что ему большое спасибо. Теперь у меня два варианта скрипта, под разные форматы .csv файла, описанные выше.
Смотреть полностью...