Функции getLinesCount и getNumCandles возвращают nil

Страницы: 1
RSS
Функции getLinesCount и getNumCandles возвращают nil
 
Всем доброго дня. Поискал поиском, но ничего не нашел. Вопрос вот в чем. Мне надо в скрипте на LUA использовать функции getLinesCount и getNumCandles. Вобщем открываю нужные мне индикаторы, например RSI, как положено присваиваю ему уникальный идентификатор и из скрипта пытаюсь получить количество линий и свечей. Обе функции возвращают значение nil... Все значения вывожу в тестовую таблицу. При этом все остальные значения отображаются корректно. Что я делаю не так? Опять же получение занимает некоторое время, именно поэтому для теста все сделал в бесконечном цикле. Позже это все перенесется в коллбэки.
Как я понял из руководства по LUA функция CreateDataSource вышеупомянутым функциям вообще не нужна. Тем не менее даже из нее тестовый вывод работает. Но как я понял именно CreateDataSource работает исключительно с Price для выбранного инструмента. А если работать с графиками индикаторов нужна getCandlesByIndex?
Код
   while not stopped do 
      ds, Error = CreateDataSource (CLASS, SEC, INTERVAL_M5);
      local count = getLinesCount(ischBB)
      local num   = getNumCandles(ischBB)
      SetCell(t.t_id, row, 1, NAME)
      SetCell(t.t_id, row, 2, tostring (PRICE_STEP),2)
      SetCell(t.t_id, row, 3, tostring (PRICE_SCALE))
      SetCell(t.t_id, row, 4, tostring (count))
      SetCell(t.t_id, row, 5, tostring (num))
      SetCell(t.t_id, row, 6, tostring (ds:Size()))
      sleep(1000)
   end
 
Здравствуйте.

Идентификатор должен быть строкой, попробуйте так: getLinesCount("ischBB").

Функция CreateDataSource работает исключительно со свечками, полученными с сервера QUIK, а также реагирует на их изменение.
Функция getCandlesByIndex так же предназначена для получения информации о свечках, однако для успешного доступа должен быть открыт нужный график.
Страницы: 1
Читают тему
Наверх