Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Tree [98daee] master /
History



File Date Author Commit
Robots 2014-05-15 dsua dsua [326380] + ql.luac of version 0.5.4.0
.gitignore 2013-07-04 dsua dsua [3e1335] New Robots/Trade Wind/TW.lua
QL.lua 5 days ago dsua dsua [98daee] bugs in fileExists() and QLog() fixed
QL.luac 5 days ago dsua dsua [98daee] bugs in fileExists() and QLog() fixed
readme.txt 2013-10-14 dsua dsua [dd6c32] added QL.alltradeflags2table()

Read Me

QL Library 
Version 0.5.3.2
// дАННАЯ ИНСТРУКЦИЯ СОДЕРЖИТ НЕ ПОЛНЫЙ НАБОР ДОСТУПНЫХ В БИБЛИОТЕКЕ ФУНКЦИЙ! ОБЯЗАТЕЛЬНО ЗАГЛЯНИТЕ ВНУТРЬ;)

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)