s_mike@rambler.ru (Все сообщения пользователя)

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 23 След.
Контекстное меню в Lua-таблицах
 
Цитата
Старатель написал:
Когда баг будет исправлен?
завтра )
Получение списка параметров класса, Нужно получить список параметров для каждого класса.
 
Цитата
s_mike@rambler.ru написал:
Звёздочкой форум заменил название известного  * .

Знают, пользуют )
*
Получение списка параметров класса, Нужно получить список параметров для каждого класса.
 
Звёздочкой форум заменил название известного  * .

Знают, пользуют )
Получение списка параметров класса, Нужно получить список параметров для каждого класса.
 
Можно было бы перебрать возможные параметры через createdatasource и откинуть те, на которые получен отказа подписке .

но!

Createdatasource подобна верблюду (что у него прямое?) и всегда возвращает успешную подписку, хоть на существующую бумагу, хоть на ролики с  *

разработчики обещают исправить уже несколько лет, но, видимо, некогда, смотрят ролики с  * .
Ondstroy и режим связанных окон
 
Цитата
Egor Zaytsev написал:
Ошибка найдена и обязательно будет исправлена в одной из будущих версий ПО.Об этом мы писали в теме письма:  https://forum.quik.ru/messages/forum10/message30289/topic3532/#message30289
Уважаемые разработчики.

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

Ошибки будем исправлять или наплевать на них и вообще пропади он пропадом, этот квик?
Обработка ошибок - открыт ли файл., Обработка ошибок - открыт ли файл.
 
io.type (obj)

Проверяет, является ли obj валидным хендлером файла. Возвращает строку "file" если obj –
открытый хендлер файла, "closed file" если obj закрытый хендлер файла, или nil
если obj не является хендлером файла.
Createsource и смена сессии
 
Цитата
Sergey Gorokhov написал:
Цитата
s_mike@rambler.ru написал:
сейчас, когда терминал не может внятно сказать, удачно ли он подписался на котировку,
Да и это ошибка, которую мы уже изучили и уже признали.

Цитата
s_mike@rambler.ru написал:
нет возможности отследить, почему нет котировок. Или нет свечей в принципе,
да такой возможности нет, и сам сервер этого не знает.
От куда серверу знать будут ли торги по инструменту или трейдеры вообще ничего сегодня не купят?
никто этого знать не может
и сервер тоже не может.

Цитата
s_mike@rambler.ru написал:
или они ещё не получены, или подписка не прошла.
Это та же тема что и первый пункт про неправильный статус createdatasource?
Если так то ответ уже был.
ответ к делу не пришьешь.

я вам писал о неправильном ответе createdatasource уже лет 5 назад и вы регистрировали, рассматривали, обсуждали, митинговали, постановили и дали торжественные обещания. Результат известен.
Createsource и смена сессии
 
Цитата
Sergey Gorokhov написал:
s_mike@rambler.ru,
Не понятно причем тут это, речь же была про подписку а не про свечи.
Свечи да могут быть обрезаны с лева, нумерация при этом сдвинется.
работа с котировками инструментов  у меня - единый объект, который и подписки делает и с историей работает. В том числе занимается кэшированием. Поэтому при переподключении необходимо пересоздать весь объект, который при создании переподпишется и дальше снова начнет создавать кеши котировок.

сейчас, когда терминал не может внятно сказать, удачно ли он подписался на котировку, нет возможности отследить, почему нет котировок. Или нет свечей в принципе, или они ещё не получены, или подписка не прошла.
Createsource и смена сессии
 
Цитата
Sergey Gorokhov написал:
Цитата
Сергей написал:
По размышлению возник вопрос, а зачем вообще при дисконнекте закрывать потоки, созданные createdatasource()? Они автоматом разве не закроются? Что вообще произойдет с открытым потоком, если соединение разорвется, а затем восстановится?

Терминал QUIK автоматом закроет поток если он не используется.
При реконнекте подписка не теряется.
а разве нумерация свечей останется неизменной? Старые свечи разве не могут обрезаться?
Lua 5.4 будем встраивать? )))))
 
https://www.lua.org/work/
Создание индикатора внутри скрипта
 
Цитата
Александр написал:
Спасибо. А если рассчитать значения в скрмпте, можно как-нибудь отрисовать их на графике?
стандартными средствами - нет
Автостоп
 
Привяжите к окну событиe на закрытие окна, в нем устанавливаете флаг, что нужно завершить скрипт. В главном потоке время от времени этот файл просматривайте и завершайте свой скрипт.
Создание индикатора внутри скрипта
 
Нет, нельзя.

самый правильный путь - это рассчитывать индикаторы прямо в скрипте. Тем более что это несложно
Проигрывание мелодии - информация о сделке., Оповещение пользователя о редких событиях в скрипте - как решаете эту задачу.
 
Возьмите новую, например здесь

require "bot4sale64"

success_code,error_string = bot4sale64.PlaySound(sound_file)
Createsource и смена сессии
 
Странно, что терминал выдает успех на cresteddatasource, если реальная подписка не осуществлена.

и вдвойне странно, что если на oncleanup подписаться не смогли, то почему то и на onconnected тоже не удается..
Createsource и смена сессии
 
Спасибо.

то есть в моем варианте все манипуляции на сигнал oncleanup просто не нужны и oncleanup всегда предваряет onconnected?
Компилятор под 8,5
 
Цитата
kbrobot.ru написал:
Здравствуйте!
У кого-нибудь есть версия компилятора под версию Квика 8,5?
Lua 5.3

Оно?
Createsource и смена сессии
 
Сам код привести довольно трудно. он весьма объёмный

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

Подписка на событие  oncleanup выглядит элементарно:

oncleanup.subscribe(function()
unsubscribe()
subscribe()
 end)

сначала отписываемся ото всего, потом подписываемся. Реальный вызов функции subscribe происходит не в колбеке, а ставится в очередь в процессе main

все те же действия происходят и по onconnected ровно тем же механизмом

onconnected.subscribe(function()
unsubscribe()
subscribe()
 end)

И с onconnected проблемы не возникают.

проверки возвращаемого значения createdatasource есть.
Веселые гистограммы
 
Цитата
Evgeniy Karnaukhov написал:
   s_mike@rambler.ru, здравствуйте.

Насколько мы правильно понимаем, демонстрируемый Вами индикатор не является стандартным графиком QUIK. Наиболее вероятно, это - индикатор, созданный сторонним разработчиком на LUA-скрипте. Поэтому для уточнения информации рекомендуем обратиться непосредственно к разработчику скрипта.
о. Арка наняла новеньких, они ещё въезжают.. ))

Евгений. Смысл поста вы том, что путем изменения настроек индикатора можно нарушать вид шкал и легенду диаграмм. Что является наглядным примером качества продукта.  Да ещё как выясняется и сотрудникинсотрудники в состоянии осознать написанное.
Createsource и смена сессии
 
После получения сигнала смены сессии я отписываюсь от всех инструментов и подписываюсь заново. Как понимаю, это необходимо при возможном изменении истории инструмента при смене сессии.

Подписка на инструмент сразу после смены сессии ошибок не возвращает, но и "мёд не носит" - свечи не приходят, колбек не дергается.

Как нужно делать правильно?

Спасибо.
Веселые гистограммы
 
Цитата
Imersio Arrigo написал:
Так их там три всего, и самая широкая в три пикселя.
Я вот совсем не копенгаген, где кого три и кто там самый толстый,

но если в пользовательском индикаторе сделать тип линии гистограмма и ширину линии 100, то на экране появится воскресший Сальвадор Дали.
Веселые гистограммы
 
Цитата
Imersio Arrigo написал:
Доктор, а как вы сделали такие широкие гистаграммы? я тоже хочу.
Тайное знание находится в настройках индикатора:  ширина линии  :wink:  
Веселые гистограммы
 
Строим индикатор с гистограммами (первый рисунок)

Увеличиваем ширину гистограмм - второй рисунок


Враги  съели легенду. Если сделать ширину еще больше - они сожрут и таймлайн (третий рисунок)
os.time Lua 5.3
 
А что проверять то? Пример по ссылке в 5.1 работает (результат даже приведен) , а в 5.3 нет. Вот и вся проверка.


ВУИГП = DEBUG
os.time Lua 5.3
 
Не совсем так, город белых штанов тут не при чем.

os_time берет секунды и первым делом отсчитывает от них часовой пояс. Если взять 0, то при часовом поясе европа получается 1969 год и луа огорчается.

касаемо 5.1.   Не замечалось. Быстрее всего там была возможность работать с отрицательным юникстиме без преобразования os.date. в 5.3 решили навести порядок и при пересборке своих скриптов в режиме ВУИГП (проверках всего и вся) я и увидел эту шляпу.

Проверять что было в 5.1 лень.
os.time Lua 5.3
 
Перекомпилировал свои скрипты, наткнулся:

Открываем https://www.lua.org/pil/22.1.html,  Видим пример

print(os.time{year=1970, month=1, day=1, hour=0})      --> 10800

Не верим, проверяем.

print(os.time{year=1970, month=1, day=1, hour=0})
Console:1: time result cannot be represented in this installation

И правильно не верим, как выясняется. И в терминале и в стандалоне одинаково.

а вот

print(os.time{year=1970, month=1, day=1, hour=0})


Оказывается.

Теперь lua смотрит часовой пояс. У меня часовой пояс +1, и
print(os.time{year=1970, month=1, day=1, hour=1}) работает и дает 0

Смотрел в документацию на луа - ничего не нашел. На 5.1 в часовой пояс луа не смотрела.
Кто может написать простой скрипт на Lua для индивидуального графика-индикатора?, написать простой скрипт на Lua для индивидуального графика-индикатора
 
А напишите мне почтой, что вам требуется. Возможно я вам что то готовое порекомендую.
Кто может написать простой скрипт на Lua для индивидуального графика-индикатора?, написать простой скрипт на Lua для индивидуального графика-индикатора
 
А зачем писать этот индикатор?

Вы можете вывести эти данные на график стандартным способом, просто в терминале
Обработка ошибок из функции main
 
Используйте luac.exe для проверки синтаксиса перед запуском скрипта.  
Не указан режим транзакций, При исполнении скрипта сервер возвращает ошибку : "Не указан режим транзакций "
 
Александр, давайте посмеемся вместе ..

поищите текстовым редактором в вашем тексте


CLAS_SCODE
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
И правда, чё там.  Надо автомобиль сбацать- базару нет! Берем четыре колеса, четыре стула, эта, таво....  а! две калитки, одну мою, вторую соседскую - и пару бутылок беленькой. И забацаем до вечера. Чё мы, хуже мерина с поршом? И стоить будет 1000 рублей, из них половина - бухло.
Вопрос про Сallback-и и их потерю
 
Чушь.
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
Поддержать на словах труда никакого. Вы поддержите фининсово, оплатите необходимую вам работу - и разработчики с удовольствием все сделают. У вас есть лишние деньги , изменяющиеся сотнями тысяч рублей или все проще поставить версию 8?
Не указан режим транзакций, При исполнении скрипта сервер возвращает ошибку : "Не указан режим транзакций "
 
Цитата
Александр Зайченко написал:
Проверил : classcode = "TQBR" ,  взято из Текущей таблицы параметров ...
Проблема та же.
Александр, я вам гарантирую ,проблема что проблема в отсутствующем коде класса в транзакции.

наведите резкость, посмотрите, как вы передаёте код класса в транзакцию.
Не указан режим транзакций, При исполнении скрипта сервер возвращает ошибку : "Не указан режим транзакций "
 
проверьте код класса в транзакции
QTABLE_INT_TYPE QTABLE_INT64_TYPE
 
Цитата
Egor Zaytsev написал:
Добрый день,
     
      Действительно, есть ошибка записи действительных значений в       целочисленные колонки. Ошибка будет исправлена в будущих       обновлениях ПО.
      Приносим извинения за причиненные неудобства.
Тогда заодно исправьте и индикаторы.Если задать в тексте на луа

Settings = {   ['PARAM'] = 5,
   line = чегототам
}

то при старте индикатора setting.Param содержит (int) 5, а после изменения его пользователем уже (float) 5.0
QTABLE_INT_TYPE QTABLE_INT64_TYPE
 
Цитата
Sergey Gorokhov написал:
s_mike@rambler.ru,
по идее должно быть целое число 123
Однако как оказалось возвращается не то.
Проблема изучается. Постараемся в ближайшее время дать ответ.
О чем и речь....
QTABLE_INT_TYPE QTABLE_INT64_TYPE
 
текcтовое представление не рассматриваем вообще


Сергей, я правильно понял, что

при записи в столбец qtable_int64_type переданное значение 123.45 всегда будет преобразовано в int64 (123) и именно в таком виде запомнено где-то в кишках терминала?

По getcell я получу уже именно как lua integer (123) ? Или я получу его как float (lua number) с обрезанной дробной частью (123.0)? или все же я получу исходный lua number 123.45?
Массив (таблица) в OnCalculate
 
Не используйте unpack, если индикатор может иметь значение Ия nil в любой линии.
QTABLE_INT_TYPE QTABLE_INT64_TYPE
 
по факту оказывается, что в в колонки int и int64 можно писать и int и  int64. Значения показываются, никаких округлений не происходит.

читать как

по факту оказывается, что в в колонки int и int64 можно писать и integer и  double. Значения показываются, никаких округлений не происходит.
QTABLE_INT_TYPE QTABLE_INT64_TYPE
 
Сергей, я не знаю, как более понятно объяснить.

давайте попробую так:

есть тип колонки qtable-string-type.  В него можно записать значение типа string

есть qtable_double_type для плавающих чисел

есть qtable_int_type. Логично предположить, что в эта колонку можно записать только integer

по факту оказывается, что в в колонки int и int64 можно писать и int и  int64. Значения показываются, никаких округлений не происходит.

какая в таком случае разница между qtable_int qtable_int64 и wtable_double?  Никакой.

отсутствие разницы было как то объяснимо на луа 5.1. сейчас же на луа 5.3 после введения integer типа  ожидаешь соответствия, но по прежнему все валится в одну кучу


более подробно не могу.  Если опять непонятно - надо уже просить помощь зала.
QTABLE_INT_TYPE QTABLE_INT64_TYPE
 
Цитата
Sergey Gorokhov написал:
Цитата
s_mike@rambler.ru написал:
Я правильно понимаю, что колонки пользовательских таблиц этих типов по прежнему уверенным домкратом выводят float циферки? )
Приведите пример для понимания вопроса
Дорогая редакция!

Создайте пользовательскую таблицу на языке qlua, одну колонку сделайте типом QTABLE_INT64_TYPE и выведите в нее число 1.2345

Я слышал, что 1.2345 никак не есть int64. Возможно меня обманули....
QTABLE_INT_TYPE QTABLE_INT64_TYPE
 
Я правильно понимаю, что колонки пользовательских таблиц этих типов по прежнему уверенным домкратом выводят float циферки? )
Линия тренда
 
С некоторым рукоблудием рисовать тренды при помощи луа индикаторов все-таки можно
Куплю и раздам функции для LUA 5.3 x64, Нужны w32.dll lfs.dll qvcl.dll.
 
Автологин для Quik 8.5
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Сеорее всего компилируете неподходящей версией luac
Реализация скользящего стопа
 
Цитата
Иван написал:
Пересмотрел все виды стопов в Quik и не совсем понимаю как реализуется скользящий стоп на Lua?
Это простое и банальное удаление и перевыставление стопа на Lua?
Смотрите условную заявку Тейк+Стоп. С ее помощью трейлинг стоп с фиксированным (неизменным) отступом от экстремума цены делается на раз.
Перезапуск LUA-скрипта из-за ошибок
 
Что мешает написать такой скрипт самому? Все средства для этого есть.
Раскрытие графика во весь экран - сделать по двойному щелчку мыши
 
Если закрыть дверь туалета на висячий замок, то как туда попасть?

Да никак, вы сами этот замок повесили.
Какая кодировка используются в Lua?
 
Цитата
Николай Камынин написал:

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

пример - строки луа.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 23 След.
Наверх