QUIK

Сайт продукта: http://arqatech.com/ru/products/quik/
QUIK — самый популярный торговый софт у российских брокеров
  1. Аватар Виталий А
    Скрипт lua читающий таблицу обезличенных сделок.
    Всем привет. Может кому пригодится. Скрипт читает ленту сделок и раз в минуту подсчитывает разницу между покупками и продажами. Часть кода нашел в интернете часть кода написал сам. Не знаю может уже есть что то подобное. Цель была не написать что то оригинальное, а наработать навыки программирования на lua.
    TICER = "SBER";
    CLASS_CODE = "TQBR";
    
    stopped = false;
    t_id = nil
    H = -1;
    M = -1;
    VSELL = 0;
    VBUY  = 0;
    
    function OnInit()
            CreateTable();
    end 
    
    function main() 
      while not stopped do 
         if IsWindowClosed(t_id) then
            stopped = true;
         end        
         sleep(100);
      end
    end
    
    function CreateTable()
       t_id = AllocTable(); 
       AddColumn(t_id, 0, "Время", true, QTABLE_STRING_TYPE, 10);
       AddColumn(t_id, 1, "BUY", true, QTABLE_INT_TYPE, 15);
       AddColumn(t_id, 2, "SELL", true, QTABLE_INT_TYPE, 15);
       AddColumn(t_id, 3, "Дельта V", true, QTABLE_INT_TYPE, 15);   
       AddColumn(t_id, 4, "Цена", true, QTABLE_DOUBLE_TYPE, 15);
       tab = CreateWindow(t_id);
       SetWindowCaption(t_id, TICER.." Баланс покупок/продаж");
       SetTableNotificationCallback(t_id, EventCallBack);
    end
    
    function OnAllTrade(alltrade)
            if alltrade.sec_code == TICER then      
                      fl = tostring(alltrade.flags);
                      if H==alltrade.datetime.hour then
                            if M==alltrade.datetime.min then
                               if fl == "1025" then VSELL = VSELL+alltrade.qty; end --Продажа
                               if fl == "1026" then VBUY  = VBUY+alltrade.qty;  end                         
                            else               
                               M=alltrade.datetime.min;
                               --Rows --срока   Coll -- Колонка
                               InsertRow(t_id, -1);
                               local Rows, Col = GetTableSize(t_id);                           
                               local Delta = VBUY-VSELL;
                               --local t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min);
                               local t = tostring(H)..":"..tostring(M);
                               SetCell(t_id, Rows-1, 0, t);
                               SetCell(t_id, Rows-1, 1, tostring(VBUY));
                               SetCell(t_id, Rows-1, 2, tostring(VSELL));                      
                               SetCell(t_id, Rows-1, 3, tostring(Delta));
                               SetCell(t_id, Rows-1, 4, tostring(alltrade.price));
                               
                               if Delta<0 then Red(Rows-1,3); end
                               if Delta>0 then Green(Rows-1,3); end
                               if Delta==0 then Yellow(Rows-1,3); end
                               if fl == "1025" then VSELL = alltrade.qty; end --Продажа
                               if fl == "1026" then VBUY  = alltrade.qty; end                               
                            end
                      else                   
                             H = alltrade.datetime.hour;
                             M = alltrade.datetime.min;
                      end
            end
    end
    function Red(row,col)
            SetColor(t_id, row, col, RGB(255,0,0), RGB(0,0,0), RGB(255,0,0), RGB(0,0,0));
    end
    function Yellow(row,col)
            SetColor(t_id, row, col, RGB(240,240,0), RGB(0,0,0), RGB(240,240,0), RGB(0,0,0));
    end
    function Green(row,col)
            SetColor(t_id, row, col, RGB(0,200,0), RGB(0,0,0), RGB(0,200,0), RGB(0,0,0));
    end
    
    
    function EventCallBack(t_id, msg, par1, par2)
       if msg==QTABLE_CLOSE then
         OnStop();
       end;
    end
    
    function OnStop(s)
      if t_id ~= nil then
        DestroyTable (t_id);
      end;
       stopped = true;
    end
    


    Авто-репост. Читать в блоге >>>
  2. Аватар Антон Антонов
    поддержка квика тупит
    отрабатываю определенную стратегию в демке квика, а демка как-то странно все отображает… не могу понять, за месяц торговли я в плюсе или минусе? состояние счета не позволяет этого понять… а поддержка квика сама не знает, где искать инфу… подскажмте, как понять, в плюсе я или минусе ведь при множестве сделок нереально отследить

    Авто-репост. Читать в блоге >>>
  3. Аватар Михаил Titov
    Как в квике выставить заявку на месяц ниже текущей цены дня? Например, хочу поставить на ЛСР алго-заявку на покупку по 400 до 24.04, но сегодня минимальная цена 413 и заявка отменяется

    Авто-репост. Читать в блоге >>>
  4. Аватар AlexGood
    Как в КВИКе смотреть вариационку в реальном времени
    Приветствую, друзья и коллеги! Удачного плодотворного дня!
    Торгуя в КВИКе на ФОРТС вынужден ждать обновления в Таблице по клиентским счетам и Ограничения по клиентским счетам вариационки по открытым позициям по деривативам в районе минуты, как добиться обновления вариационки в реальном времени или посекундно?

    Авто-репост. Читать в блоге >>>
  5. Аватар Trend is my friend
    Как в Квике настроить "Быстрый объём"?
    Не могу разобраться, есть ли вообще такая функция в стакане Квика, чтобы не вручную набирать нужный объем каждый раз, а настроить так называемые «пресеты» и нажатием одной кнопки менять объём? Есть грамотные люди? Подскажите

    Авто-репост. Читать в блоге >>>
  6. Аватар mail22
    подскажите, как отключить сообщения по рынку фортс?
  7. Аватар 3Qu
    Алготрейдинг, Quik и Visual Studio 2017.
    Делаю новую алгоритмическую торговую систему (АТС) под 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.

    Авто-репост. Читать в блоге >>>
  8. Аватар 3Qu
    Переход на 64-бит Quik. Пляски с DLL. 2.

    Не далее как вчера опубликовал топик «Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL», где кртко рассказывалось как перекомпилировать проект С++ с платформы х86 на х64. Надеюсь, что у вас все уже получилось или получится.
    Но я «крутой» программист, и, естественно, у меня вначале вообще ничего и никак не получалось. А так как проект большой, да еще и непонятно в чем дело, а своими экспериментами я могу вообще все испортить, то решил сделать маленькую простенькую DLL LuaProba.dll, на ней отработать переход на х64, и потом перенести это в большой проект.
    Привожу код С++ DLL целиком:

    // LuaProba.cpp: определяет экспортированные функции для приложения DLL.
    //
    
    #include "stdafx.h"
    #include <stdio.h>
    #include <string.h>
    
    //=== Необходимые для Lua константы ============================================================================//
    #define LUA_LIB
    #define LUA_BUILD_AS_DLL
    
    //=== Заголовочные файлы LUA ===================================================================================//
    extern "C" {
    #include "Lua\lua.h"
    #include "Lua/lauxlib.h"
    }
    
    static int forLua_TestFunc(lua_State *L) // Возвращает заданный текст
    {
            const char *cc = "Привет из C/C++ и от меня 2 раза"; //str.c_str();
            lua_pushstring(L, cc);
            return(1);
    }
    
    //= == Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua == == == == == == == == == == == == == == == ==//
    static struct luaL_reg ls_lib[] =
    {
            { "TestFunc", forLua_TestFunc },
            { NULL, NULL }
    };
    
    //=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================//
    extern "C" LUALIB_API int luaopen_LuaProba(lua_State *L)
    {
            luaL_openlib(L, "LuaProba", ls_lib, 0);
            return 0;
    }
    
    Весь проект DLL можно скачать по ссылке - 

    Авто-репост. Читать в блоге >>>
  9. Аватар Станислав
    Торгую через Quik, пользуюсь при торговли роботом. и задался таким вопросом.
    Что будет если к примеру. имеется заявка на продажу по 90, и выставить заявку на покупку по 100.
    что будет с заявкой? возможно купить сам у себя?
  10. Аватар Антон
    Проблема со связью в QUIK в фоновом режиме
    Подскажите пожалуйста, ни где не смог найти информации по этой проблеме:
    Рабочее место QUIK запущено на компьютере, к которому осуществляется удаленное подключение. Пока подключение активно, все работает корректно. Но когда я отключаюсь, а в QUIK продолжает работать скрипт, то иногда и не сразу, QUIK перестает получать данные  с сервера брокера: перестают обновляться котировки и останавливается время сервера. Отставание времени может доходить до десятков минут. Если же я снова подключайся через удаленный рабочий стол, то связь восстанавливается, время сервера начинает быстро догонять системное и котировки в этот момент начинают меняться с большой скоростью, как только время сервера достигает системного все работает дальше.
    Эта засада появлялась у меня в разное время на разных компьютерах при разных конфигурациях у разных брокеров. Система виндовс 8.1.

    Авто-репост. Читать в блоге >>>
  11. Аватар autotrade
    Индикатор поглощение
    заготовка индикатора для quik
    бычье, медвежье поглощение
    Индикатор поглощение


    сам код:
    Settings={
    Name="absorption",
    period=20,
    line=                                     
                    {  
                                            {  
                            Name = "cur1",
                            Type =TYPE_LINE,
                            Width = 2,
                            Color = RGB(255,0, 0)
                        }
                    }
    
    }
    --[[
    
    описание свойств:
    period - период, за каротрый делается расчет
    
    назначение:
    построение поглащения
    
    
    
    --]]
    
    function Init()
      y = 0         
      return 1
    end
    
    function OnCalculate(index)
        
      sz = Size()
      n = Settings.period
      
    
      if index == 1 then 
       y = 0  
      end  
           
    
       i = index
    
       
       if index-n > 0 then
            
            if (C(i) < C(i-1)) and (C(i-1) > O(i-1)) and (C(i) < O(i)) and
           (C(i-1) - O(i-1) < O(i) - C(i))  then
          y = y - 1    
            end
            
            if (C(i) > C(i-1)) and (C(i-1) < O(i-1)) and (C(i) > O(i)) and
           (O(i-1) - C(i-1) < C(i) - O(i))  then
          y = y + 1    
            end     
            
       end 
       
       return y
     
      
    end
    


    Авто-репост. Читать в блоге >>>
  12. Аватар Илья Алтухов
    Друзья, подскажите, я здесь неделю, начал торговать через брокера сбербанк, через программу сбербанк инвест, хотел перейти на QUIK. Но чтобы разобраться в ней с нуля, хотел бы открыть на ней демо счет, как это сделать. В самой программе, в отличие от сбербанк инвест, кнопки «домо режим » нет.
  13. Аватар 3Qu
    Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL.

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

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



    Авто-репост. Читать в блоге >>>
  14. Аватар tey2007
    Установка квика, проблема кто сталкивался
    Переустанавливаю квик в открытии возникла проблема,
    скачал квик, зарегистрировал ключи, далее в самом квике прописывал ключ  Установка квика, проблема кто  сталкивался
    Логин -пароль проблем не было .

    Сейчас так, ключ указать не получается. 
    Установка квика, проблема кто  сталкивался

    Авто-репост. Читать в блоге >>>
  15. Аватар ezomm
    Нюансы Квика
    Сегодня случился казус с квиком. Я завел новые эмитенты в таблицу в 17-30.Эмитенты встали, но таблица ( мин макс… посл.сделка..% изм-я и тд)осталась пустая.Это было в 17-30  и я торопился сделать сделки те купить Татнефть преф и Роснефть.Я стукаю по Роснефти и бью в стакан… оп и я купил.Через 10 мин рост и я смотрю портфель и… оп!!! минус 60т.р.Я в панике звоню в Тех Поддержку и как обычно облом. Целый час думал и решил квик перенастроить.Снял галку с пункта -получать данные по открытым таблицам — и тд и данные на новые эмитенты появились в 19-30.В тот же миг квик изменил минус на плюс в клиентском портфеле  и нарисовал мне + 80 тр те то что улетело не понятно куда .
    Это я пишу для тех кто работает с квиком на всякий случай… Не делайте сделки если таблица пустая, хотя квик и дает вам их делать!

    Авто-репост. Читать в блоге >>>
  16. Аватар 3Qu
    Новый брокер. Новый Quik.
    Сегодня дали логин-пароль для Quik. Quik 8.4.1.6. Номер и атрибуты счета пока не прислали, сказали через пару дней.
    Сегодня настраивал и тестировал под фьючерсы и опционы. Вроде почти все ОК.
    Исключение — после перезапуска самостоятельно не возобновляются потоки данных в таблицах обезличенных сделок. Нужно открывать настройки таблиц и щелкать ОК. Неудобно, но пока таблиц мало, это терпимо. Пока не знаю, м.б. чего еще настроить надо.
    Теперь надо перекомпилировать софт под х64 и все проверять-настраивать.

    ЗЫ И еще новость для юзеров Lua-QLua. Quik в ближайшее время переводится на версию Lua 5.3. На новых версиях Quik часть старых и самописных индикаторов, скриптов и ТС перестанет работать. Необходимо будет их доработать под версию Lua 5.3.
    Новость на сайте Quik - https://forum.quik.ru/forum10/topic5119/

    Авто-репост. Читать в блоге >>>
  17. Аватар Нуб Binance
    Жёстко подвисает Квик. Проблемы сервера или ПК .
    Попробовал вчера рынок . чуть-чуть на полфишечки и даже меньше. С утра отработал норм. даже заработал за пару часов больше чем в такси в не час пик. Пришёл опять на второй сеанс примерно в 16 мск и началось. Когда самый лучший движняк всё начало глючить. Грешил на Тайгера, Выключил его — та же байда. Хорошо что без объёмов торговал. И перезапускал всё и что только не делал. После запуска квик ведёт себя адекватно минуту-две и на этом всё. Инет норм. В итоге переустановил систему (вернее сделал восстановление ), запустил квик другого брокера — он вроде адекватно реагирует, без торговли правда, В оконцовке и рабочий квик переустановил . 

    И плюс  Замело нас вчера в Тольятти  ))), как раз последнюю заявочку вёз — хлопьями снежок полетел — видимость метров сто была! Сегодня -дороги сухие и не скользкие. Лучше прежнего. 
    Жёстко подвисает Квик. Проблемы сервера или ПК .




    Авто-репост. Читать в блоге >>>
  18. Аватар Ссерджио
    Вопрос про настройки Квика и размер info.log
    День добрый!
    Вопрос к знающим.
    Вот есть два одинаковых Квика от двух брокеров.
    В одном (ВТБ) к вечеру файл info.log разрастается до 1 гига.
    Во втором (Сбер)- всего 10 МБ.
    Почему в первом такой большой лог? 
    Попробую уменьшить количество инструментов в Заказ Данных — Поток Котировок. 
    Вообще, можно как-то скопировать настройки, влияющие на это от одного брокера к другому?  

    UPD  Выключил ещё "Поток обезличенных сделок".

    Спасибо.

    PS   Плюсаните кому не жалко, пожалуйста.  



    Авто-репост. Читать в блоге >>>
  19. Аватар Иван Шилов
    товарищи, можно ли использовать одно приложение Quik X для двух брокеров? Сбер, ВТБ? Сейчас захожу в Сбе через приложение, удобно, пороль и сервер стоит на автозаполнении...

    Авто-репост. Читать в блоге >>>
  20. Аватар Виктор Бавин
    QUIK. Новичкам советы

    Квик. Новичкам.
    Если виснет терминал и долго грузит.
    После этих параметров работа заметно улучшится.

    Итак, начнём.

    Про сервера.

    Лайфхак 1.
    Звоните брокеру и узнаете у него пустой сервер, а не основной. Он работает лучше.

     

    Картинка 1

    QUIK. Новичкам советы
    У меня Открытие брокер.


    Далее.

    Как сделать чтобы квик не тормозил и работал быстрее?

    — Есть ряд рецептов.

     Далее делаем как у меня.

    Картинка

    2
    QUIK. Новичкам советы



    Авто-репост. Читать в блоге >>>
  21. Аватар ZdenniZ
    Цены у курсора и на осях в квике сбера
    Всем привет! Облазил весь квик (брокер Сбер), никак не могу допереть куда ткнуть/поставить флажок, чтобы показывались значения цен на осях графиков и в окошках перекрестий? Везде пусто, удалось только настроить отображение подсказок на свечах…

    Авто-репост. Читать в блоге >>>
  22. Аватар Дмитрий С
    В чем дело? Почему у меня QUIK после обновления до 8.3.2.4 запускается только от имени администратора? При обычном запуске выдает ошибку.Есть у кого такая проблема?

    Авто-репост. Читать в блоге >>>
  23. Аватар AlexGood
    Индикаторы дельты и горизонтального объема для КВИК
    День добрый, друзья и коллеги!
    Кому не жалко, cкиньте пожалуйста ссылку на индикатора маркет-дельты и горизонтального объема для КВИК!

    Авто-репост. Читать в блоге >>>
  24. Аватар Андрей Иванов
    Вышел Quik 8.4 на который все перейдем
    Вышел Quik 8.4, официальной информации на сайте арки пока еще нет, но на их фтп уже появилась новая версия.

    Так и не понял поддерживает ли он 19-знаковые номера заявок и сделок, которые заставят всех перейти на восьмую версию квика.

    Версию квика выложили 28.02.2020г.
    А на форуме написали 03.03.2020г. что версии еще нет https://forum.quik.ru/forum1/topic5117/
    Непонятно)))

    Качать от сюда ftp://ftp.quik.ru/public/updates/8.4/quik_8.4.1_upd.zip

    Возможности новой версии
    1. Добавлены новые функции для встроенного языка программирования Lua:
    — getTrdAccByClientCode – функция предназначена для получения торгового счета
    срочного рынка по коду клиента фондового рынка с единой денежной позицией.
    — getClientCodeByTrdAcc – функция предназначена для получения кода клиента
    фондового рынка с единой денежной позицией по торговому счету срочного рынка.
    — isUcpClient – функция предназначена для получения признака, указывающего имеет ли
    клиент единую денежную позицию.
    Описание см. в пп. 3.19.1 – 3.19.3 Руководства пользователя Интерпретатора языка Lua.
    2. В таблице «Сделки» поддержано отображение новых типов сделок Срочного рынка МБ:
    — «Сделка исполнения фьючерса»;
    — «Сделка исполнения опциона»;
    — «Сделка истечения опциона».
    Описание см. в п. 3.8.2 Руководства пользователя.
    3. Изменена цветовая схема отображения кнопок «Покупка/Продажа» на форме ввода заявок.
    Исправленные недоработки в
    версии 8.4.0
    1. Ошибка при загрузке файла в таблицу «Карман транзакций».
    2. Некорректное отображение скорректированной маржи для клиентов типа «МД+».
    3. Некорректный расчет максимального количества на форме ввода заявки на
    покупку/продажу для клиентов типа «МД+».
    4. Некорректный расчет в некоторых случаях объема сделки РЕПО с ЦК на форме ввода
    заявки.
    5. В некоторых случаях сбрасывались настройки отображения строки состояния и полосы
    прокрутки Рабочего места QUIK.
    6. У витринных сделок РЕПО с ЦК в поле «Операция» вместо «К/П» отображалось направление
    «Купля».
    7. В некоторых случаях открытие диалога доступных Lua скриптов приводило к зависанию
    работы Рабочего места QUIK.
    8. При определенных обстоятельствах сбрасывался общий фильтр клиентов на панели
    инструментов Рабочего места QUIK.
    9. Зависание Рабочего места QUIK при получении большого количества позиций клиентов.
    10. В некоторых случаях наблюдалось повышенное потребление оперативной памяти.



    Авто-репост. Читать в блоге >>>
  25. Аватар Glago
    QUIK. Аппаратное ускорение

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

    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. Сказать, что я был опечален, значит ничего не сказать.



    Авто-репост. Читать в блоге >>>
Чтобы купить акции, выберите надежного брокера: