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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 77 След.
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Нет, нельзя
почему? есть внятное объяснение?
Сомнение в нашей компетенции не является основанием.
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Что Вы с ним делать-то будете?
Читать.
Воспроизводить
Анализировать
И в итоге выдать решение проблемы или по крайней мере объяснить.
Цитата
Владимир написал:
Тем более, без описания.
но мне не нужно, поверьте я тоже программист и тоже с нехилым опытом.
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Я абсолютно точно знаю, что мне пришлось бы МЕСЯЦ рассказывать, что и как делает код
НЕ надо ничего рассказывать.

Цитата
Владимир написал:
Вы хотели отслеживать a? Ну, рискните - вот её описание:
Никто у Вас не спрашивал "описание"

нужен просто код. Всё.
без слов.
без объяснений.
скопировать содержимое проблемного lua файла и вставить сюда.
так можно?
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Sergey Gorokhov, Не вижу смысла. Тем более, что я за это время самостоятельно разобрался, почему возникают глюки.
Цитата
Sergey Gorokhov написал:
4) Если не хотите сотрудничать то увы ничем помочь не можем.
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Sergey Gorokhov, SP- строка (массив) на три числа, а - сложное, разветвлённое дерево объектов с разнообразной информацией по тикерам, отследить которое не представляется возможным. В частности, этот код выполняется в "большом" прерывании, инициализация - в main, визуализация результатов - малом,обновление - в разных местах.
В виде КОДА а не слов.
Цитата
Владимир написал:
Sergey Gorokhov, Сергей, я 40 лет программистом, причём системщик, был даже когда-то в соавторы бортовой операционки включён. Поверьте, я кое-что смыслю в программировании.  ::  

Для того чтобы выложить "полную версию кода которая не работает" не надо быть программистом
Функции onInit, onStop, onClose
 
Владимир,
У Вас есть понимание что фраза "полная версия кода которая не работает." означает что в коде должно быть всё для того чтобы его можно было запустить и получить ошибку?
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Вот, я "повторил проблему на более компактном коде" - ошибка очевидна: у интерпретатора краша съезжает при вложенной индексации.

где в Вашем примере кода "a" и "SP"?
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Там алгоритмически сложный код, в котором любой запутается, а тут простейшее действие, выделенное мною после "ругательств" интерпретатора на арифметику.
1) Поверьте, поддержку это совсем не пугает
2) Вы понимаете что без отслеживания значений в "a" и "SP" разобраться в причинах не представляется возможным?
3) Можно повторить пробелму на отдельном, более компактном коде.
4) Если не хотите сотрудничать то увы ничем помочь не можем.
Функции onInit, onStop, onClose
 
Владимир,
Логично предположить что Вам надо привести свою версию кода которая не работает.
ПОЛНУЮ версию кода, а не пару строк которые ничего не значат
Функции onInit, onStop, onClose
 
Цитата
Nikolay написал:
Если у Вас в SP[a[i][1][1]] ничего нет, т.е. nil, то и будет ошибка.

он говорит что в SP[a[i][1][1]] что-то есть.
иначе, вот это ..SP[2]); - вернуло бы nil, а оно возвращает "0: SP[2]=0"
a[i][1][1]] равно 2, потому что
message(i..": SP["..a[i][1][1].."]"); -- печатает "0: SP[2]"
Функции onInit, onStop, onClose
 
Владимир,

Пример кода:
Код
local i = 0;
local a = {
   [0] = {
      [0] = {
         [0] = 1,
         [1] = 2
      },
      [1] = {
         [0] = 1,
         [1] = 2
      }
   }
};

local SP = {
   [0] = 2,
   [1] = 1,
   [2] = 0
}
message(i..": ");            -- печатает "0: "
message(i..": SP["..a[i][1][1].."]");      -- печатает "0: SP[2]"
message(i..": SP["..a[i][1][1].."]="..SP[2]);   -- печатает "0: SP[2]=0"
message(i..": SP["..a[i][1][1].."]="..SP[a[i][1][1]]);


не воспроизводится
Более быстрый способ, all_trades
 
Цитата
Костя написал:
В ОБЩЕМ проблема не решена
Если требуется анализ приложите полную версию скрипта.
перестало работать снятие активной заявки
 
Цитата
Владимир написал:
Александр, А зачем там вообще double? Код заявки - ЦЕЛОЕ число! Эксперимент показал, что его разрядности достаточно. Какому дебилу понадобилось объединить int и float в идиотский number, да ещё и на уровне исполнения использовать именно float? Мало других способов поймать приключения на свою задницу?

Просьба сдерживаться в выражениях иначе придется принять меры.

https://www.lua.org/manual/5.3/manual.html#2
The type number uses two internal representations, or two subtypes, one called integer and the other called float.
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
ОЙ! Спасибо, конечно,  Sergey Gorokhov , И повторяю пожелание: нельзя ли дать возможность редактировать свои комменты - скажем, в течение 5 минут?

К сожалению ядро форума не предоставляет такой возможности.
В ближайшее время подобный функционал к добавлению не планируется.
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Я не понимаю, ЧТО Вы считаете "примером кода".

например так:

Здравствуйте, у меня не работает функция SetColor, помогите.
пример кода:
Код
function main()
   local iT = AllocTable()
   AddColumn(iT, 1, "test1", true, QTABLE_CACHED_STRING_TYPE, 10)
   AddColumn(iT, 2, "test2", true, QTABLE_CACHED_STRING_TYPE, 10)
   CreateWindow(iT)
   SetWindowCaption(iT,"test")
   InsertRow(iT,1)
   SetCell(iT, 1, 1, "test1")
   SetCell(iT, 1, 2, "test2")
   SetColor(iT, 1, 2, 255, 0)
end


ответ такой:

У Вас не хватает параметров в функции SetColor,
исправьте так:
Код
SetColor (iT, 1, 2, 255, 0, -1, -1)
Функции onInit, onStop, onClose
 
Цитата
Владимир написал:
Sergey Gorokhov ,Господи, да я и привёл пример кода, даже с комментариями!
Это не пример кода, а лишь пара строк по которым нет никакой возможности воспроизвести проблему.
Функции onInit, onStop, onClose
 
Владимир,
Цитата
Владимир написал:
1. Не работает раскраска ячеек: вызов SetCell меняет содержимое ячеек "автоматически", а вот на SetColor она пилюёт: всё остаётся чёрно-белым, а я бы хотел раскрасить таблицу как попугая: цвет - это тоже информация, и весьма наглядная.
Для анализа нужен пример кода, на котором воспроизводится проблема.

Цитата
Владимир написал:
2. Попытка динамически обновлять количество строк в таблице закончилась крахом. Я делал так:
Для анализа нужен пример кода, на котором воспроизводится проблема.
Словесное описание во всех подобных вопросах только вносит смуту и порождает лишние вопросы.
Проще - быстрее - надежней, привести пример кода на котором повторяется проблема (а не пару строк), тогда и решение Вы получите в разы быстрее.
Более быстрый способ, all_trades
 
Попробуйте SearchItems
Развитие Trans2Quik
 
Цитата
Юрий Z написал:
Данное API уже позволяет получать тики в обход qlua/qpile? Как знаю, оно уже давно значительно не обновлялось.

Нет не позволяет, но это же не делает его не "API для внешних программ"
если Вам нужен аналог qlua/qpile то для этого уже есть FIX Client Connector
но он платный.
Запуск скрипта через dofile
 
Цитата
Сергей написал:
В случае, если lua скрипт, запускаемый через окно Доступные скрипты, будет содержать только одну строчку dofile("Адрес скрипта lua, который хотим запустить"), могут ли быть какие то странности в работе такого скрипта по сравнению с тем, если бы он был запущен напрямую?

Если скриптов будет несколько, то в них не должно быть функций с одинаковыми именами, в остальном не должно быть проблем.
Развитие Trans2Quik
 
Цитата
Юрий Z написал:
Так же бы хотелось видеть расширение API для внешних программ, взаместо уступающих qlua/qpile.

Trans2Quik - это и есть  расширение API для внешних программ
Как убрать нуль после точки?, .0
 
Владимир,
То что ситуация повторяется не всегда, совершенно не значит что мы сможем разобраться по отдельным строкам кода.
Просьба привести полный пример кода на котором повторяется проблема, иначе разбор может затянуться на века.

Например, Вы знаете что  функция tonumber может принимать два параметра, а не один, и если случайно передать туда что попало во второй параметр, то тоже будет nil?
мы же не знаем что Вы туда передаете. ну "s" и что? а вдруг эта самая "s" и не "s" вовсе, а функция или еще что. Вот и получается что мы можем только гадать как у Вас там устроено, а Вы будете эти догадки отметать. И так по кругу пока воображения на догадки хватает.
Роботы всякие и прочие глупости
 
Цитата
s_mike@rambler.ru написал:
Сергей,

вот и приведите эту последовательность. Или последовательности.

только желательно в общем виде. Я пытался многими способами и все равно время от времени получаю от людей, которые пользуются моими роботами логи, в которых видны невообразимые чудеса в вопросе получаемых роботами данных.

Как уже было сказано и еще раз повторим, надежного способа НЕТ.
Нельзя надежно определить что данные актуальны в условиях непрерывно поступающих данных.
Можно примерно оценить актуальность, сравнивая текущее время с временем на самих данных (тут уже могут быть разные варианты с синхронизацией часов и т.п.)
Если Вы скажите, что это не надежно, то будете абсолютно правы, потому что как уже было сказано надежного способа НЕТ.
Роботы всякие и прочие глупости
 
s_mike@rambler.ru,
Михаил, к чему это все?
Мы же с Вами уже не один год общаемся и ровно этот вопрос совершенно точно уже обсуждали.
ответ не поменялся, надежного способа нет, есть разные варианты которые могут дать более менее правдивую оценку актуальности данных.
Таблица транзакций
 
Цитата
Старатель написал:
В OnTransReply как прочитать этот параметр?

Такой возможности нет
таблицы сделки и позиции, добавить поле
 
Попробуйте настройку
Преобразование целого числа в строку в QUIK 8.8+
 
Nikolay,
Тема про "math.tointeger" возникла из-за появления ".0", к большим числам она не относится.
Автор хотел исследовать вопрос и ему было предложено такое решение для ознакомления

Цитата
Nikolay написал:
С другой стороны, не очень понятно зачем вообще применять форматирование для чисел типа integer. tostring итак их выводит корректно. Если только вы не гарантируете тип integer для номера заявки. Но тогда это будет уже другой разговор
применять форматирование не нужно, в той же ветке сказано что tostring будет работать с большими числами, собственно Вы и сами это говорили.

По сути, с числами есть две проблемы, первая это появление ".0" у любых чисел, и эта проблема чинится предложенной функцией.
Вторая это некорректное преобразование 19ти значных дробных чисел в строку и решения для нее нет.
Но в практике, 19 ти значные числа есть только в номерах заявок/сделок, а для них нет никаких практических задач которые могли бы привести к преобразованию их в дробное число.
Преобразование целого числа в строку в QUIK 8.8+
 
Nikolay,
Допустим. А зачем делать арифметические операции с номером заявки/сделки?
Статус сессии.
 
Kolossi,
Да Вы правы, предложенный вариант с tradingphase не решает поставленной задачи.
Согласно биржевому протоколу, в указанном параметре tradingphase нет отдельного признака для вечерней сессии, а значит и в QUIK Вы его никак увидеть не сможете.
Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки, Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки
 
Цитата
Сергей написал:
Правда, хелп QUIK'а (info.chm от 20.07.20) версии 8.8.4 (ftp.quik.ru//public/updates/8.8/quik_8.8.4_upd.zip от 21.08.20) все еще упорно говорит нам о том, что там decimal, да еще и с 15 знаками в целой части.
Это ошибка в документации
приносим извинения.
Документацию обязательно поправим
SetCell
 
Цитата
Старатель написал:
Это указано и в 6, 7, 8.1 версиях. И там SetCell работает нормально с необязательным пятым параметром
Это ничего не значит
Как уже было сказано в соответствии с документацией, последнего параметра не должно быть, а Вы его передаете. Значит формально функция SetCell выдает правильный результат.
Если ранее работало по другому значит ранее работало не правильно.
SetCell
 
В документации сказано:
Цитата
Для столбцов со строковыми типами данных параметр «value» не задается.

т.е. формально, Вы указали параметр которого не должно быть и значит должен быть false
если его убрать то функция вернет true
Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки, Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки
 
Цитата
Алексей Украинцев написал:
Сергей, почему тогда у меня это не получается?
Читайте внимательней.
Цитата
Sergey Gorokhov написал:
К сожалению произошла ошибка, через терминал QUIK при экспорте по ODBC передать параметр номера заявки в виде числа нельзя.
Цитата
Sergey Gorokhov написал:
Да, это просто опечатка. В виде строки нельзя.
SetCell
 
Старатель,
просьба уточнить что передается в переменных. А еще лучше приведите полный код на котором повторяется проблема
Преобразование целого числа в строку в QUIK 8.8+
 
Цитата
Александр М написал:
Что еще предложите?
Предлагаем быть более внимательным в передаче параметров в функцию.
от куда у Вас возьмется параметр "x" если есть только переменная "a"?
Функция getParamEx возвращает нули по параметрам максимальная, минимальная цена для акций, проблемы с переходом на новую версию qlua
 
Alexey,
Откройте в терминале QUIK Таблицу Текущих Торгов и добавьте туда параметры Мин и макс возможной цены по классу TQBR
Убедитесь что они там действительно есть и в них действительно есть числа, после чего повторите попытку запуска скрипта.
Преобразование целого числа в строку в QUIK 8.8+
 
тут надо заметить что метод работать только для чисел меньше 9223372036854775807
Цитата
Sergey Gorokhov написал:
https://forum.quik.ru/forum10/topic5119/
10й вопрос.
Преобразование целого числа в строку в QUIK 8.8+
 
https://forum.quik.ru/forum10/topic5119/
10й вопрос.
Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки, Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки
 
Цитата
Юрий Балашов написал:
Вы наверное описались, когда пишите, что "передать параметр номера заявки в виде ЧИСЛА нельзя" и имели ввиду что в виде СТРОКИ нельзя?
Да, это просто опечатка. В виде строки нельзя.
Цитата
Юрий Балашов написал:
Не могли бы Вы дать ссылку как создать таблицу при помощи QPILE.
Это описано в документации на терминал QUIK, глава "Раздел 8. Алгоритмический язык QPILE"
Цитата
Юрий Балашов написал:
Это секретные данные???MSSQL слишком специфичная база, не могли бы Вы сказать будет ли работать на базе Oracle 8?
Будет работать вообще на любой БД в которой есть подходящий тип данных.
Сколько таких БД существует к сожалению затруднимся сказать, наверное очень много. И по этому мы не можем привести такой список.
Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки, Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки
 
Цитата
Юрий Балашов написал:
В соседнем обсуждении Вы пишите, что номер заявки передается как строковый, я попробовал, но Квик (версия 8.5) не дает возможности передать в базу данных строку "Номер" заявки как строковую переменную, только как числовую.
К сожалению произошла ошибка, через терминал QUIK при экспорте по ODBC передать параметр номера заявки в виде числа нельзя.
Альтернативный вариант в виде использования QPILE таблиц, где указать строковое значение в виде номера заявки, далее эту таблицу сохранять по ODBC.

Цитата
Юрий Балашов написал:
Вы можете сказать, на каких КОНКРЕТНО базах данных, желательно с версией базы, такая передача данных проверялась.
нет не можем.
на MSSQL совершенно точно проблем не обнаружено, можете использовать ее.
Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки, Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки
 
Цитата
Юрий Балашов написал:
Да, проблема действительно в FB, Квик передает данные, но усеченные, не все 19 цифр. Поэтому и был вопрос, на какой базе данных тестировали передачу данных по ODBC?
на разных базах, но FB точно не проверялся.
Цитата
Юрий Балашов написал:
На какой тип данных изменить, в самой базе у меня стоит DOUBLE PRECISION?
рекомендуем ознакомиться с документацией на FB и в ней найти нужный тип, который вмещает 19 символьные числа (если вообще там такой имеется).

Цитата
Юрий Балашов написал:
Вдогонку, можно ли передать номер заявки как строковый?

По идее да, если в базе строковый тип данных, однако совершенно точно именно для FB мы сказать не можем. рекомендуем проверить это самостоятельно.
Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки, Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки
 
Цитата
Юрий Балашов написал:
Сегодня, при переходе на 19-тизначный номер заявки произошел сбой передачи данных по ODBC и соответственно робот встал :(. База на FB сервере, система Win7, Квик 8.5.2.11, Брокер - Кит_Финанс. Насколько я понимаю причина в том, что FB не поддерживает 19 знаков. На какую базу можно перейти? Надеюсь разработчики не отказались полностью от передачи данных по ODBC и тестировали ее хоть на какой-то базе?

Дополним,
Если проблема действительно в FB то обновление терминала никак не поможет.
ответ следует искать на форумах где обсуждается FB.
Еще можно попробовать изменить тип данных в самой базе.
Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки, Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки
 
Цитата
Юрий Балашов написал:
Сегодня, при переходе на 19-тизначный номер заявки произошел сбой передачи данных по ODBC и соответственно робот встал :(. База на FB сервере, система Win7, Квик 8.5.2.11, Брокер - Кит_Финанс. Насколько я понимаю причина в том, что FB не поддерживает 19 знаков. На какую базу можно перейти? Надеюсь разработчики не отказались полностью от передачи данных по ODBC и тестировали ее хоть на какой-то базе?
Попробуйте обновиться до последней версии, сейчас это 8.8.4

Цитата
Юрий Балашов написал:
Кстати, теперь номер заявки идет не по порядку выставления заявки, а по какому-то другому принципу. Например заявки по SiU0 имеет меньший номер чем GDU0, даже если она была выставлена намного позже. Так и было задумано или это какой-то сбой? И как теперь упорядочить таблицу заявок?
Это вопрос к бирже а не к нам, они так транслируют.
Если вкратце, то на бирже произошло так называемое портицирование метчинга, в результате которого сделки нумеруются в зависимости от базового актива, а не от инструмента.
Неправильная работа TRANS2QUIK.DLL после перехода на 19-значные номера заявок и сделок, тип данных double не может вместить 19 знаков корректно
 
Здравствуйте,
Используйте версию 1.3, которая вышла уже очень много лет назад.
Скачать можно на нашем сайте https://arqatech.com/upload/iblock/80a/Trans2QuikAPI_1.3_x64.zip
futures_client_holding выдает значение nil
 
Здравствуйте,
Проверьте визуально есть ли нужная строчка в таблице Позиции по клиентским счетам (фьючерсы)
Если нужной строчки нет, то и значения не будут возвращаться
MOVE_ORDER на фондовом рынке мос.биржи?
 
Цитата
Старатель написал:
На Junior будет этот вид транзакций?

на Junior нет биржевой фондовой секции и никогда не было, там работает наш эмулятор.
так что у него нет ничего общего с ядром ТС, в том числе и транзакции перестановки заявок.
Доработка в этом месте не планируется
Квик сжирает оперативку, Квик сжирает оперативку
 
СергейК,
Еще раз если не понятно.
Список изменений - один у всех, потому что у всех одинаковые терминалы, отличаются только настройки.
Дистрибутивы на нашем сайте это дистрибутивы настроенные на наш демо контур.
Из этого следует что читать списки изменений можно, а вот ставить дистрибутив джуниора в надежде подключиться к брокеру лучше не стоит.
Квик сжирает оперативку, Квик сжирает оперативку
 
Цитата
СергейК написал:
Ну я б не стал себе ставить Junior когда мне надо обновить программу.  

А кто Вас заставляет?
Квик сжирает оперативку, Квик сжирает оперативку
 
СергейК,
Кстати, без разницы изменения в Junior или нет, потому что терминалы у всех брокеров одинаковые, отличаются только настройки.
Есть проблема с метками, удаляются все метки, а не конкретного инструмента
 
Mikhail Ran,
Михаил,
что именно не понятно во фразе "все метки на диаграмме"?
диаграмма означает как раз все окно.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 77 След.
Наверх