Игорь М (Автор тем)

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

Страницы: 1
Тормоза в отрисовке меток в 10 версии
 
Продолжаю увлекательное тестирование свежих версий. На 10.2 визуально отметил тормоза в отрисовке графики и тормоза в выставлении заявок, о чем здесь писали. Ну, это четко ещё не проверил. Теперь о том, что проверил: Метки в 10 версии отрисовываются в 4-5 раз медленнее. Не поленился и проверил много версий и установил, что фиаско случилось в самом начале: с версии 10.0.1. А в версии 9.7 все замечательно, даже лучше процентов на 20, чем в предыдущих. Возможно, эта заторможенность носит какой-то общий характер, а не касается исключительно меток. Вот скрипт для теста:
Код
local CHART_TAG_PRICE = "Test_speed_lab"

local function sysTime ()
   local t_time = os.sysdate()
   return 10000 * t_time.hour + 100 * t_time.min + t_time.sec + 0.001 * t_time.ms
end

function main ()

   local label = {

     IMAGE_PATH = "C:\\Quik_Pic\\Lines\\500_1_red.bmp",

--[[                                                          -- закомментированно: рисунок, раскомментированно: текст
     TEXT = "________________________",
     IMAGE_PATH = "",
     TRANSPARENT_BACKGROUND = 1,
--]]
     ALIGNMENT = "TOP",
     YVALUE =  84.00,
     DATE = 20230615,
     TIME = 130000,
     R = 0,
     G = 160,
     B = 0, 
     FONT_HEIGHT = 12 
   }

   local sys_time = sysTime()

   for i = 1, 1000 do
       label.YVALUE =  label.YVALUE + 0.001
       AddLabel(CHART_TAG_PRICE, label)
   end

   sys_time = sysTime() - sys_time

   message("sys_time: " .. tostring (sys_time))

   sleep(2000)
   DelAllLabels(CHART_TAG_PRICE)

end
График USDRUB_TOM, дату/время текущие поставите, путь для картинки свой пропишите. Картинка здесь эта простая линия, можно взять любой рисунок. На тексте разницы почти нет, на картинке замедление в 4-5 раза. Рисуется прямоугольник снизу вверх.
Привязка меток к графику
 
Как я понял в версии 9.1 изменили функционал меток на графике и теперь "Привязка меток теперь осуществляется не к шкале, а к графику...". Если теперь поставить шкалу на графике в ручном режиме от 100 до 200, к примеру, а максимум графика цены будет ниже 100, то метку не будет видно. Что скриптом ставить по координатам, что руками тоже по координатам. Это неудобно, обрезает некоторые возможности, до этой версии всё нормально работало, куда хочешь метку поставить - туда и ставишь. Зачем это сделали? Есть какие-то настройки, чтобы можно было сделать, как в 8-х версиях?
Ошибки в документации (руководстве пользователя)
 
Не нашел поиском тему про ошибки, опечатки, неточности и недочеты в документации.
4.4 Сделки. Описание параметров Таблицы сделок: qty NUMBER Количество инструментов в лотах

Объем свечей (график vs ТОС)
 
Здравствуйте. Наблюдаю расхождение значений объема последней свечи вечерней сессии полученной из графика и из ТОС. На графике в 2 раза больше, чем в ТОС. На примере RIZ1, 2021-10-05, 5 мин: график - 3650, ТОС - 1825; 1 мин: график - 996, ТОС - 498. Другие инструменты не проверял. Позавчера тоже было расхождение в 2 раза, раньше не проверял. Данные перезаказывал вместе с архивом.
Форматирование таблицы сделок
 
 Здравствуйте! До смены версии Квика у меня было так:



Теперь получилось так:



Как-то можно сделать как раньше? Спасибо.
пс. Качество плохое, так как у вас обрезает. Вставляется ли нормально?
Функция SetLabelParams. Зачем она нужна?
 
Всем привет! Задался вопросом: Зачем нужна функция SetLabelParams? Для вывода обновляемой метки пользовался кодом, типа:
Код
   local label = {}

    label.TEXT = difference
    ......
    label.FONT_HEIGHT = 10

   DelLabel (CHART_TAG_PRICE_1, result)
   result = AddLabel (CHART_TAG_PRICE_1, label)

По скорости сравнивал - нет разницы. В чем смысл SetLabelParams? Есть какие-то нюансы?
Строки вместо чисел в таблицах Quik 7.27.2.1
 
Обновил Квик до указанной версии. Копирую содержание таблиц (сделки, клиентский портфель, таблица ограничений по клиентским счетам) в Excel и вижу, что что-то имеет строковый формат, а что-то числовой (например: "Премия по опционам" - строка, а следующий столбец "Биржевые сборы" - число). Нельзя ли этот ужас исправить и сделать как было раньше на старых версиях (в числах). Зачем такое было сделано? Или если существуют какие-то люди, которым такое понадобилось, то сделайте опцию: вывод строк. Всё было просто и удобно: взял и скопировал без всяких бубнов. По уму и Ctrl + C в таблице на ячейку тоже на выбор опционально лучше сделать, приоритет на ячейку вместо таблицы целиком непонятен, я, например, ячейки по отдельности не копирую.
Отображение сделок на тиковом графике
 
Добрый день. Обращение к разработчикам по поводу отображения сделок на тиковом графике, особенно отображению одномоментных сделок.
Пример: Проходит одномоментная сделка на достаточно крупном объеме (наглядно выделяется на тиковом графике). RIM9, 08-05-2019 19:06:48,  размер 1250 контрактов, все сделки прошли в один момент по времени  132719 мкс. Отображение данной сделки идет по наклону, хотя по идее она  должна отображаться строго вертикально и такое отображение было бы куда более наглядным, чем нынешнее, а на средних объемах даже более информативным, чем на больших (большие сразу выделяются). Будет сразу видно, что совершена одномоментная сделка разом, а не несколько разных сделок близких по времени.
Сравнение дат.
 
Всем добрый день. Как корректнее и надежнее сравнивать даты на Lua, как числа или как строки?
Пример: Получаем две даты:

os_date = os.date ("%Y%m%d")                                                                                                               -- текущая дата операционной системы (ОС)

local t = getCandlesByIndex (CHART_TAG_PRICE, 0, number - INT_QUANTITY, INT_QUANTITY)                   -- получение таблицы свечей заданного периода
local date_candle = dateCandle (t[j].datetime.year, t[j].datetime.month, t[j].datetime.day)                               -- получение даты свечи

function dateCandle (year, month, day)                                                                                                      -- функция формирования даты свечи (number)
  local candle_date = 10000 * year + 100 * month + day
  return candle_date
end

При сравнении: if date_candle == os_date then, переводить date_candle в string (изначально формировать в string)  или os_date переводить в number?
Процентное изменение
 
Здравствуйте. В настройках графика при установлении галки "Процентное изменение" отображается только целая часть. Например, вместо 1.453 отображается только 1, то есть, как я понял, соответственно точности отображения цены инструмента. Где можно настроить количество знаков после запятой или отключить округление, так как такое округление бессмысленно (по сути это минус опция)?
Отличие localtime от os.time ()
 
Добрый день. Чем отличается время getInfoParam ("LOCALTIME") от os.date ("%H%M%S") или os.time ()? У меня localtime отстает на 200-500 мс.

function main ()

  while is_run do

       os_time_1 = os.date ("%H%M%S")
       os_time_2 = os.time ()
       localtime = getInfoParam ("LOCALTIME")

       message ("Localtime: " .. tostring (localtime)  .. ", os_time_1: " .. tostring (os_time_1) .. ", os_time_2: " .. tostring (os_time_2))

       sleep (100)

  end

end
Время сервера (SERVERTIME)
 
Здравствуйте.
Вопрос в следующем: Почему при отключении интернета (выдергивании шнура из блока) время сервера продолжает транслироваться в таблице портфеля? Длится это может до 20 секунд до появления надписи "Connection reset by peer". Всё остальное (стаканы, графики) при этом останавливается.

Простой код для проверки:

PORTFOLIO_EX TIME_SERVER;
DESCRIPTION Время сервера;
CLIENTS_LIST  ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;

PROGRAM

OUTPUT = CREATE_MAP()                        

SERVERTIME = GET_INFO_PARAM ("SERVERTIME")      ' время сервера в формате ЧЧ:ММ:СС

DELETE_ALL_ITEMS ()  

OUTPUT = SET_VALUE (OUTPUT,"SERVERTIME" , SERVERTIME)
ADD_ITEM (1,OUTPUT)

END_PROGRAM

PARAMETER SERVERTIME;
PARAMETER_TITLE Time;
PARAMETER_DESCRIPTION Текущее время сервера;
PARAMETER_TYPE STRING(10);
END

END_PORTFOLIO_EX
Таблица сделок, Данные из таблицы сделок (TRADES)
 
Здравствуйте. Не могу получить некоторые данные из "Таблицы сделок" (не путать с "Таблицей всех сделок"), например Количество в лотах (QUANTITY).

TRADE = GET_ITEM ("TRADES", I)                     - в строке достаточно много информации, но нет QUANTITY
OPER = GET_VALUE (TRADE, "OPERATION")     -  получаем SELL/BUY без проблем
QUAN = GET_VALUE (TRADE, "QUANTITY")       - не получаем

В описании параметров Таблицы сделок, возвращаемых функцией GET_ITEM, параметр QUANTITY есть.
Кто виноват и что делать?
Шрифты., Вернуть в Quik возможность использования всех доступных шрифтов, как это было в версии 6.17
 
Здравствуйте. Начиная с 7-ой версии стало невозможно выбрать в настройках шрифты .fon, в частности MS Sans Serif. Доступны только шрифты формата .ttf. В таблицах шрифты .ttf выглядят замыленными и размытыми (особенно при выделении жирным). При отключении ClearType в Windows проблема снимается для обычных шрифтов, но для жирных остаётся. К тому же отключение ClearType вносит размытость и необходимость замены шрифтов в самой Windows (дефолтный Segoe UI заточен под ClearType), а также в других программах, что не всегда в принципе возможно. В 6-ой версии такой проблемы нет. Пока у всех не будет мониторов 4K разумным будет шрифты .fon вернуть. Примеры в приложенных скринах. Скрины сделаны в версии Quik 7.14.1.7 (Windows 7/64) в красном и черном цветах с включенным и выключенным ClearType. Для сравнения 1 строка - Arial 8, 3-я строка - Arial 8 жирный, 2-я и 4-я строки - обычный MS Sans Serif 8. Жирный MS Sans Serif 8 виден в заголовках столбцов.
пс.
Шрифт MS Sans Serif можно поставить в терминал по умолчанию, прописав его в параметрах конфигурации (файл INFO) и только. Выделить его полужирным в таблице не выйдет.
Страницы: 1
Наверх