Ivanco (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
getCandlesByIndex - получаю НЕ ВСЕ свечи по инструменту
 
Уважаемые форумчане.
При использовании функции getCandlesByIndex, получаю не все свечи, которые могут быть по инструменту для данного тайм-фрейма (свечи ограничиваются слева какой-то начальной датой/временем). В процессе анализа, выяснил, что getCandlesByIndex отдает только то, что содержится в графике QUIK. Следовательно, это QUIK отображает не все возможные свечи по инструменту, и начинает их отрисовывать, допустим начиная с даты 2 месяца назад, все что было раньше на графике не отображается. Причем, для разных тайм-фреймов эта "дата отрезания" слева - разная, чем больше таймфрейм, тем "глубже" слева отображаются данные. Отсюда, вопросы:
  1. Верны ли мои догадки о том, что это QUIK ограничивает число отображаемых свечей? Какие тогда правила ограничения?
  2. Возможно ли настроить QUIK таким образом, чтобы получать ВСЕ свечи по инструменту, не ограничиваясь по "глубине"?
  3. Каким образом или на каких ресурсах можно получить полную историю свечей по инструменту? Смотрел на сайт Финам - качество данных оставляет желать лучшего, много инфо пропущено по историческим данным. В Квике как оказалось история свечей обрезается слева.
P.S. Понимаю, что эта тема не относится к программированию на LUA, здесь больше вопрос по платформе QUIK, но разместил здесь, так как изначально проблему диагностировал из программы LUA, используя функцию получения свечей.
Отметки на графике QUIK средствами QLUA
 
Подскажите пожалуйста, возможно ли средствами языка QLUA делать какие-либо графические отметки на графике инструмента в QUIK? Например, если алгоритм находит удачный момент для сделки - ставить графическую отметку на графике и т.п.

Заранее благодарен.
Расчет стандартных индикаторов в QLUA
 
Здравствуйте.

Вопрос вот в чем.
Если мне нужно получить значение индикатора SMA или EMA по ценам закрытия графика, то все просто - я добавляю этот индикатор на график, присваиваю ему идентификатор, и в коде QLUA получаю значение индикатора по его идентификатору (при помощи функции getCandlesByIndex).
А вот если нужно получить значение индикатора SMA или EMA по какому-то производному числовому ряду (к примеру отношение цен закрытия двух разных инструментов, или любой другой числовой ряд, отсутствующий в явном виде на графике), есть ли штатные инструменты для расчета индикаторов, или нужно все делать вручную - брать исходные сырые данные, получать из них нужный числовой ряд, и накладывать на него математическую формулу того или иного индикатора?
Не удается экспортировать данные из таблицы, созданной конструкцией AllocTable()
 
Здравствуйте.
В любой таблице терминала QUIK, при вызове контекстного меню из нее, возможно сделать экспорт данных таблицы в EXCEL.
Но когда я из *.LUA-скрипта создаю таблицу следующей конструкцией и наполняю ее данными, то в контекстном меню у нее пусто, экспортировать данные невозможно. Скажите пжт, есть ли возможность выгрузить данные из таблитц создаваемых таким образом? Или есть ли иной способ создания таблиц QUIK с возможностью последующего экспорта данных из этих таблиц.
Код
-- Получает доступный id для создания
t_id = AllocTable();   
-- Добавляет 5 колонок
AddColumn(t_id, 0, "", true, QTABLE_STRING_TYPE, 24);
AddColumn(t_id, 1, "", true, QTABLE_INT_TYPE, 15);
AddColumn(t_id, 2, "", true, QTABLE_STRING_TYPE, 15);
AddColumn(t_id, 3, "", true, QTABLE_STRING_TYPE, 15);
AddColumn(t_id, 4, "", true, QTABLE_STRING_TYPE, 15);
-- Создает таблицу
t = CreateWindow(t_id);
-- Наполняет таблицу данными
...
Пока, приходится выкручиваться тем, что параллельно с заполнением данной таблицы QUIK, я дублирую инфо в файл CSV через разделители (записываю построчно). Но это двойная работа.
Расчет цены клиринга по фьючерсам
 
Здравствуйте.
Скажите кто знает, есть ли четкие правила расчета цены клиринга по фьючерсам.
Дело в том, что по моим наблюдениям, в подовляющем большинстве случаев цена клиринга равняется цене последней сделки за завершенный период, но временами это не так. Вот, например, расчетная цена вчерашнего основного клиринга (27.04.2016 18:45) по инструменту GAZR-6.16 равна 16248, а цена последней сделки за этот период равна 16273 (27.04.2016 18:45).
То же и по LKOH-6.16: расчетная цена вчерашнего основного клиринга (27.04.2016 18:45) равна 27611, а цена последней сделки за этот период равна 27612 (27.04.2016 18:45). Но здесь разница всего в 1 рубль.
Но чаще всего, цена клиринга все же равна цене последней сделки.
Есть ли четкие правила?

Заранее благодарю.
Сделки на FORTS автоматически закрылись в конце торговой сессии
 
Коллеги, доброго времени суток.
Помогите пжт разобраться со следующим феноменом.
В один из дней, при помощи QLUA-скрипта, было приобретено несколько контрактов на рынке FORTS. Цена не пошла в том направлении, которое я предсказывал совершая сделку, и я решил оставить позицию открытой на последующие дни. На следующий день, обнаружил, что все мои сделки были автоматически закрыты на крайней свече той торговой сессии (в 23:50 где-то). Я предположил, что в параметрах транзакции мне не хватает какой-то даты ограничивающей сделку, и ради эксперимента купил несколько контрактов уже непосредственно через терминал QUIK (не скриптом) - параметры сделки оказались идентичные с теми, что я ранее создавал скриптом.
Собственно вопрос, в параметрах транзакции действительно не хватает каких-то атрибутов (дат), или это особенность срочного рынка такая?
Параметры в QLUA формирую следующие:
Код
["ACCOUNT"] = pAccount,
["CLIENT_CODE"] = pClient_code,
["TYPE"] = "M",
["TRANS_ID"] = "1",
["CLASSCODE"] = pClasscode,
["SECCODE"] = pSeccode,
["ACTION"] = "NEW_ORDER",
["OPERATION"] = "B",
["PRICE"] = "0",
["QUANTITY"] = "1"
РЫНОЧНАЯ заявка на покупку - обязателен ли параметр "Цена"?
 
Здравствуйте.

Вопрос в следующем. В документации QUIK указан пример, как сформировать набор параметров для выставления рыночной заявки на покупку, вот он этот пример:
Код
Заявка на покупку Русгидро, рыночная, 15 лотов:

ACCOUNT=NL0080000043; CLIENT_CODE=467; TYPE=M; TRANS_ID=7; CLASSCODE=TQBR; SECCODE=HYDR; ACTION=NEW_ORDER; OPERATION=B; PRICE=0; QUANTITY=15;
Как видно, параметр "TYPE" = "M" (заявка рыночная), параметр "PRICE" = 0 (цена равна ноль).

Полагая, что при заявленном параметре "TYPE" = "M" (рыночная цена), параметр "PRICE" уже не играет никакой роли, я сформировал заявку вообще не указывая параметр "PRICE". В ответ от терминала получил следующую ошибку:
Код
Transaction Result:  Не указано значение поля "Цена"
  1. Правильно ли понимаю, что даже при создании рыночной заявки ("TYPE" = "M"), параметр "Цена" все равно должен быть указан и передан в терминал? Какую роль он при этом выполняет?
  2. Если в рыночной заявке ("TYPE" = "M") значение поля "Цена" выставить равным ноль, как в примере - произойдет ли выставление заявки именно по рыночной цене и как следствие ее немедленное исполнение?
  3. Если при создании рыночной заявки ("TYPE" = "M"), значение поля "Цена" выставить не равное нулю, заявка все равно будет выставлена по рыночной цене и немедленно исполнена, или тогда она уже будет выставлена по указанной цене? Если так, то какую роль тогда играет параметр "TYPE"="M"?
Заренее благодарен за ответы.
Страницы: 1
Наверх