battyone / ql Goto Github PK
View Code? Open in Web Editor NEWThis project forked from patchua/ql
This project forked from patchua/ql
QL Library Version 0.5.4.3 // дАННАЯ ИНСТРУКЦИЯ СОДЕРЖИТ НЕ ПОЛНЫЙ НАБОР ДОСТУПНЫХ В БИБЛИОТЕКЕ ФУНКЦИЙ! ОБЯЗАТЕЛЬНО ЗАГЛЯНИТЕ ВНУТРЬ;) 1. function sendLimitFO(class,security,direction,price,volume,account,comment,execution_condition,expire_date,market_maker) -- отправка лимитированной заявки -- все параметры кроме кода клиента и коментария должны быть не нил -- ВАЖНО! цена должна быть стрингом с количеством знаков после точки для данной бумаги -- если код клиента нил - подлставляем счет (для спот-рынков) -- execution_condition может принимать 2 варианта - FILL_OR_KILL(Немедленно или отклонить),KILL_BALANCE(Снять остаток). Если параметр не указан то по умолчанию Поставить в очередь. ВНИМАНИЕ! Работает ТОЛЬКО на срочном рынке! -- expire_date - указывается для переноса заявок на срочном рынке -- market_maker - признак заявки маркет-мейкера. true\false -- Данная функция возвращает 2 параметра -- 1. ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик -- 2. Ответное сообщение сервера Квик либо строку с параметрами транзакции 2. function sendLimitSpot(class,security,direction,price,volume,account,client_code,comment,market_maker) -- отправка лимитированной заявки -- все параметры кроме кода клиента и коментария должны быть не нил -- ВАЖНО! цена должна быть стрингом с количеством знаков после точки для данной бумаги -- если код клиента нил - подлставляем счет -- market_maker - признак заявки маркет-мейкера. true\false -- Данная функция возвращает 2 параметра -- 1. ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик -- 2. Ответное сообщение сервера Квик либо строку с параметрами транзакции 3. function sendRPS(class,security,direction,price,volume,account,client_code,partner) -- функция отправки заявки на внебиржевую сделку -- Данная функция возвращает 2 параметра -- 1. ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик -- 2. Ответное сообщение сервера Квик либо строку с параметрами транзакции 4. function sendReportOnRPS(class,operation,key) -- отправка отчета по сделки для исполнения -- Данная функция возвращает 2 параметра ОР -- 1. ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик -- 2. Ответное сообщение сервера Квик либо строку с параметрами транзакции 5. function killOrder(orderkey,security,class) -- функция отмены лимитированной заявки по номеру -- принимает минимум 1 парамер -- ВАЖНО! Данная функция не гарантирует снятие заявки -- Возвращает сообщение сервера в случае ошибки выявленной сервером Квик либо строку с информацией о транзакции 6.function killAllOrders(table_mask) -- данная функция отправит транзакции на отмену АКТИВНЫХ заявок соответствующим фильтру указанному как входящий параметр table_mask -- список всех возможных параметров : ACCOUNT,CLASSCODE,SECCODE,OPERATION,CLIENT_CODE,COMMENT -- если вызвать функцию с параметром nil - снимутся ВСЕ активные заявки 7. function toLog(file_path,value) -- запись в лог параметра value -- value может быть числом, строкой или таблицей -- file_path - путь к файлу -- файл открывается на дозапись и закрывается после записи строки 8. function getHRTime() -- возвращает время с милисекундами в виде строки 9. function getHRDateTime() -- Возвращает строку с текущей датой и время с милисекундами 10. function toPrice(security,value) -- преобразования значения value к цене инструмента правильного ФОРМАТА (обрезаем лишнии знаки после разделителя) -- Возвращает строку 11. function getPosFromTable(table,value) -- Возвращает ключ значения value из таблицы table, иначе -1 12. function orderflags2table(flags) -- фнукция возвращает таблицу с полным описанием заявки по флагам -- Атрибуты : active, cancelled, done,operation("B" for Buy, "S" for Sell),limit(1 - limit order, 0 - market order) 13. function bit_set( flags, index ) --функция возвращает true, если бит [index] установлен в 1 14. function getRowFromTable(table_name,key,value) -- возвращаем строку (таблицу Луа) из таблицы table_name с столбцом key равным value, иначе nil. -- table_name[key].value 15. function moveOrder(mode,fo_number,fo_p,fo_q,so_number,so_p,so_q) -- перемещение заявки -- минимальный набор параметров mode,fo_number,fo_p -- в зависимости от класса первой заявки будет вызвана функция перемещения либо для СПОТ либо Срочного рынка 16. function moveOrderSpot(mode,fo_number,fo_p,fo_q,so_number,so_p,so_q) -- перемещение заявок для рынка спот -- минимальный набор параметров mode,fo_number,fo_p -- отправится 2 транзакции снятие+постановка для каждой из указанных заявок -- Возвращаем 2 параметра : -- 1. Nil - если неудача или номер транзакции (2-й если 2 заявки) -- 2. Диагностиеское сообщение 17. function moveOrderFO(mode,fo_number,fo_p,fo_q,so_number,so_p,so_q) -- перемещение заявок для срочного рынка -- отправка "нормальной" транзакции Квика -- минимальный набор параметров mode,fo_number,fo_p -- Возвращаем 2 параметра : -- 1. Nil - если неудача или номер транзакции (2-й если 2 заявки) -- 2. Диагностиеское сообщение 18. function table2string(table) -- превращение таблицы в строку 19. function getPosition(security) -- возвращает текущую позицию по инструменту 20. sendStop(class,security,direction,stopprice,dealprice,volume,account,exp_date,client_code,comment) -- отправка простой стоп-заявки -- все параметры кроме кода клиента,коментария и времени жизни должны быть не нил -- если код клиента нил - подлставляем счет -- если время жизни не указано - то заявка "До Отмены" -- Данная функция возвращает 2 параметра -- 1. ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик -- 2. Ответное сообщение сервера Квик либо строку с параметрами транзакции 21. function stoporderflags2table(flags) -- фнукция возвращает таблицу с полным описанием стоп-заявки по флагам --[[ Атрибуты : active, cancelled, done,operation("B" for Buy, "S" for Sell),limit(true - limit order, false - market order), mte(Возможно исполнение заявки несколькими сделками),wait_activation(Стоп-заявка ожидает активации), another_server(Стоп-заявка с другого сервера),tplopf(Устанавливается в случае стоп-заявки типа тейк-профита по заявке, в случае когда исходная заявка частично исполнена и по выставленной тейк-профит заявке на исполненную часть заявки выполнилось условие активации), manually_activated(Стоп-заявка активирована вручную),rejected(Стоп-заявка сработала, но была отвергнута торговой системой), rejected_limits(Стоп-заявка сработала, но не прошла контроль лимитов),cdtloc(Стоп-заявка снята, так как снята связанная заявка), cdtloe(Стоп-заявка снята, так как связанная заявка исполнена),minmaxcalc(Идет расчет минимума-максимума) ]] 22. function stoporderextflags2table(flags) -- фнукция возвращает таблицу с дополнительнім описанием стоп-заявки по флагам --[[ Атрибуты : userest(Использовать остаток основной заявки), cpf(При частичном исполнении заявки снять стоп-заявку), asolopf(Активировать стоп-заявку при частичном исполнении связанной заявки), percent(Отступ задан в процентах, иначе – в пунктах цены),defpercent(Защитный спред задан в процентах, иначе – в пунктах цены), this_day(Срок действия стоп-заявки ограничен сегодняшним днем),interval(Установлен интервал времени действия стоп-заявки), markettp(Выполнение тейк-профита по рыночной цене),marketstop(Выполнение стоп-заявки по рыночной цене), ]] 23. function killStopOrder(orderkey,security,class) -- функция отмены стоп-заявки по номеру -- принимает минимум 1 парамер -- ВАЖНО! Данная функция не гарантирует снятие заявки -- Возвращает сообщение сервера в случае ошибки выявленной сервером Квик либо строку с информацией о транзакции 24. function killAllStopOrders(table_mask) -- данная функция отправит транзакции на отмену АКТИВНЫХ стоп-заявок соответствующим фильтру указанному как входящий параметр table_mask -- список всех возможных параметров : ACCOUNT,CLASSCODE,SECCODE,OPERATION,CLIENT_CODE,COMMENT -- если вызвать функцию с параметром nil - снимутся ВСЕ активные заявки 25. function isTradeTime(exchange, shift) --возвращает true если текущее серверное время является торговым для биржи exchange и false если нет (клиринг, нет торгов) -- возможные вариант бирж - UX,MICEX,FORTS -- в параметре shift следует указать сдвиг времени сервера брокера относительно времени бирж MICEX,FORTS (сервера размещены в Украине например) 26. function getSTime() --возвращает время сервера в виде числа формата HHMMSS 27. function getTradeDate() -- возвращает текущую торговую дату в виде числа формата YYYYMMDD 28. function datetime2string(dt) -- преобразует обьект datetime в строку формата YYYYMMDDHHMMSS 29. function isEqual(tbl1,tbl2) -- возвращает true если таблицы tbl1 и tbl2 полснотью совпадают 30. function isSubTable(sub,main) -- возвращает true если таблица sub полностью и в точности содержится в таблице main 31. function tradeflags2table(flags) -- фнукция возвращает таблицу с полным описанием заявки по флагам --[[ Атрибуты :operation("B" for Buy, "S" for Sell, "" for not defined(index for example)) ]] 32. function getLTime() -- возвращает текущее время компьютера в виде числа формата HHMMSS 33. function getParam(security,param_name) --вызывает стандартную функцию getParamEx. Автоматически находит код класса. возвращает значение в правильном формате. В случае ошибки возвращает диагностику вторым аргументом Добавлен класс для создания и удобной работы с нативными таблицами Квика QTable 34. function QTable:new() -- Создать и инициализировать экземпляр таблицы QTable 35. function QTable:Show() -- отобразить в терминале окно с созданной таблицей 36. function QTable:IsClosed() --если окно с таблицей закрыто, возвращает «true» 37. function QTable:delete() -- удалить таблицу 38. function QTable:GetCaption() -- возвращает строку, содержащую заголовок таблицы 39. function QTable:SetCaption(s) -- Задать заголовок таблицы 40. function QTable:AddColumn(name, c_type, width, ff ) -- Добавить описание столбца name типа C_type в таблицу -- ff – функция форматирования данных для отображения 41. function QTable:Clear() -- очистить таблицу 42. function QTable:SetValue(row, col_name, data) -- Установить значение в ячейке 43. function QTable:AddLine() -- добавляет в конец таблицы пустую строчку и возвращает ее номер 44. function QTable:InsertLine(key) -- добавляет в таблицы пустую строчку и возвращает ее номер 45. function QTable:GetSize() -- возвращает размер таблицы, количество строк и столбцов 46. function QTable:GetValue(row, name) -- Получить данные из ячейки по номеру строки и имени столбца 47. function QTable:SetPosition(x, y, dx, dy) -- Задать координаты окна -- x,y - координаты левого верхнего угла; dx,dy - ширина и высота 48. function QTable:GetPosition() -- Функция возвращает координаты окна 49. function isChartExist(chart_name) -- возвращает true, если график с идентификатором chart_name сущестует иначе false 50. function getCandle(chart_name,bar,line) -- возвращает свечу со сдвигом bar от последней существующей для графика с идентификатором chart_name -- параметр line не обязательный (по умолчанию 0) -- параметр bar не обязательный (по умолчанию 0) -- возвращает таблицу Луа с запришиваемой свечей или nil и сообщение с диагностикой 51. function getPrevCandle(chart_name,line) -- возвращает пред-последнюю свечу для графика с идентификатором chart_name -- параметр line не обязательный (по умолчанию 0) -- возвращает таблицу Луа с запришиваемой свечей или nil и сообщение с диагностикой 52. function getLastCandle(chart_name,line) -- возвращает последнюю свечу для графика с идентификатором chart_name -- параметр line не обязательный (по умолчанию 0) -- возвращает таблицу Луа с запришиваемой свечей или nil и сообщение с диагностикой 53. function crossOver(bar,chart_name1,val2,parameter,line1,line2) -- Возвращает true если график с идентификатором chart_name1 пересек снизу вверх график (или значение) val2 в баре bar. -- параметры parameter,line1,line2 необязательны. По умолчания равны close,0,0 соответственно 54. function crossUnder(bar,chart_name1,val2,parameter,line1,line2) -- Возвращает true если график с идентификатором chart_name1 пересек сверху вниз график (или значение) val2 в баре bar. -- параметры parameter,line1,line2 необязательны. По умолчания равны close,0,0 соответственно 55. function turnDown(bar,chart_name,parameter,line) -- Возвращает true если график с идентификатором chart_name "развернулся вниз". Т.е. значение графика в баре bar меньше значения в баре bar-1. -- параметры parameter,line необязательны. По умолчания равны close,0 соответственно 56. function turnUp(bar,chart_name,parameter,line) -- Возвращает true если график с идентификатором chart_name "развернулся вверх". Т.е. значение графика в баре bar больше значения в баре bar-1. -- параметры parameter,line необязательны. По умолчания равны close,0 соответственно 57. function getClass(security) -- возвращает класс для бумаги security 58. function datetimediff(t1,t2) -- возвращает разницу в секундах между t2 и t1 (оба стандартного типа datetime библиотеки qlua) 59. Class QLog -- Класс для логирования. Создаем обьект лога QLog:new(file_path,log_level).Потокобезопасен.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.