Skip to content

Commit

Permalink
Add interval 5 min (#7)
Browse files Browse the repository at this point in the history
* Add interval 5 min

* Add 1 minute interval

* Add interval list to README

* Fix nil trades bug

* Remove old comment
  • Loading branch information
evsamsonov authored Oct 12, 2022
1 parent 79bb053 commit e07a5eb
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 6 deletions.
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ return {
classCode = 'TQBR',
secCode = 'SBER',

-- Интервал. Сейчас доступен только часовой
-- Интервал
interval = INTERVAL_H1,
}
},
Expand All @@ -69,6 +69,20 @@ return {
}
```

### Список поддерживаемых интервалов

| Константа | Значение | Описание |
|--------------|----------|----------|
| INTERVAL_M1 | 1 | 1 минута |
| INTERVAL_M5 | 2 | 5 минут |
| INTERVAL_M10 | 3 | 10 минут |
| INTERVAL_M15 | 4 | 15 минут |
| INTERVAL_M30 | 5 | 30 минут |
| INTERVAL_H1 | 6 | 1 час |
| INTERVAL_D1 | 7 | 1 день |
| INTERVAL_W1 | 8 | 1 неделя |
| INTERVAL_MN1 | 9 | 1 месяц |

## Описание сервера

JSON-RPC сервер для корректной работы скрипта должен реализовывать следующие методы:
Expand Down Expand Up @@ -274,5 +288,4 @@ curl -H "Content-Type: application/json" -X POST -d '{"jsonrpc": "2.0", "method
Для работы с обезличенными сделками требуется заказать их у брокера. По умолчанию QUIK не загружает их. Убедитесь, что обезличенные сделки подгружаются, создав таблицу обезличенных сделок и выбрав необходимые инструменты.

## Задачи
- Добавить другие интервалы
- Реализовать пример принимающего данные сервера
2 changes: 1 addition & 1 deletion config.lua.dist
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ return {
market = QuikQuotesExporter.MOSCOW_EXCHANGE_MARKET,
classCode = 'TQBR',
secCode = 'SBER',
interval = INTERVAL_H1,
interval = INTERVAL_H1
}
},
workingHours = {
Expand Down
8 changes: 6 additions & 2 deletions src/quik_quotes_exporter.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
local QuotesClient = require('src/quotes_client')
local QuikMessage = require('src/quik_message')
local JsonRpcFSProxyClient = require('src/jsonrpc_fsproxy_client')
local inspect = require('lib/inspect')

local QuikQuotesExporter = {
MOSCOW_EXCHANGE_MARKET = 1
Expand Down Expand Up @@ -330,7 +331,7 @@ function QuikQuotesExporter:new(params)
processInstruments()
end

sleep(minute)
sleep(minute/4)
end
end)
if status == false then
Expand All @@ -353,7 +354,10 @@ function QuikQuotesExporter:new(params)
function this:onTrade(trade)
for i, inst in ipairs(this.instruments) do
if trade.class_code == inst.classCode and trade.sec_code == inst.secCode then
inst.trades[trade.trade_num] = trade
if inst.trades ~= nil then
inst.trades[trade.trade_num] = trade
break
end
end
end
end
Expand Down
10 changes: 9 additions & 1 deletion src/quotes_client.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,15 @@ function QuotesClient:new(params)
this.rpcClient = params.rpcClient

local intervals = {
[INTERVAL_H1] = 6
[INTERVAL_M1] = 1,
[INTERVAL_M5] = 2,
[INTERVAL_M10] = 3,
[INTERVAL_M15] = 4,
[INTERVAL_M30] = 5,
[INTERVAL_H1] = 6,
[INTERVAL_D1] = 7,
[INTERVAL_W1] = 8,
[INTERVAL_MN1] = 9
}

--[[
Expand Down

0 comments on commit e07a5eb

Please sign in to comment.