Старатель (Все сообщения пользователя)

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 47 След.
SearchItems, Вложенные таблицы
 
Как в функцию SearchItems передать в качестве параметров элементы таблиц, вложенных в таблицы, например "legs" из таблицы "securities"?
Надо делать так, как надо. А как не надо - делать не надо.
Влияние колбэков на производительность
 
Цитата
Старатель написал:
Видно, что в первом случае упор идёт на пропускную способность канала (100 Мбит/с), т.е. гипотетически сделки могли загрузиться быстрее при более широком канале. Если у вас канал шире 100 Мбит/с, напишите, какие у вас результаты.
Во втором случае - занята только половина ширины канала. Очевидно упёрлись в CPU, и скрипт не успевает обрабатывать колбэки с той скоростью, с которой поступают сделки.
В информационном окне QUIK есть параметр "Очередь сетевых сообщений".
Судя по названию, предположительно, этот параметр показывает количество полученных, но ещё не декодированных сетевых пакетов клиентом, которые стоят в очереди на обработку.
При запуске первого скрипта максимальное значение этого параметра не превышает 17.
При запуске второго скрипта (с колбэком) максимальное значение в очереди достигает 20000.
Надо делать так, как надо. А как не надо - делать не надо.
Работа колбеков
 
На открытии:
duration: 00:00:10 (10.7 s) (10:00:44 - 10:00:55)
SetCell:  calls: 2899;  total: 0.6 s ( 5.7%);  avg: 0.21 ms;  min: 0 ms;  max: 19 ms

Но если подержать подольше, то может быть и так:
duration: 00:23:28 (1408.5 s) (11:21:15 - 11:44:44)
SetCell:  calls: 174682;  total: 101.4 s (7.2%);  avg: 0.58 ms;  min: 0 ms;  max: 446 ms
Надо делать так, как надо. А как не надо - делать не надо.
Работа колбеков
 
Цитата
Станислав написал:
122.6 s; num: 7088692; avg: 0.017 ms
with OnAllTrade:  378.9 s; num: 7125638; avg: 0.053 ms
Оверхэд на колбэк не менее 0.036 мс, а то и больше. Не знаю, будут ли эти значения такими же для OnParam, OnQuote и др. Но если да, то умножте эту величину на количество всех колбэков в секунду, которые получает рабочий скрипт, и получите время, затрачиваемое только на вызов колбэков в течение 1 секунды. И это без их фактической обработки. Особенно это актуально в активные часы торгов, когда событий больше
Надо делать так, как надо. А как не надо - делать не надо.
Влияние колбэков на производительность
 
Некоторые считают, что наличие пустых колбэков в скрипте не оказывает какой-либо значительной нагрузки на CPU.
Имеется ввиду, когда скрипт работает с одним или нескольким инструментом, а в колбэке стоит фильтр, отсеивающий все остальные инструменты, вида:
Скрытый текст

Давайте проверим. Для оценки оверхэда я буду использовать таблицу обезличенных сделок.
Сначала измеряем время загрузки таблицы с запущенным скриптом без колбэков (скрипт №1):
Скрытый текст

Затем измеряем время загрузки таблицы с запущенным скриптом, с пустым колбэком OnAllTrade (скрипт №2):
Скрытый текст

Как использовать:
  1. Настройка получения данных выполняется через пункт меню Система / Настройки / Основные настройки..., раздел «Программа» / «Получение данных» / «Обезличенные сделки»
    В поле «Выбрать классы инструментов» выбрать все без фильтров! Это важно для корректных измерений, ниже объясню почему.
    Если у вас уже выбраны все классы без фильтров этот шаг можно пропустить. Если нет, - то нажать кнопку «Перезаказать данные».
     
  2. Подождать пока прокачаются все сделки и запустить первый скрипт.
     
  3. Снова перезаказать обезличенные сделки и дождаться, когда скрипт выведет итоговый результат и остановится.
     
  4. Повторить 3-й пункт со вторым скриптом.
У меня получились такие результаты в QUIK 13.0.2.20:

Скрипт №1:
Код
38.9 s; num: 5497547; avg: 0.007 ms
Скрипт №2:
Код
with OnAllTrade:  79.8 s; num: 5513332; avg: 0.014 ms
В диспетчере задач это выглядит так:
Скрытый текст

Видно, что в первом случае упор идёт на пропускную способность канала (100 Мбит/с), т.е. гипотетически сделки могли загрузиться быстрее при более широком канале. Если у вас канал шире 100 Мбит/с, напишите, какие у вас результаты.
Во втором случае - занята только половина ширины канала. Очевидно упёрлись в CPU, и скрипт не успевает обрабатывать колбэки с той скоростью, с которой поступают сделки.
Среднее время обработки одной сделки в первом случае составляет 7 мкс, а во втором - 14 мкс.
Если у вас разницы нет, что с колбэком, что без него, значит узким местом является не процессор, а например, пропускная способность сети (подключение по Wi-Fi) или сервера.
Так, если выбрать заказ не всех обезличенных сделок, а только некоторых классов или отдельных инструментов, то время прокачки сделок с первым скриптом без колбэка практически не изменится, зато со вторым скриптом уменьшится. Это говорит о том, что данные поступают медленнее, чем их обрабатывает терминал, что не годится для оценки оверхэда.

Результаты при одновременном запуске 5 и 10 копий скрипта №1:
Код
39.3 s; num: 5566964; avg: 0.007 ms
39.3 s; num: 5566984; avg: 0.007 ms
39.3 s; num: 5566984; avg: 0.007 ms
39.3 s; num: 5566984; avg: 0.007 ms
39.3 s; num: 5566984; avg: 0.007 ms
Код
39.1 s; num: 5583868; avg: 0.007 ms
39.1 s; num: 5583867; avg: 0.007 ms
39.1 s; num: 5583868; avg: 0.007 ms
39.1 s; num: 5583868; avg: 0.007 ms
39.1 s; num: 5583868; avg: 0.007 ms
39.1 s; num: 5583868; avg: 0.007 ms
39.1 s; num: 5583868; avg: 0.007 ms
39.1 s; num: 5583868; avg: 0.007 ms
39.1 s; num: 5583868; avg: 0.007 ms
39.1 s; num: 5583868; avg: 0.007 ms
Скрытый текст

Среднее время на сделку не изменилось. Ограничением по-прежнему выступает пропускная способность канала.

Результаты при одновременном запуске 2 и 3 копий скрипта №2 (с колбэком):
Код
with OnAllTrade:  132.1 s; num: 5628639; avg: 0.023 ms
with OnAllTrade:  132.1 s; num: 5628645; avg: 0.023 ms
Скрытый текст

Код
with OnAllTrade:  180.1 s; num: 5680264; avg: 0.032 ms
with OnAllTrade:  180.1 s; num: 5680264; avg: 0.032 ms
with OnAllTrade:  180.1 s; num: 5680264; avg: 0.032 ms
Скрытый текст

Среднее время на сделку увеличивается примерно на ~9 мкс с добавлением каждого нового скрипта.

Данный тест показывает, что само по себе наличие даже пустого колбэка в скрипте оказывает влияние.
А поскольку колбэки работают в основном потоке квика, то это сказывается также и на работе графического интерфейса и квика в целом.
Надо делать так, как надо. А как не надо - делать не надо.
Работа колбеков
 
Цитата
Nikolay написал:
Тот же LASTRECORDTIME важен, т.к. иногда приходят опоздавшие данные и их лучше пропускать.
В LASTRECORDTIME проставляется время сервера или клиента?
Надо делать так, как надо. А как не надо - делать не надо.
Работа колбеков
 
Цитата
Nikolay написал:
log('Exit OnParam', os.clock() - s, class_code,  sec_code, res.last_rec, last_price)
Вы так ничего не измерите. Обработка кода внутри колбэка идёт на ура. Оверхэд возникает из-за самого вызова колбэка, даже пустого. Смотрите мой пример выше.[QUOTE]
Надо делать так, как надо. А как не надо - делать не надо.
Работа колбеков
 
Цитата
TGB написал:
Никаких особенностей не заметил (с подключением пакетов и без).
Сколько у вас колбэков в секунду?
Надо делать так, как надо. А как не надо - делать не надо.
Работа колбеков
 
Цитата
Старатель написал:
Оценить оверхэд от колбэков можно на следующих скриптах:
Как использовать:
  1. Настройка получения данных выполняется через пункт меню Система / Настройки / Основные настройки..., раздел «Программа» / «Получение данных» / «Обезличенные сделки»
    В поле «Выбрать классы инструментов» выбрать все без фильтров! Это важно для корректных измерений.
    Если у вас уже выбраны все классы без фильтров этот шаг можно пропустить. Если нет, - то нажать кнопку «Перезаказать данные».
     
  2. Подождать пока прокачаются все сделки и запустить первый скрипт.
     
  3. Снова перезаказать обезличенные сделки и дождаться, когда скрипт выведет итоговый результат и остановится.
     
  4. Повторить 3-й пункт со вторым скриптом.
Надо делать так, как надо. А как не надо - делать не надо.
Работа колбеков
 
Давно эта тема обсуждалась, ещё в 9-й версии.
Оценить оверхэд от колбэков можно на следующих скриптах:
Код
local run = true
function OnStop()
  run = nil
end

function main()
  local n = getNumberOf("all_trades")
  local m = n
  message("Num all trades: " .. n)
  repeat
    sleep(1)
    m = n; n = getNumberOf("all_trades")
    if run == nil then return end
  until n < m
  local t = os.clock()
  message("Num all trades: " .. m)
  repeat
    sleep(1)
    n = getNumberOf("all_trades")
    if run == nil then return end
  until n >= m         -- ожидание пока прокачаются все сделки
  t = os.clock() - t
  message(string.format("%.1f s; num: %u; avg: %.3f ms", t, n, t / n * 1000))
end
Код
local run = true
function OnStop()
  run = nil
end

function main()
  local n = getNumberOf("all_trades")
  local m = n
  message("Num all trades: " .. n)
  repeat
    sleep(1)
    m = n; n = getNumberOf("all_trades")
    if run == nil then return end
  until n < m
  local t = os.clock()
  message("Num all trades: " .. m)
  repeat
    sleep(1)
    n = getNumberOf("all_trades")
    if run == nil then return end
  until n >= m         -- ожидание пока прокачаются все сделки
  t = os.clock() - t
  message(string.format("with OnAllTrade:  %.1f s; num: %u; avg: %.3f ms", t, n, t / n * 1000))
end

function OnAllTrade(alltrade) end
Перезаказываете обезличенные сделки и замерете время прокачки всех сделок в обоих случаях.
Важно: в поле «Выбрать классы инструментов» указать все инструменты без фильтров для более точных измерений!
У меня результаты такие:
Код
40.2 s; num: 5719275; avg: 0.007 ms
with OnAllTrade:  85.7 s; num: 5731311; avg: 0.015 ms
Скрытый текст

Видно, что в первом случае упор идёт на пропускную способность канала, т.е. гипотетически сделки могли загрузиться быстрее при более широком канале.
Во втором случае скрипт не успевает обрабатывать колбэки с той скоростью, с которой поступают сделки. А мы помним, что колбэки работают в том же потоке, что и GUI.
Если у вас разницы нет, что с колбэком, что без него, значит узким местом является не процессор, а например, пропускная способность сети (подключение по Wi-Fi) или сервера. И тогда таким образом оценить оверхэд не получится.

Цитата
Nikolay написал:
При этом на демо Quik Junior, где поток данных очевидно низкий, это малозаметно.
Поэтому у разработчиков всё отлично и "не воспроизводится".
Надо делать так, как надо. А как не надо - делать не надо.
Мало кто об этом знает.
 
Цитата
nikolz написал:
когда посмотрели  последнюю 227851 строку, заняли память 1205 952 КБ т е округленно 1.2 Г
Какая версия QUIK и Lua?
Надо делать так, как надо. А как не надо - делать не надо.
Это еще блин че такое на графике Яндекса (YNDX) ???
 
Цитата
nikolz написал:
Предположу, что это  сбой на сервере.
Не факт. Уже была похожая проблема:
https://forum.quik.ru/messages/forum1/message58485/topic6744/#message58485
https://forum.quik.ru/messages/forum13/message60978/topic7042/#message60978

Quikos_1, закройте косячный график и создайте диаграмму заново. Если проблема уйдёт, значит - локальная.
Надо делать так, как надо. А как не надо - делать не надо.
КРАШ -ТЕСТ терминала
 
CalcBuySell и в 8-м квике была тормознутой
Надо делать так, как надо. А как не надо - делать не надо.
Кривые шибки в QLua
 
Цитата
nikolz написал:
В итоге тест работал 4 часа
4 часа - это не срок. У меня скрипты годами (!) работают, но иногда вылазят ошибки, описанные в данном треде. Многие ошибки даже за неделю непрерывных нагрузочных тестов нереально воспроизвести.
Надо делать так, как надо. А как не надо - делать не надо.
Функция getDepoEx возвращает nil на имеющийся в портфеле инструмент, В каких случая такой возможно?
 
https://forum.quik.ru/messages/forum10/message56117/topic6503/#message56117
Надо делать так, как надо. А как не надо - делать не надо.
Графический размер стакана на загруженной вкладке не соответствует сохраненному
 
Цитата
Старатель написал:
Часто при загрузке вкладки из файла размеры окон не соответствуют оригиналу, если на вкладке есть закрепленные окна.
Поэтому, перед сохранением вкладки в файл приходится все окна на вкладке "отзакреплять".

Предполагается, что сотрудники компании разработчика отреагируют на баг-репорт.
Надо делать так, как надо. А как не надо - делать не надо.
Переносить заявку, Дата экспирации в LUA скриптах.
 
Цитата
Alexey Danin написал:
Цитата
   s_mike@rambler.ru написал:
При этом нет возможности узнать, какой язык установлен в терминале и сформировать транзакцию на нужном языке
Можем зарегистрировать пожелание на доработку функционала в этом месте. Регистрируем?

И зачем опять эти танцы с бубном? Универсальный формат должен поддерживаться на уровне терминала.
Если уж сделали два формата транзакций, так делайте, чтобы терминал принимал оба, вне зависимости от текущей региональной настройки.
Надо делать так, как надо. А как не надо - делать не надо.
Переносить заявку, Дата экспирации в LUA скриптах.
 
Цитата
Alexey Danin написал:
Можете переключить интерфейс терминала на английский, и тогда в коде Lua скрипта можно будет задавать данные поля транзакции на латинице.
Т.е., формат транзакции не является универсальным и зависит от текущей настройки языка интерфейса? Жесть.
Надо делать так, как надо. А как не надо - делать не надо.
Индикатор для арбитража
 
Цитата
Александр М написал:
У вас "y" каждый тик пересчитывается от себя же, на текущем баре "y" просто уйдет в цену, а не будет средней. Так что красиво рисуется только на истории.
Автор сам чайник и не в курсе, что:
1) В OnCalculate индекс свечей начинается с 1. А getCandlesByIndex возвращает таблицу, где первая свечка имеет индекс 0. Соответственно, для getCandlesByIndex надо брать свечи со смещением на -1.
2) В реалтайм такой индикатор считает не разность цен, а хрень какую-то. Графики обновляются не синхронно. => В реалтайм будут ситуации, когда свеча по одному инструменту уже открылась, а по другому - ещё нет. Или в течение определённого интервала времени не будет ни одной сделки по одному из инструментов. Значение close такой свечи будет = 0.
Надо делать так, как надо. А как не надо - делать не надо.
Фильтр инструментов в quik, Создать дополнительные параметры фильтра инструментов
 
Цитата
Дмитрий написал:
Да, включен режим связанных окон
Думаю, стоит смотреть в эту сторону. Возможно, фильтры сбрасываются при переключении инструмента, если ТОС привязана к ТТТ.
Надо делать так, как надо. А как не надо - делать не надо.
Автомасштаб графика сужается иногда, Автомасштаб графика сужается иногда
 
Цитата
Радик написал:
Получаеться так: Когда руками сузишь график, переключишься на другую акцию и обратно, то уже на всех акциях масштаб суженый запоминается.
Была такая же история, QUIK 9.5. Как появилась внезапно, так потом также внезапно и исчезла.

Цитата
Karina Dmitrieva написал:
график находится в режиме связанных окон с Таблицей текущих торгов?
Да.

Цитата
Karina Dmitrieva написал:
И как именно переключаетесь между инструментами?
Кликом мыши по строке с нужным инструментом. А какие ещё варианты есть?
Надо делать так, как надо. А как не надо - делать не надо.
Снятие/перемещение заявок в стакане
 
Цитата
Karina Dmitrieva написал:
сформулировать достаточно подробное описание запрашиваемого функционала
Karina Dmitrieva, я же подробно описал в сообщениях #7 и #8.
Именно такой подход у меня работает в ботах.
Если какой-то момент является не понятным - готов к диалогу.
Надо делать так, как надо. А как не надо - делать не надо.
Метки в индикаторе, При перезапуске Квика получается наслоение меток
 
Цитата
Roman Mural написал:
Так и было задумано.
Цитата
Roman Mural написал:
для удаления меток Вы можете воспользоваться функцией DelAllLabels

Значит, плохо было задумано.
Возьмите два индикатора, которые ставят/снимают метки на одной диаграмме на разных графиках с разными идентификаторами в разных областях и полюбуйтесь, как они будут удалять чужие метки. А заодно сотрут ещё и все пользовательские метки в той же диаграмме.
Надо делать так, как надо. А как не надо - делать не надо.
Метки в индикаторе, При перезапуске Квика получается наслоение меток
 
nikolz,
Цитата
Старатель написал:
При закрытии Квика срабатывает OnDestroy, но метки с графиков не удаляются.

"Чукча не читатель, чукча - писатель."
Надо делать так, как надо. А как не надо - делать не надо.
Метки
 
Цитата
s_mike@rambler.ru написал:
в лучшем случае метка показывается не там где надо
Интереса ради (чисто разговор поддержать). Какое время задавали? По Мск или локальное и где метка в этом случае показывается?
Надо делать так, как надо. А как не надо - делать не надо.
Кривые шибки в QLua
 
Alexey Danin, возможно, это как-то поможет: #143
Надо делать так, как надо. А как не надо - делать не надо.
Снятие/перемещение заявок в стакане
 
Alexey Ivannikov, это абстрактное описание, из которого трудно сделать какие-либо конструктивные выводы.
Надо делать так, как надо. А как не надо - делать не надо.
Снятие/перемещение заявок в стакане
 
Alexey Ivannikov, я не могу ответить утвердительно, не видя конкретных предложений.
Потому что, когда вы делаете какую-то настройку, которую регулирует брокер, и клиент не может её изменить, а вы пишите, типа "это - не мы, это - всё брокер настраивает, обращайтесь к брокеру", то это выглядит как издёвка.
Надо делать так, как надо. А как не надо - делать не надо.
Графический размер стакана на загруженной вкладке не соответствует сохраненному
 
Часто при загрузке вкладки из файла размеры окон не соответствуют оригиналу, если на вкладке есть закрепленные окна.
Поэтому, перед сохранением вкладки в файл приходится все окна на вкладке "отзакреплять".
Надо делать так, как надо. А как не надо - делать не надо.
Что произойдет со скриптами если загрузить вкладку, а на ней уже есть такие же идинтификаторы ?
 
Цитата
Евгений написал:
Если идентификаторы совпадают ? Они сотрутся или нет ? Сообщение появится ?
Проверить опытным путём быстрее, чем дождаться ответ.
По крайней мере, при копировании диаграммы, идентификаторы удаляются.

Цитата
Евгений написал:
Как найти график на котором такой же идентификатор ?
Лайфхак: создать скрипт, который создаёт метку на графике. Далее листаем графики в поиске этой метки.
Надо делать так, как надо. А как не надо - делать не надо.
Метки в индикаторе, При перезапуске Квика получается наслоение меток
 
Вопрос был к клиентской поддержке.
Надо делать так, как надо. А как не надо - делать не надо.
Метки в индикаторе, При перезапуске Квика получается наслоение меток
 
Цитата
nikolz написал:
тогда в цикле
DelLabel(STRING chart_tag, NUMBER label_id)
nikolz, я знаю, что вы не умеете читать, как минимум код. В коде в первом сообщении это есть.
Надо делать так, как надо. А как не надо - делать не надо.
Удваиваются заявки. Версия 9.7.1.10., Вопрос разработчикам QUIK
 
Цитата
nikolz написал:
хотите узнать, пишите в личку.
Да мне в общем-то без надобности. Я так-то считаю, что вы сами накосячили, а теперь вам стыдно признаться.
Надо делать так, как надо. А как не надо - делать не надо.
Метки в индикаторе, При перезапуске Квика получается наслоение меток
 
Ещё какая-то информация требуется?
Надо делать так, как надо. А как не надо - делать не надо.
Удваиваются заявки. Версия 9.7.1.10., Вопрос разработчикам QUIK
 
Цитата
nikolz написал:
по одной транзакции выставились две заявки близнецы.
Цитата
nikolz написал:
Проблему решил.

И в чём же проблема была? Каким образом решили проблему?
Надо делать так, как надо. А как не надо - делать не надо.
Посоветуйте как правильно передавать данные?, доступ в квик стороннему программиста без права выставления реальных ордеров (для тестирования стратегии)
 
И всегда вокруг буратин крутятся жулики, желающие обобрать их до нитки, и впаривают ненужные услуги.
"Не обманешь - не продашь", - как говорится.
Надо делать так, как надо. А как не надо - делать не надо.
Посоветуйте как правильно передавать данные?, доступ в квик стороннему программиста без права выставления реальных ордеров (для тестирования стратегии)
 
Цитата
nikolz написал:
вам надо создать сервер доступный из интернет.
далее используя socket  транслируете данные на сервер.
И заплатить ещё программисту за создание этого сервера.

Цитата
Илья написал:
Задача дать стороннему (!) программисту данные о торгах по акциям в реальном  времени (ну или хотя бы минутными свечами) желательно без права выставления ордеров
У некоторых брокеров можно запросить ещё один аккаунт для квика, иногда за доп. плату.
Спросите своего брокера о возможности предоставления вам "просмотрового" аккаунта.
Надо делать так, как надо. А как не надо - делать не надо.
Невозможность скролла таблицы
 
Цитата
Сергей написал:
если соединяю ее с графиком (через якорь), то стрелочками она уже вниз/вверх не листается
Аналогичная проблема. QUIK 9.5
Надо делать так, как надо. А как не надо - делать не надо.
Таких глюков ещё не было. брокер Открытие, В таблице отображаются не существующие заявки, которые нельзя не увидеть, не снять.
 
Цитата
Alexey Ivannikov написал:
Ситуация повторяется сейчас на актуальной версии терминала 9.7?
В бою 9.7 не использую.
Но на днях в 8.13 была похожая ситуация: утром после подключения к серверу не загрузилась часть заявок, выставленных в вечернюю сессию. Причём не загрузилась на том терминале, на котором эти заявки накануне были выставлены. Не было этих заявок ни в таблице заявок, ни в orders, не было и колбеков по ним. Переподключение к серверу опять же ничего не дало.  На других терминалах все заявки были загружены.
А потом в течение дня (около 16 ч.) без всяких переподключений все недостающие заявки подгрузились. Что это было - не знаю.
Надо делать так, как надо. А как не надо - делать не надо.
Пустое значение trans_id в таблице сделок.
 
Цитата
Nikolay написал:
Но, кажется, формулировка разработчиков была - есть изменения во внутренних полях, недоступных для чтения, все равно получите callback.

Кажется, формулировка была другой:
Цитата
Sergey Gorokhov написал:
По данному обращению мы определили, что причиной множественных     отправок сделок (более двух) на клиентские места является неоптимальность в     серверном ПО QUIK. После ее устранения сделки могут быть отправлены на клиентское место максимум 2 раза - по     получению сделки из торговой системы и по факту ее обновления.
Надо делать так, как надо. А как не надо - делать не надо.
Пустое значение trans_id в таблице сделок.
 
Цитата
Nikolay написал:
Если обратите внимание на колбек OnTrade, то он приходит три раза на сделку. Каждый раз - это какое-то изменение в записи таблицы.

Во-первых, по новым правилам (QUIK 9.7.1.10) на одну сделку приходится не три, а четыре колбека OnTrade.
Во-вторых, в большинстве случаев, все четыре OnTrade абсолютно одинаковые. В некоторых случаях один из них может отличаться параметром broker_comission и, возможно, другими параметрами со словом *comission*
Надо делать так, как надо. А как не надо - делать не надо.
Большие колебания требуемой оперативной памяти.
 
Не плохо было бы добавить в Менеджер окон параметры CPU Usage и Memory для каждого окна.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Кривое автомастабирование на графиках с отрицательными ценами
 
Цитата
Anzhelika Belokur написал:
график масштабируется таким образом, что минимальное цена свечи графика попадает ровно на границу области, но не обрезается

Не обрезается, а просто перекрывается рамкой.
Ну это в корне меняет дело, конечно.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Кривое автомастабирование на графиках с отрицательными ценами
 
Цитата
Anzhelika Belokur написал:
По поводу обрезания свечей при отрицательных значениях, демонстрируем поведение на Рис.2
Ну видно же, что минимумы свечей от 11 числа обрезаются (те, которые упираются в нижний край).
Чтобы было наглядней я взял бары и увеличил масштаб (то же 11 число, время на скринах видно).
Автомасшатирование:
Скрытый текст

Сравните с масштабированием вручную:
Скрытый текст


Цитата
Anzhelika Belokur написал:
можно понятным образом интерпретировать такое поведение - по инструменту отсутствует позиция и она принимается равной 0 и соответствующим образом считается цена приобретения - 0. Автомасштабирование же отрабатывает так, чтобы отображать этот нулевой уровень цены приобретения.
Весьма сомнительная версия. Откройте любой график с только положительными ценами и посмотрите будет ли там нулевой уровень цены при тех же настройках.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Кривое автомастабирование на графиках с отрицательными ценами
 
Цитата
Anzhelika Belokur написал:
мы не смогли воспроизвести его у себя в терминале (у нас все свечи отображаются корректно)

Anzhelika Belokur, прикрепите скриншот графика календарного спреда BR-8.22-9.22 (важно: не график фьючерса, как это демонстрирует тут один персонаж, а именно спреда) или любого другого с отрицательными ценами с установленными галками "с учётом цен заявок и позиций" (сообщение #1) и "уровень позиции" (сообщение #3).
Очень любопытно на это посмотреть.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Кривое автомастабирование на графиках с отрицательными ценами
 
Цитата
nikolz написал:
Где Вы увидели отрицательные цены?
Специально для тупых обвёл красной рамкой.

Цитата
nikolz написал:
Что такое "спред" знаете?
Вот и полюбопытствуйте, что это, чтобы потом не писать всякую чушь про то, в чём не разбираетесь.
Надо делать так, как надо. А как не надо - делать не надо.
Снова AddLabel
 
Это, если из индикатора ставить метки. Из скрипта - не получится   :sad:
Надо делать так, как надо. А как не надо - делать не надо.
Снова AddLabel
 
Цитата
Kolossi написал:
выставлять метку на график в соответствии с параметром "тикер инструмента".

Код
local info = getDataSourceInfo()
if info.sec_code == sec and info.class_code == class then AddLabel(...) end
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Кривое автомастабирование на графиках с отрицательными ценами
 
nikolz, это у вас в голове какой-то мусор.
https://www.moex.com/ru/derivatives/spreads/archive-spreads.aspx?code=BR-8.22-9.22
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Кривое автомастабирование на графиках с отрицательными ценами
 
Anzhelika Belokur, спросите у коллег, где взять дистрибутив программы.
Если вы испытываете затруднения в установке QUIK на компьютер, то я могу помочь установкой по RDP вам или вашему бесполезному тестировщику.
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 47 След.
Наверх