Le,kbhjdfybt

Страницы: 1
RSS
Le,kbhjdfybt
 
Подписался на источник данных, установил тайм-фрейм месяц и прошёл по списку инструментов. Что выяснилось - у некоторых инструментов есть свечи, имеющие разные индексы (id), но с одной и той же датой и РАЗНЫМ содержимым:

Подписываюсь и читаю исторические данные следующим образом:
Код
SECURITIES[scode][tf].DS, _error   = CreateDataSource('TQBR', scode, tf_value)

SECURITIES[scode][tf].LastBarIndex = SECURITIES[scode][tf].DS:Size()
for i = 1, SECURITIES[scode][tf].LastBarIndex-1 do
   FillTableRow(SECURITIES, scode, tf, i)
end

функция FillTableRow - просто выводит в таблицу данные:

function FillTableRowCandles(SECURITIES, scode, tf, index)
   tmp = InsertRow(t_id_IND, -1)
   SetCell(t_id_IND, tmp,  0, string.format("%04d-%02d-%02d %02d:%02d:%02d",
      SECURITIES[scode][tf].DS:T(index).year, SECURITIES[scode][tf].DS:T(index).month, SECURITIES[scode][tf].DS:T(index).day,
      SECURITIES[scode][tf].DS:T(index).hour, SECURITIES[scode][tf].DS:T(index).min, SECURITIES[scode][tf].DS:T(index).sec))
   SetCell(t_id_IND, tmp, 1, tostring(scode))
   SetCell(t_id_IND, tmp, 2, 'TQBR')
   SetCell(t_id_IND, tmp, 3, tostring(tf))
   SetCell(t_id_IND, tmp, 4, tostring(index), index)
   SetCell(t_id_IND, tmp, 5, tostring(SECURITIES[scode][tf].DS:O(index)))
   SetCell(t_id_IND, tmp, 6, tostring(SECURITIES[scode][tf].DS:L(index)))
   SetCell(t_id_IND, tmp, 7, tostring(SECURITIES[scode][tf].DS:H(index)))
   SetCell(t_id_IND, tmp, 8, tostring(SECURITIES[scode][tf].DS:C(index)))
   SetCell(t_id_IND, tmp, 9, tostring(SECURITIES[scode][tf].DS:V(index)))
end

Вот даты с дублями (что характерно они все на тайм-фрейме месяц, хотя я подписываюсь и на другие тайм-фреймы):

│ 2007-03-01 00:00:00 │ GAZP   │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ SNGS   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ IMOEX  │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ PLZL   │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ GMKN   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ LKOH   │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ SNGSP  │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ NVTK   │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ ROSN   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ TATN   │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ SBER   │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ LKOH   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ SBER   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ ROSN   │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ TATN   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ SNGSP  │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ NVTK   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ GMKN   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ PLZL   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ GAZP   │ MN1 │       2 │
│ 2007-02-01 00:00:00 │ SNGS   │ MN1 │       2 │
│ 2007-03-01 00:00:00 │ IMOEX  │ MN1 │       2 │

Примеры дублей (для первой строки GAZP):

Код
┌────dt_date─┬─────────dt_datetime─┬─symbol─┬─class─┬─tf──┬──open─┬───low─┬───high─┬──close─┬────volume─┐
│ 2007-03-01 │ 2007-03-01 00:00:00 │ GAZP   │ TQBR  │ MN1 │   266 │   249 │  270.4 │ 256.42 │   7683639 │
│ 2007-03-01 │ 2007-03-01 00:00:00 │ GAZP   │ TQBR  │ MN1 │ 258.5 │ 239.8 │ 277.45 │ 270.87 │ 108418206 │
первая запись - свеча №15, вторая запись - свеча №17. На графике данные второй свечи (17), но перебор по данным источника находит именно две свечи. Квик - 8.0.5.2

Возможно ли проверить у вас корректность получаемых исторических данных на этом же таймфрейме и по этим инструментам?

С уважением, Сергей.
 
К сожалению не увидел как исправить заголовок сообщения. Если возможно - исправьте на "Дублирование исторических данных"
Страницы: 1
Читают тему (гостей: 1)
Наверх