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

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

Страницы: Пред. 1 ... 33 34 35 36 37 38 39 40 41 42 43 ... 46 След.
Пакетное получение данных, Все сделки приходят не по одной, а пакетами от 1 до xx штук
 
Leff,
https://forum.quik.ru/messages/forum10/message5260/topic559/#message5260
Надо делать так, как надо. А как не надо - делать не надо.
Пакетное получение данных, Все сделки приходят не по одной, а пакетами от 1 до xx штук
 
Цитата
Sergey Gorokhov пишет:
Я честно сам не готов дать объяснение в технологических терминах, но суть такая, что есть установленный минимальный размер пакета.
в него влезает некоторое количество информации, если информации меньше чем размер пакета, то она попадает в буфер в котором в течении некоторого времени ждет дополнения, пока размер пакета не будет полным. Если по истечении этого времени новые данные не поступят то пакет отправляется не полным. Какой это промежуток времени и какой размер пакета зависит от настроек, в том числе и от настроек на Вашей сетевой карте.
Что-то подсказывает мне, что настройки сетевой карты на клиенте играют незначительную роль в данном случае, т.к. данные, в т.ч. все сделки, приходят пачками с сервера изначально. Я прав?
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Цитата
Michael Bulychev пишет:
Согласитесь, что пример немного не жизненный?
Я что-то не понял, с чем вы спорите? Вы можете привести "жизненный пример", когда использование потокобезопасной функции в одном скрипте "никак не влияет" на другие скрипты?
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Цитата
Старатель пишет:
Это говорит о том, что использование потокобезопасных функций оказывает влияние на все запущенные скрипты.
Независимо от потока, в котором они были вызваны.
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Цитата
Michael Bulychev пишет:
Для чего мы завели такие функции и чего они позволяют избежать я уже объяснял. В Вашем примере использование ssort совершенно не к месту. Используйте просто sort.
Вы, наверное, не поняли: это псевдокод. Таким образом, я показал вам, что утверждение
Цитата
Michael Bulychev пишет:
На другие скрипты никак не влияет
не верно. Это говорит о том, что использование потокобезопасных функций оказывает влияние на все запущенные скрипты.
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Цитата
sam063rus пишет:
замените в скрипте №1 в майне sleep на равносильную задержку в виде цикла.
Пустого цикла? И? Терминал продолжает получать информацию с сервера, колбеки вызываются.
Надо делать так, как надо. А как не надо - делать не надо.
Пакетное получение данных, Все сделки приходят не по одной, а пакетами от 1 до xx штук
 
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Цитата
Michael Bulychev пишет:
этого мы и не скрывали никогда
Цитата
Michael Bulychev пишет:
На другие скрипты никак не влияет
Цитата
Michael Bulychev пишет:
Похожего эффекта можно достичь и другими способами
Какими? (Речь сейчас не идёт про длительную обработку колбека.)
Надо делать так, как надо. А как не надо - делать не надо.
Показывать последнее значение на графике цены
 
Цитата
Sergey Gorokhov пишет:
Поменять графики местами. Например через параметры текущего окна, секция Порядок графиков
О, спасибо!
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
У меня такое ощущение, что это я вам рассказываю, как работает ваш программный продукт. Хотя наоборот было бы гораздо эффективней.

Скрипт 1:
Скрытый текст
Скрипт 2:
Скрытый текст
Запускаем - делаем выводы.
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Michael Bulychev, мне кажется или вы потеряли основную мысль обсуждения?
Цитата
Старатель пишет:
С колбеками, вроде, понятно: если в колбеке одного скрипта вызывается потокобезопасная функция, то работа основного потока QUIK и дополнительного main этого скрипта "замораживается" на время выполнения функции.
А если потокобезопасная функция вызывается в main, окажет ли это влияние на потоки других скриптов?
Надо делать так, как надо. А как не надо - делать не надо.
Показывать последнее значение на графике цены
 
Как сделать, чтобы последнее значение цены отображалось над значением индикатора?
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Цитата
Michael Bulychev пишет:
На другие скрипты никак не влияет
Но пока выполняется потокобезопасная функция основной поток терминала "заморожен", информация с сервера не поступает, колбеки не вызываются. Это вы называете "никак не влияет"?
Надо делать так, как надо. А как не надо - делать не надо.
Ввод заявки
 
Цитата
swerg пишет:
Про какой рынок речь?
Речь про все рынки.
При выборе кода клиента вываливается весь список, независимо от класса инструмента и выбранного счёта.
Надо делать так, как надо. А как не надо - делать не надо.
Автомасштабирование графиков
 
Цитата
swerg пишет:
почему масштаб вы именно такой сделали, а не крупнее/мельче?
я про формальный признак, а не "мне так удобно"
В данном случае, масштаб я выбрал по признаку "мне так удобно". Но можно сделать, например, таким образом, чтобы, в границы диаграммы попадал индикатор за крайние 20 свечей.
Вы можете предложить свой вариант.
Надо делать так, как надо. А как не надо - делать не надо.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
С колбеками, вроде, понятно: если в колбеке одного скрипта вызывается потокобезопасная функция, то работа основного потока QUIK и дополнительного main этого скрипта "замораживается" на время выполнения функции.
А если потокобезопасная функция вызывается в main, окажет ли это влияние на потоки других скриптов?
Надо делать так, как надо. А как не надо - делать не надо.
Ввод заявки
 
Цитата
Zoya Vdovina пишет:
1) Никак.В терминал приезжает весь список кодов клиентов.
2) Правильно ли мы понимаем, что Вы хотите в форме ввода заявки выбирать Торговый счёт и что бы по торговому счёту подставлялся нужный клиентский код?
Пусть "приезжает" весь список кодов, я что, против?
Я просто хочу, чтобы в поле "Код Клиента" вываливался не весь доступный список кодов (а иногда и старых), а только тех, что соответствуют выбранному Торговому Счёту.
Если в QUIK нет чёткого соответствия Код Клиента - Торговый Счёт (хотя, как же нет, когда есть такая настройка "Указывать счет депо по коду клиента"), то сделайте настройку через ini-файл:
Код
Торговй_Счёт=Список_Кодов_Клиентов
Надо делать так, как надо. А как не надо - делать не надо.
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
 
Задача:
Есть робот, торгующий по индикатору, рассчитываемому на основе графика цены.
Нужно сделать контроль данных с графика на случай "потери" части свечей сервером (такое иногда случается).
Кто как контролирует этот процесс? Или все полагаются на "авось"?
Надо делать так, как надо. А как не надо - делать не надо.
Цена заявки не соответствует установленному диапазону
 
Ну, судя по
Цитата
geradigger пишет:
На самом деле на бирже тоже есть диапазон цен, и соответствующие параметры: максимально и минимально возможная цена.
"Версия 10.5.0
© ARQA Technologies, январь 2014
1. Возможности новой версии
1. Параметры «Макс/Мин возможная цена» на фондовом рынке.
Добавлена возможность трансляции параметров «Максимально возможная цена» и «Минимально возможная цена» на всех возможных режимах торгов фондового рынка."
биржа уже транслирует предельные границы цен на фондовом рынке. Осталось выяснить, как узнать эти границы?
Сотрудники ARQA могут помочь в этом вопросе?
Надо делать так, как надо. А как не надо - делать не надо.
Цена заявки не соответствует установленному диапазону
 
sam063rus, и какие параметры у вас транслируются?

У меня кроме
Цитата
sam063rus пишет:
Дополнительные параметры для инструментов Секции срочного рынка Московской Биржи
ничего более не транслируется.
Параметры "Нижняя граница" и "Верхняя граница" присутствуют у класса ЕТС, но они по нулям.  
Надо делать так, как надо. А как не надо - делать не надо.
Цена заявки не соответствует установленному диапазону
 
Цитата
Alexey Ivannikov пишет:
Диапазон цен биржи - мин/макс цена.
Для фондового рынка они транслируются? У меня нет таких параметров для инструментов фондового рынка.
Надо делать так, как надо. А как не надо - делать не надо.
Что приходит в OnTransReply ?
 
Цитата
Sergey Gorokhov пишет:
в OnTransReply едут ответы на все транзакции и не важно от куда они до этого отправлялись.
Ерунда! OnTransReply не приходят на транзакции, поданные вручную.
Надо делать так, как надо. А как не надо - делать не надо.
Цена заявки не соответствует установленному диапазону
 
Цитата
Alexey Ivannikov пишет:
Ошибка, описанная в старттопике - есть диагностика сервера QUIK, не торговой системы. Брокер сам по собственному усмотрению может устанавливать ограничения цен в заявках, и диагностическое сообщение будет именно таким, как описал автор темы.
Тогда тем более не понятно, почему нельзя узнать диапазон цен, установленных брокером на сервере?

Цитата
Alexey Ivannikov пишет:
А это уже биржевое сообщение, означающее что Вы не попали в ценовой диапазон торговой системы.
Цитата
Старатель пишет:
Какой параметр ТТП показывает это значение?

Короче, каким образом, можно узнать диапазон допустимых цен?
Надо делать так, как надо. А как не надо - делать не надо.
Ввод заявки
 
Как сделать, чтобы в окне ввода заявки в поле "Код клиента" отображались только те коды, которые соответствуют выбранному торговому счёту?
И как сделать, чтобы, если выбранному торговому счёту соответствует только один код клиента, то этот код автоматически подставлялся в соответствующее поле?
Надо делать так, как надо. А как не надо - делать не надо.
Цена заявки не соответствует установленному диапазону
 
Цитата
Alexey Ivannikov пишет:
Такого параметра не предусмотрено. Данное сообщение появляется тогда, когда цена не попадает в диапазон, установленный брокером, не биржей
А это чьё сообщение?
Цитата
ОШИБКА: (579) Для выбранного финансового инструмента цена должна быть не меньше 63.85
Какой параметр ТТП показывает это значение?

Цитата
geradigger пишет:
1. Возможности новой версии
1. Параметры «Макс/Мин возможная цена» на фондовом рынке.
Добавлена возможность трансляции параметров «Максимально возможная цена» и «Минимально возможная цена» на всех возможных режимах торгов фондового рынка."
Это возможности новой версии чего? У меня в списках нет таких параметров для фондового рынка.
Надо делать так, как надо. А как не надо - делать не надо.
Автомасштабирование графиков
 
Добрый день.
Сделайте функцию "интеллектуального автомасштабирования" по оси Y графика с наложенным индикатором таким образом, чтобы в область диаграммы попадал график цены и правая часть индикатора.
Чтобы было понятно:
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
6.17.0.58 bugs collection, разработчикам на заметку. (все остальные - прошу проходить мимо и не засорять топик)
 
Цитата
Stanislav Tvorogov пишет:
Цитата
Дмитрий пишет:
В итоге в (отдельном) окне с индикатором отображается шкала по вертикали от 9 до 24 и все первые 8 значений индикатора не видны.
Описанная ошибка будет исправлена в одной из ближайших версий программы.
А я предлагаю добавить отдельную опцию для индикаторов "Автоматически масштабировать" - иногда требуется видеть только близкие к цене значения индикатора, а далёкие от графика цены - не важны.
Надо делать так, как надо. А как не надо - делать не надо.
Цена заявки не соответствует установленному диапазону
 
Какой параметр для фондовой секции показывает значения цен этого диапазона?
Надо делать так, как надо. А как не надо - делать не надо.
Узнать таймфрейм графика
 
Цитата
Дмитрий пишет:
Можно в начале работы получить время самой первой и второй свечи
Да, спасибо. Для моей задачи (отслеживание изменения таймфрейма на втором графике) можно запомнить время первых двух свечей с помощью getCandlesByIndex. Если время любой свечи изменилось - значит изменён таймфрейм.
Правда есть вероятность, что при изменении таймфрейма время свечей не изменится. Но она не велика.
Надо делать так, как надо. А как не надо - делать не надо.
Узнать таймфрейм графика
 
Цитата
Валентин пишет:
http://bot4sale.ru/blog-menu/qlua/spisok-statej/419-how-to-know-timeframe.html
Я думал об этом... Довольно не надёжное решение, к тому же слишком затратное, если нужно мониторить, не изменился ли таймфрейм.

Задача стоит следующая: построить индикатор, рассчитанный по значениям с графика
1) на который индикатор наложен
2) и с другого, заданного идентификатором tag

Так вот, при изменении таймфрейма второго графика индикатор должен автоматически пересчитаться.
Надо делать так, как надо. А как не надо - делать не надо.
Узнать таймфрейм графика
 
Как узнать таймфрейм графика с заданным идентификатором?
Надо делать так, как надо. А как не надо - делать не надо.
Индикаторы
 
https://forum.quik.ru/forum13/topic503/
Надо делать так, как надо. А как не надо - делать не надо.
Перекодировка в LUA
 
Цитата
Viktor MMM пишет:
Что за парсер вас интересует? В смысле, вытащить отдельно % потерь или еще чего? Скажите, сделаю.
Напишите кусок кода, который у вас получится, который сохраняет результат в лог. А то самому в лом писать.  ;-)
Надо делать так, как надо. А как не надо - делать не надо.
Депозит на демо, Нужно обновить
 
Сбербанк на демке теперь нельзя шортить?
Надо делать так, как надо. А как не надо - делать не надо.
Перекодировка в LUA
 
При выполнении команды
Код
io.popen('echo |chcp 1251|echo тест')
я получаю через раз, то
Цитата

тест
то
Цитата

вҐбв
Как это можно объяснить?
Надо делать так, как надо. А как не надо - делать не надо.
Перекодировка в LUA
 
Код
io.popen('echo |chcp 1251|dir')  
io.popen('echo |chcp 861|ping www.quik.ru')

Что интересно, с dir можно и на русском, а ping на русском не получается.

Viktor MMM, с вас - парсер результатов вывода. А то мне лень самому делать.
Надо делать так, как надо. А как не надо - делать не надо.
Перекодировка в LUA
 
Цитата
Viktor MMM пишет:
Не понял что значит &&?
Это значит:
Цитата
Viktor MMM пишет:
Чтоб не новая "сессия" командной строки начиналась, а в составе той, что с пингом
Выполните в командной строке - поймёте.
Надо делать так, как надо. А как не надо - делать не надо.
Перекодировка в LUA
 
Код
io.popen('chcp 1251 && ping www.quik.ru')
Но это не помогает
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
up
Цитата
Старатель пишет:
На боевом сервере мс не транслируются для параметров.
Цитата
Старатель пишет:
Можете объяснить результаты?
Надо делать так, как надо. А как не надо - делать не надо.
Индикаторы
 
Зарегистрируйте также, чтобы функцию getDataSourceInfo() можно было использовать в Settings
Надо делать так, как надо. А как не надо - делать не надо.
Таблциа Истории
 
Цитата
Sergey Gorokhov пишет:
Цитата
Старатель пишет:
Биржа отправляет всем брокерам одинаковые параметры? Т.е. временные "срезы" для всех брокеров одни?
нет, разные
Получается на бирже ведётся таблица истории для каждого подключённого к ней аккаунта?
Надо делать так, как надо. А как не надо - делать не надо.
Таблциа Истории
 
Цитата
Sergey Gorokhov пишет:
Раз в период, с биржи приезжает кучка параметров. Эта кучка отправляется от сервера клиенту. Клиент в свою очередь, обновляет только те данные которые приехали, а те которые не приехали оставляет в предыдущем значении. раз в промежуток между срезами были изменения, то биржа отправит эту самую кучку.
Биржа отправляет всем брокерам одинаковые параметры? Т.е. временные "срезы" для всех брокеров одни?
Надо делать так, как надо. А как не надо - делать не надо.
Таблциа Истории
 
Код
  tDS = CreateDataSource(sClassCode, sSecCode, INTERVAL_TICK, 'OPEN')
  tDS:SetUpdateCallback(function(nIndex) PrintDbgStr(tostring(tDS:C(nIndex))) end) 
Надо делать так, как надо. А как не надо - делать не надо.
Таблциа Истории
 
Sergey Gorokhov, вы меня тролите что ли?
Цитата
Серж пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
Дмитрий пишет:
добавить в функцию OnParam(STRING class_code, STRING sec_code) еще один параметр, сообщающий, изменение значений каких именно параметров ТТП привело к вызову этой функции
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
А пока данное пожелание не реализовано, разумно ли вместо OnParam использовать функции CreateDataSource и SetUpdateCallback на каждый из отслеживаемых параметров? Не окажет ли это негативного влияния на производительность?
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
s_mike@rambler.ru пишет:
Цитата
Старатель пишет:
Переключился на тиковый интервал: секунды появились. Но милисекунды не транслируются.
А теперь переключитесь с демо спотана демо фортс или на боевые торги.
Я имел ввиду для параметров из ТТП. На боевом сервере мс не транслируются для параметров.

Ещё такой вопрос.
Код
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  message('[main] '..tostring((tDS:Close())), 2)
end
Результат: [main] true

Код
local bRun, tDS = true
function OnStop()
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
  message('[main] '..tostring((tDS:Close())), 2)
end
Результат: [main] nil

Код
local bRun, tDS = true
function OnStop()
  message('[OnStop] '..tostring((tDS:Close())), 2)
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
end
Результат: [OnStop] nil

Код
local bRun, tDS = true
function OnStop()
  message('[OnStop] '..tostring((tDS:Close())), 2)
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
  message('[main] '..tostring((tDS:Close())), 2)
end
Результат:
[OnStop] nil
[main] false

Можете объяснить результаты?
Надо делать так, как надо. А как не надо - делать не надо.
Узнать дату последней сделки
 
Цитата
sam063rus пишет:
TRADE_DATE_CODE DOUBLE Дата торгов
Кстати, откуда вы взяли, что строковый параметр TRADE_DATE_CODE типа DOUBLE ?
Надо делать так, как надо. А как не надо - делать не надо.
Узнать дату последней сделки
 
sam063rus,
Цитата
Старатель пишет:
Узнать дату последней сделки можно только с графика?
Надо делать так, как надо. А как не надо - делать не надо.
Узнать дату последней сделки
 
Узнать дату последней сделки  можно только с графика?
Надо делать так, как надо. А как не надо - делать не надо.
Архив графиков
 
sam063rus, сравните параметр "Общее кол-во" в ТТП и Volume на графике.
Надо делать так, как надо. А как не надо - делать не надо.
Архив графиков
 
Цитата
sam063rus пишет:
а откуда такая информация, что в ТТП они учитываются (если речь, конечно о количестве всех сделок "NUMTRADES")?
Речь о "VOLTODAY". Посчитал.
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: Пред. 1 ... 33 34 35 36 37 38 39 40 41 42 43 ... 46 След.
Наверх