s_mike@rambler.ru (Автор тем)

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

Страницы: Пред. 1 2
Новая очередная дырка
 
В продолжение темы  https://forum.quik.ru/forum10/topic3045/


индикатор рисует на графике метки.
в ondestroy() эти метки стираются.


накладываем индикатор на график. Размножаем график через Ctrl-N

удаляем индикатор с исходного графика: ondestroy срабатывает, метки удаляются
удаляем индикатор с размноженного графика. Ну вы поняли....
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
CreateDataSource: блуждания
 
Здравствуйте


Очередная непонятка с CreatedDataSource


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

Чтобы каждый раз не открывать таблицу обезличенных сделок, через CreateDataSource подписываюсь на тиковый интервал котировок. Как понимаю, этго достаточно в любом случае, чтобы обезличенные сделки поехали с сервера в терминал и стали доступны для чтения в скрипте. Или недостаточно?

Каждое утро далее при подключении к серверу (приходу oncleanup) скрипт по необходимым ему инструментам делает подписку
Код
local _class,_code = string.match(instrument,"^(%w+)#(%w+)$")
local ds,err = CreateDataSource(_class,_code,INTERVAL_TICK)
if not ds then               -- Нет такого инструмента
    log.write("Инструмент ",instrument," не найден: ",err)
    return
end
ds:SetEmptyCallback()
table.insert(database.ds,ds)
log.write("Подписка на инструмент ",instrument," успешна")

Вроде бы все чистенько - если есть какие-то проблемы (недоступен инструмент или что-то в этом роде) - мы получим ошибку. Если ошибок нет, значит подписка успешна и ждем обезличенные сделки.

Конечно на самом деле все не так )) Вот фрагмент лога quik 7 11 1 5, демо арка
Код
03:17:50.887 Смена сессии
03:17:50.887 on cleanup
03:17:50.887 database.init
03:17:50.887 Отписка от всех инструментов
03:17:50.965 Отписались от всех инструментов
03:17:51.075 Today=05.10.2017 Четверг
03:17:51.075 get_stock_list {[1]=QJSIM#GAZP,[2]=QJSIM#SBER,[3]=SPBFUT#GZU7}
03:17:51.075 Add instrument QJSIM#GAZP
03:17:51.075 Подписка на инструмент QJSIM#GAZP успешна
03:17:51.075 Добавлен инструмент QJSIM#GAZP
03:17:51.075 Add instrument QJSIM#SBER
03:17:51.075 Подписка на инструмент QJSIM#SBER успешна
03:17:51.090 Добавлен инструмент QJSIM#SBER
03:17:51.090 Add instrument SPBFUT#GZU7
03:17:51.090 Подписка на инструмент SPBFUT#GZU7 успешна
03:17:51.090 Добавлен инструмент SPBFUT#GZU7
03:17:51.090 Получено 0 сделок
03:17:51.215 Получено 0 сделок
03:17:51.340 Получено 0 сделок
03:17:51.465 Получено 0 сделок
03:17:51.590 Получено 0 сделок
и далее ни одной сделки не получено, хотя все подписки успешны. Озадачивает и нервирует. Торги идут, график бегает. Открываю руками таблицу обезличенных сделок - и чудо:
Код
05:50:52.231 Получено 0 сделок
05:50:52.356 Получено 0 сделок
05:50:52.481 Получено 0 сделок
05:50:52.606 Получено 104 сделок
05:50:52.731 Получено 204 сделок
05:50:52.887 Получено 255 сделок
05:50:53.028 Получено 250 сделок
05:50:53.153 Получено 274 сделок
05:50:53.309 Получено 251 сделок
05:50:53.434 Получено 322 сделок
05:50:53.653 Получено 263 сделок
05:50:53.965 Получено 252 сделок
05:50:54.215 Получено 251 сделок
05:50:54.356 Получено 260 сделок
05:50:54.528 Получено 265 сделок

В чем состоит недоступное мне сокровенное знание? Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Tradedate
 
Здравствуйте.

Вопрос по tradedate. В какой момент происходит ее изменение?

Мой тест содержит колбек oncleanup и выводит в ог значение tradedate


Запущен вчера утром (воскресенье) к демо-серверу в районе 9-00 утра. При запуске тест вывел текущую tradedate

Рабочее место QUIK 7.11.1.5
24-Сен-2017  Воскресенье RTZ 2 (зима) +0300
08:58:11.890 Подключено к Информационно-торговая система ARQA (91.209.122.220:15100)
08:58:11.890 tradedate=24.09.2017

и оставлен работать. Работал больше суток.

Сегодня 25--Сен-2017, полдень

За это время колбек oncleanup пришел однажды - сегодня в 10 утра


10:00:25.764 on cleanup
10:00:25.796 tradedate=24.09.2017


И мы снова видим ту же самую вчерашнюю дату, что у меня вызывает недоумение и вопрос: "как так?"


-----------------------------------------------------

Может, есть другой, более правильный способ определить дату текущих торгов?



Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Похоже очередная дырка в qlua
 
есть индикатор, который в том числе рисует метку на графике.

При удалении индикатора в колбеке ondestroy эта метка удаляется. Все хорошо.

Пробуем индикатор в режиме связанных окон. При переключении инструмента-источника метка не удаляется, ondestroy не вызывается

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

Смеха для: регистрируйте ))
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
OnStop
 
Добрый день.
Два вопроса.

1. Колбек OnStop выполняется при закрытии терминала и при остановке из диалога. Мне по этим двум событиям необходимо делать разные действия. Как отличить одно от другого?

2. При закрытии терминала закрываются все окна скрипта. При этом функции обратного вызова от этих окон активны и выполняются. Это верное утверждение?

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Createdatasource error list
 
Здравствуйте.

1. Нельзя ли усидеть полный список возвращаемых ошибок?

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


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

-- был oncleanup
get class info()

for ticker in instrument_list printlog(createdasource(ticker))

в результате среди сотни успешных подписок иногда встречаются неудачные. Обычно это неликвидный мусор.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Феерическое
 
Утром мне звонит клиент и тыкает в меня палкой: твоя писанина не работает.
Смотрю: и правда не работает, причем разваливается прямо в хлам по непонятной причине. Полдня глаза ломал. Нашел. Вот вам скриншот:

http://my-files.ru/8k8pxz/1.PNG

Это графики газпрома в боевых торгах. Терминал 7 11 1 5, брокер церих

смотрим на нижний график. таймфрейм 30 минут, торги за 29,30 и 31 мая.
А теперь смотрим на верхний график.. Таймфрейм 4 часа. А где, ....ь 30 мая????
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Порядок следования в ТОС
 
Задача. Хорошо,у вывести содержимое ТОС по классу TQBR в файл.

последовательность моих действий в скрипте:

1. Спрашиваю состав бумаг класса
2. Делаю подписку на каждую бумагу на тиковом диапазоне.
3. Периодически читаю ТОС на предмет новых сделок через SearchTable. Все полученное пишу последовательно в файл.

я хочу получить отсортированную по времени ТОС последовательность сделок в файле.

не тут-то было...

в терминале установлен заказ обезличенных сделок по Газпрому, соберу и лукойлу. На другие инструменты заказа нет.

что я получаю в файле (скрипт запущен после окончания торгового дня)

1. Сначала идёт полный список сделок с 10-00 по 18-45 по Газпрому
2. Далее вперемешку сделки ЛУКойла и сбербанка, тоже полный день с 10-00 до 18-45
3. И только после этого идут сделки по всем остальным инструментам в правильной последовательности в соответствии со временем.

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

однако хотелось бы понять:
1. Чем Газпром отличается от ЛУКойла со сбером
2. Как выводить сделки в файл в правильной последовательности в соответствии со временем.
3. Можно ли решить задачу полностью из луа без беганья с бубном по всевозможным настройкам в терминале?

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Получить заново таблицу обезличенных сделок
 
В окне заказа обезличенных сделок есть кнопка "получить заново".

можно ли отследить нажатие этой кнопки из луа?

спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Производительность библиотеки bit
 
Неожиданный результат: О ПОЛЬЗЕ INLINE-КОДА ИЛИ БИБЛИОТЕКА BIT
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
table.s*
 
Добрый день.

Господа разработчики. Я правильно понимаю, что в функциях table.s* семафоры/состояние проверяется с частотой 10 раз в секунду или мне это только кажется?

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Статус инструмента
 
Добрый день.

Подскажите, можно ли получить параметр status без создания таблицы текущих торгов?

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Размер стека
 
Ув. разработчики.

Каков размер стека в реализации qlua?

Можете ли предложить способы увеличения  размера стека ?

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Тест наличия идентификатора графика
 
Кв. разработчики!

Каким образом можно отличить  незаданный идентификатор графика от графика, на котором нет счечей?

не смог придумать вариант . GetLinesCunt при неправильном идентификаторе выдает 0, по другим функциям тоже не придумалось ничего полезного.

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Несчастное окно
 
Разработчики уже несколько лет насилуют несчастное окно "Доступные скрипты".


У меня оно сейчас выглядит так:



Размеры окна радуют при том что  изменить размер этого окна пользователь не может

Про открытие в нужной вкладке уже и не пишу....
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
SetUpdateCalback result value
 
Здравствуйте.


BOOLEAN res SetUpdateCallback (FUNCTION callback_function) В качестве параметра принимает  Функция возвращает «true» в случае успешного завершения, иначе – «false».  


В каких случаях вернется false, что для этого должно произойти?

Аналогично про setemptycallback


Спасибо.

www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Шлюз
 
Ув. разработчики!

Есть ли возможность узнать у шлюза Фортс информацию о наличии эмуляции в нем рыночных ордеров?


Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Фишечка - индикатор оставшегося времени до окончания свечи
 
вот он

www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Add/SetLabel
 
Здравствуйте.


Насколько я понимаю, метки из луа выставляются асинхронно по отношению к скрипту. В этом случае:

  1. Как узнать, что метка отработана и соответствующий BMP файл более не требуется?
  2. Что происходит, когда метка еще не отработана, но из скрипта поступает новое указание типа setlabel?
Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
TRANSPARENT_BACKGROUND
 
Добрый день.

Ув. разработчики. Не могу понять, как работает флаг TRANSPARENT_BACKGROUND

Что я делаю.

1. Беру BMP-32 (тип 3 или 4) с альфа-каналом
2. Ставлю его на диаграмму в качестве метки вручную. Галка прозрачность - и все прекрасно: фон прозрачный.
3. Пробую поставить программно через qlua. Изгалялся как только мог - картинка устанавливается, но выглядит неправильно: не получается получить прозрачность на пикселях с нулевым альфа-каналом.

Каким должен быть набор флагов у AddLabel, чтобы установить битмап с прозрачным фоном?

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Объемы покупок и продаж интрадей
 


Можно скачать.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
SetUpdateCallback
 
Добрый день.

Какие ошибки возможны при выполнении этой функции кроме данных неверного типа?


Спасибо
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Пустые значения индикатора
 
Добрый день.

Каким образом, получая значения индикатора посредством getcandlebyindex, отличить пустое значение индикатора от установленного и равного 0?

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
getinfoparam
 
Добрый день. Не могу осознать.

Вот фрагмент скрипта, выполняющийся в цикле потока main

log.trace("***4")
server_time = "00:00:00"                    ---getInfoParam("SERVERTIME")
log.trace("***5 ",server_time)

В таком виде все прекрасно работает, в логе верные цифры, никаких проблем нет.

Если я заменяю 00:00:00 на получение серверного времени, то через некоторое (разное) время зависает главный поток терминала. При этом логирование ВСЕГДА завершается выводом цифры 4. Эффект абсолютно стабильный, самомодификации кода в скрипте нет.

В колбеках идет активная работа со стаканами, таблицей сделок и обработка .tro файла

В чем может быть проблема? Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Проблема с демо-контуром
 
{type="L",action="NEW_ORDER",trans_id="471144752",classcode="SPBFUT",seccode="RIM5",quantity="1",operation="B",price="100490",account="SPBFUT00a79"}

Ошибка создания заявки. [FORTS][333] "Нехватка средств по брокерской фирме.".



Поправить бы ситуацию...
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
ртс, маркет ордер
 
Сергей Горохов, здравствуйте.

Касаемо эмуляции рыночных заявок на шлюзе.

Является ли на текущий момент эта возможность стандартной и гарантируется ли ее работа вне зависимости от факторов брокера и т.п.?


Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Volume At Price для QUIK
 


Кто хочет потестировать индикатор - пожалуйста, обращайтесь

mikemsk
s_mike@rambler.ru
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Количество линий индикаторе
 
Мне потребовалось сделать индикатор с нулевым количеством линий. Иначе говоря, в нем не должно быть никаких настроек линий.

Однако мне это не удалось: "Ошибка создания индикатора"

Нехорошо это...
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Таблица всех сделок
 
Добрый день, вопрос к разработчикам.

Колбеки оналлтраде приходят по разным инструментам не обязательно в порядке возрастания времени. Таблица всех сделок терминала на взгляд формируется сразу в хронологическом.

Какой подход использует терминал для упорядочивания?

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Операция в таблицк всех сделок
 
Демо-контур от арка.  6 17 1 17


Не заполняется столбец Операция

www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Поле count
 
Здравствуйте.

Вопрос к разработчикам.


Были ли изменения в последних версиях в поле count структуры datetime?


Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Несколько мониторов и getposition
 
Господа разработчики.

Вы сделали поддержку нескольких мониторов. А что насчет getposition() и setposition() ?
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
SetTableNotificationCallback
 
Добрый день

Особенность работы колбеков от окошек скрипта. Последовательность действий.


Пишем скрипт, который открывает окно, назначает колбеки и после этого делает некоррекную операцию, типа индексирует значение nil

Запускаем. Скрипт отрисовывает на экране окно и падает. Как и планировалось.

Окно остается на экране. (само по себе не гуд)

Убираем ошибку в скрипте, запускаем скрипт снова

Теперь на экране 2 одинаковых окна

Пробуем закрыть "мертвое" окно, оставшееся от первого запуска скрипта (или какое-то другое действие с ним)

В скрипте, который работает (в котором нет ошибки) мы получаем колбек от "мертвого" окна, не являющегося собственностью скрипта.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
T()
 
T()

Время свечи возвращается с точностью до миллисекунд в виде таблицы с полями:
{year, month, day, week_day, hour, min, sec, ms, count}
Где:
  • count – количество тиковых интервалов в секунду. Может принимать значения от «1» до «10000» включительно.
Нельзя ли чуточку поподробнее про параметр count? Неясен его смысл.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Профиль
 
Невозможно очистить местоположение
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Страницы: Пред. 1 2
Наверх