forked from finsight/QUIKSharp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.txt
208 lines (207 loc) · 19.8 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
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)