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

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

Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 71 След.
Как заполнить дыры в графике, Нужны свечи при отсутствии торгов
 
Здравствуйте,
Такой возможности нет.
Но можно пропускать пустые свечки (к слову в наших примерах так и сделано)
Для проверки есть функция CandleExist
Странное поведение функции при передаче ей массива
 
Цитата
VNG_nemo написал:
Код могу выложить, не проблема. Немного громоздкий, но зато весь откомментирован.
да выложите код
Странное поведение функции при передаче ей массива
 
Трудно сказать, не видя всего кода.
Но скорей всего проблема в потокобезопасности.
в документации QLUA.chm, глава "Потокобезопасные функции для работы с таблицами Lua"

а вообще, для передачи чего либо в функцию, придуманы аргументы функции.
Баг в квике под virtualbox
 
Здравствуйте,
Цитата
Сергей написал:
скажите, если кто-нибудь еще работает в квике под виртуалкой
Виртуалка тут совершенно не причем.
Цитата
Сергей написал:
у вас индикаторы, например, фрактал или параболик отображаются со смещением влево или вправо относительно графика?
Само по себе смещение графика озвучено в документации
-Раздел 4. Работа с графиками
--Окно «Графики»
---Типы графиков
Цитата:
Цитата
При отображении в одной области построения более одного графика графики смещаются по горизонтали относительно друг друга на 1-2 пикселя для избежания наложения «фитилей» свечей разных графиков.

Цитата
Сергей написал:
До версии 7.20 еще можно было терпеть, индикатор смещался влево и вправо в зависимости от того, выше или ниже графика он находится.
оно и сейчас так работает.

Цитата
Сергей написал:
На картинке индикатор фрактал, верхняя его часть на месте, нижняя сместилась вправо.
У Вас индикатор явно не встроенный а самописный, проверьте поведение на встроенном индикаторе.
Выбор источника данных для скрипта, Обсуждение выбора наилучшего источника данных для скрипта
 
Цитата
Mikhail Ran написал:
если график не открыт, то данных не получить :(

Нужно подписаться на данные через SetUpdateCallback или SetEmptyCallback
Прошу помочь разобраться с получением данных, Как получить данные с графика не создавая источник данных и не прописывая идентификатор.
 
VNG_nemo,
Да конечно же нужны квадратные скобки.
Кроме того, функции O, H, L, C, V, T нужно использовать внутри OnCalculate
правильно так:
Скрытый текст
Прошу помочь разобраться с получением данных, Как получить данные с графика не создавая источник данных и не прописывая идентификатор.
 
замените
Код
dt=T(i)

на
Код
dt(i)=T(i)


либо
Код
message(tostring(dt(i).hour))


на

Код
message(tostring(dt.hour))


на Ваш выбор
как подключить .dll к lua скрипту , который выполняется в quik?, как подключить .dll к lua скрипту , который выполняется в quik?
 
Здравствуйте,
Через функцию require
Код
require('имя_DLL')
Прямоугольник, Цель нарисовать програмно прямоугольник на графике.
 
Цитата
Alex написал:
т.е. функция отрисовки элементарных графических примитивов в QUIK - ОТСУТСТВУЕТ  
Не так, можно нарисовать картинку через AddLabel, но это будет именно картинка, в смысле bmp
таким образом можно нарисовать что угодно в том числе и элементарные графические примитивы.

Цитата
Alex написал:
Когда такая возможность будет реализована ?
Мы не разглашаем планы по доработкам. Можем предложить зарегистрировать от Вас пожелание, тогда при реализации Вы получите уведомление
Прямоугольник, Цель нарисовать програмно прямоугольник на графике.
 
Цитата
Alex написал:
Цитата
Sergey Gorokhov написал:
Функция AddLabel рисует метки а не графические фигуры,
 Как нарисовать "графические фигуры" программно ?  

На это уже был ответ выше:

Цитата
Sergey Gorokhov написал:
рисовать можно только через механизм меток, см функцию AddLabel
Пропадает функция в процессе выполнения, не могу записать лог в определенных местах кода, хотя функция логирования срабатывает до и после этих мест
 
Цитата
Сергей написал:
  myLog(msg)    -- ругается так: attempt to call global 'MyLog' (a nil value)

В Lua регистр имеет значение.
MyLog это НЕ тоже самое что myLog

Проверьте внимательней, раз в тексте ошибки большая буква M то и в коде она такая же, хотя Вы это не указали.
Автосохранение таблицы котировок, Сохранение таблицы котировок в qlua
 
Здравствуйте,
В документации QLUA.chm (лежит в папке с терминалом) приведены функции:
раздел "Функции для заказа стакана котировок" - для заказа данных по стакану (чтобы руками не открывать стакан)
раздел "Функции обратного вызова" глава "OnQuote" - описание колбека OnQuote который срабатывает при обновлении данных по стакану.
раздел "Функции взаимодействия скрипта Lua и Рабочего места QUIK" глава "getQuoteLevel2" описывает функцию получения данных из стакана.

Сами функции сохранения данных в txt являются частью самого lua, их описание можно найти в документации на Lua
пример функции записи в файл
Скрытый текст
Прямоугольник, Цель нарисовать програмно прямоугольник на графике.
 
Цитата
Alex написал:
Спрашиваю: как с помощью функции AddLabel нарисовать на графике прямоугольник с привязкой по координатам цена/время ?
Функция AddLabel рисует метки а не графические фигуры, и об этом явно сказано в документации.
В функционале меток есть возможность наложить на график графический рисунок через параметр IMAGE_PATH
Координаты расположения метки на графике указываются в параметрах YVALUE (ось ординат) и DATE + TIME (ось абсцисс)
Кроме того можно указать расположение картинки относительно текста в параметре ALIGNMENT
Все эти параметры приведены в документации.
Пример наложения метки может быть следующим:
Скрытый текст
Прямоугольник, Цель нарисовать програмно прямоугольник на графике.
 
Цитата
Sergey Gorokhov написал:
Проверьте в свойствах файла нет ли блокировки
Специально для тех кто сомневается в компетенции совета.
https://vellisa.ru/chm-fayl-windows
Прямоугольник, Цель нарисовать програмно прямоугольник на графике.
 
Цитата
Alex написал:
Зачем писать глупости, Сергей  ???  ... сознательно тупить чтобы пользователи ничего не спрашивали больше ?
Не хотите прислушаться к рекомендациям, Ваше право, никто не заставляет.


Цитата
Alex написал:
Не читается CHM ни на одном из моих компов, есть эта инфа в PDF ???
PDF содержит тоже самое то и chm, кроме того по приведенной ссылке есть отдельные pdf содержащие дополнительную информацию.

Цитата
Alex написал:
ПРИМЕР ВЫЛОЖИТЕ СЮДА  ... вместо 3 строк кода, идиотская переписка 2-ой месяц
Все примеры которые есть приведены по ссылке.
Если что то не понятно из документации достаточно просто спросить и Вам помогут.
Порядок отслеживания процесса выполнения транзакций
 
Цитата
PFelix написал:
А принципиальная в нем необходимость/отличительные особенности,

В нашем модуле айсберг это только одна из многих алго транзакций

Цитата
PFelix написал:
, если биржа (возможно, не все секции?)сама айсберги поддерживает/обеспечивает?

на МБ айсберги есть не на всех рынках.
Порядок отслеживания процесса выполнения транзакций
 
Цитата
PFelix написал:
Про биржевой, вообще-то.  
тогда вопрос на биржу.


Цитата
PFelix написал:
Сергей, а он "программированию поддается" (программно можно такую заявку выставить)?
Да можно. Это такая же транзакция как и любые другие.
И все-таки это не ошибка в коде, Странное поведение таблицы всех свечек
 
VNG_nemo,

Проблема не воспроизводится
Скрытый текст



выложите код на котором воспроизводится
Прямоугольник, Цель нарисовать програмно прямоугольник на графике.
 
Цитата
Alex написал:
У меня почему-то этот CHM не читается ни на одном из 3 компьютеров, оглавление загружается ок, но в поле текста - пустота. Везде стоит Win7 и разные версии.
Другие CHM читаются,  но ваш - нет, в чем может быть Может данная инфа дублирована в PDF ? В тех пдф что идут в комплекте, её нет.
PS: не трудно ли ответить всем кто интересуется данным вопросом в этой ветке и дать пример отрисовки прямоугольника  по заданным координатам ?

Проверьте в свойствах файла нет ли блокировки
pdf есть по ссылке:
https://arqatech.com/upload/iblock/194/quik_lua.zip
Доступ к методам технического анализа из QLua
 
Здравствуйте,
Можно получить данные через функцию getCandlesByIndex
можно в коде самого Lua скрипта воспроизвести расчет индикатора
примеры есть по ссылке:
https://arqatech.com/upload/iblock/398/INDICATORS.zip
Порядок отслеживания процесса выполнения транзакций
 
PFelix,
давайте еще раз, есть биржевой айсберг, а есть наш разработанный через отдельный модуль.
Вы про какой говорите?
Порядок отслеживания процесса выполнения транзакций
 
Цитата
PFelix написал:
полностью не перечитал.

На бирже по ФР и ВР есть биржевые айсберги, они поддерживаются в QUIK, если их у Вас нет, надо просить брокера.
Порядок отслеживания процесса выполнения транзакций
 
Цитата
PFelix написал:
Если есть,  -- Где такие заявки "хранятся" (брокер / биржа)?

В QUIK есть свои собственные айсберг заявки, это отдельный алго-модуль
Они хранятся на сервере QUIK
И они работают как с ФОРТС так и с другими рынками.
Порядок отслеживания процесса выполнения транзакций
 
Цитата
PFelix написал:
Есть такое на FORTS?
Это вопрос к биржевому протоколу.
Порядок отслеживания процесса выполнения транзакций
 
Цитата
PFelix написал:
Есть ли в "арсенале" QLUA нечто специально "заточненное", чтобы программно "понять", что "данный" сервер какие-то нужные скрипту "параметры" НЕ транслирует?
такой возможности нет.
Можно толь проверить получает ли скрипт данные или нет.
Если не получает значит что то не так.
Порядок отслеживания процесса выполнения транзакций
 
PFelix,
Стопы хранятся на сервере брокера и их обрабатывает непосредственно сервер QUIK по поступающей с биржи информации.
Таким образом, если забыть про то зачем в принципе созданы стопы, то по сравнению с лимитками они лучше тем что транзакция уходит до биржи сразу с сервера QUIK.
Например это полезно как раз если канал от терминала до брокера слишком медленный.
Если интересуют какие-то другие аспекты "обработки" готовы ответить на конкретные вопросы.
стал ли Квик быстрее?
 
Цитата
Женя Логинов написал:
В ваших мануалах указывается, что для снижения нагрузок и проч, квик не передаёт отдельно каждое обновление по котировкам, а накапливает данные с одинаковыми параметрами цены, и выдаёт разом все... я так понял.
Термин "накапливает" тут неуместен, он не накапливает а передает срезами, т.е. раз в период.
Это значит раз в период шлюз отправляет запрос на биржу и получает ответ в виде текущей картины стакана.

Цитата
Женя Логинов написал:
В общем ключевой момент 300мс и он был в вашем мануале. Не помню с точностью до страницы, но я его не выдумал.  
Речь идет про параметр таймаута между запросами, сейчас в дистрибутиве он установлен в 100мс
Как оно настроено у брокера, вопрос к брокеру.
Не изменяется отображение линии независимо от указанного в Settings, Нужно поменять тип линии, но этого не происходит.
 
Цитата
VNG_nemo написал:
Это была шутка? Сергей, все осталось без изменения. В диалоговом окне редактирования линия указана дашдот, а на чарте сплошная.
Это не шутка, линия TYPE_DASHDOT масштабируется вместе с графиком. т.е. если на графике много свечек то визуально будет сплошная линия, если мало свечек то будет видно точка тире.
Цитата
VNG_nemo написал:
Кроме того, прошу Вас ответить на вопрос выше - как такое может быть, что на Н4 и ниже все норм, а при переходе на дневки и выше массив перестает переиндексироваться.
ответ уже был см выше.
Не изменяется отображение линии независимо от указанного в Settings, Нужно поменять тип линии, но этого не происходит.
 
Цитата
VNG_nemo написал:
Локализовал проблему о которой писАл выше. Если в код Init()  в цикл добавить отладочные выражения, то видно, что в строке tposixByTime[tDT[k]] = k не происходит присваивания и длина массива равна нулю, хотя с массивом tDT[k] все ОК, и его длина при проверке после выхода из цикла равна количеству свечей. В чем засада?
З.Ы. На ТФ Н4 все работает, на дневном - нет.
Код
      for  k =  0 ,NmbrOfCandles -  1    do 
      count  =  count  +   1 ;  if  count  >   100000   then   break   end ;
 --преобразуем в POSIX-формат поле datetime 
 --транспонируем таблицу - индексируем по времени       
      tDT[k]  =  os.time (t[k].datetime);
      tposixByTime[tDT[k]]  =  k;
       if  k =  =  1   then  
          message ( "Init_tDT_ "  .. tostring(tDT[k]))
       end 
       if  k =  = NmbrOfCandles -  1   then 
          message ( "Init_tDT_tposixByTime_ "  .. tostring( # tDT) .. " " .. tostring( # tposixByTime))
       end       
    end 
  

Это уже особенность самого lua

Если указать так
Код
tposixByTime={}
tposixByTime[2] = 1;
tposixByTime[3] = 2;
 message("tposixByTime="..tostring(#tposixByTime))


то будет ноль.
если так:
Код
tposixByTime={}
tposixByTime[1] = 1;
tposixByTime[2] = 2;
 message("tposixByTime="..tostring(#tposixByTime))


то будет два.

объяснение в документации на Lua
Цитата
2.5.5 – The Length Operator
The length operator is denoted by the unary operator #. The length of a string is its number of bytes (that is, the usual meaning of string length when each character is one byte).

The length of a table t is defined to be any integer index n such that t[n] is not nil and t[n+1] is nil; moreover, if t[1] is nil, n can be zero. For a regular array, with non-nil values from 1 to a given n, its length is exactly that n, the index of its last value. If the array has "holes" (that is, nil values between other non-nil values), then #t can be any of the indices that directly precedes a nil value (that is, it may consider any such nil value as the end of the array).
Не изменяется отображение линии независимо от указанного в Settings, Нужно поменять тип линии, но этого не происходит.
 
Цитата
VNG_nemo написал:
Цитата
Sergey Gorokhov написал:
Проблема в толщине линии, укажите  Width = 1,
Не помогло.
Приблизьте график.
Не изменяется отображение линии независимо от указанного в Settings, Нужно поменять тип линии, но этого не происходит.
 
Цитата
VNG_nemo написал:
Линия, которая отражается неправильно - IntLine6
Проблема в толщине линии, укажите  Width = 1,
Порядок отслеживания процесса выполнения транзакций
 
Цитата
Алексей Ч написал:
Если 5000 раз вызывать функцию math.random(1, 999), то какова вероятность получать одинаковые числа? Мне опять почему то сильно кажется, то вероятность будет равна 100%
Ну так ведь 5000 в ~5 раз больше чем 999, так что да 100% будут повторения. И что в этом удивительного?
Не изменяется отображение линии независимо от указанного в Settings, Нужно поменять тип линии, но этого не происходит.
 
Приведите пример проблемного скрипта
Разбираю мануал по квику.
 
Цитата
zv78 написал:
зачем под цифрой 1 в примере заводится функция которая не имеет имени?
она не заводится. а ВЫводится.
т.е результат функции cached_EMA будет функция.
По простому, это нужно для того чтобы в рамках одного кода можно было сделать сколько угодно функций расчета MA каждая со своими параметрами и чтобы они не пересекались.
Например
MA1 = cached_EMA()
MA2 = cached_EMA()
MA3 = cached_EMA()
и т.д.
стал ли Квик быстрее?
 
Цитата
Женя Логинов написал:
Спасибо. А вы со оей стороны уберете 300мс накопление? Где-то в ваших мануалах видел это значение?

Что простите? Какое накопление?
стал ли Квик быстрее?
 
Женя Логинов,
Скорость обновления стакана настраивается на стороне брокера по его желанию и на его усмотрение.
Множественные Subscribe_Level_II_Quotes/UnSubscribe_Level_II_Quotes, Переподписываться на Стакан или оставаться подписавшимся ???
 
Цитата
PFelix написал:
А сам факт множественной подписки и отписки брокеру  -- только "на руку", т.к.  85-90%% времени трафика именно по стаканам удается сократить?
От сервера до биржи подписка одна на всех, так что трафик до биржи не страдает, а на трафик от сервера до клиентов брокеру все равно, тем более что по стаканам он не существенный.

Цитата
PFelix написал:
А сами команды подписаться/отписаться, которые по 30 инструментам следуют парами 1 раз в каждые 2-3 минуты -- для брокера "не забота"?
1 раз в каждые 2-3 минуты, это мало, скорей всего брокер даже не заметит.
Как такое может быть?, В Settings задаю пять линий, в окне редактирования вижу только три
 
Здравствуйте,
Проверьте внимательней, линии должны быть описаны в Settings и функция Init() должна возвращать количество линий в Settings
Если разобраться не получится выложите код индикатора.
OnTransReply: значение поля "balance"
 
Добрый день,

Описанная в данном инциденте проблема проявляется из-за наличия ошибки в ПО терминала QUIK, а именно, в неверном преобразовании количества в ответах на транзакии по снятию заявок.

Данная ошибка будет исправлена в одной из очередных версия терминала QUIK.

Приносим извинения за причиненные неудобства.
OnTransReply: значение поля "balance"
 
Здравствуйте,
Проблема изучается. Постараемся в ближайшее время дать ответ.
Множественные Subscribe_Level_II_Quotes/UnSubscribe_Level_II_Quotes, Переподписываться на Стакан или оставаться подписавшимся ???
 
Здравствуйте,
Главное чтобы одновременно в терминале и во всех lua скриптах, заказывалось стаканов не более чем по 200 инструментов.
Сразу оговорка, что заказ нескольких стаканов по одному инструменту является одним заказом, а не несколькими.
30 инструментов (как у Вас) это ничтожно мало, так что проблем не должно возникнуть, при условии что другой скрипт (или терминал) не закажет еще стаканы.
В чем основная причина отличий данных в таблице обезличенных сделок у различных брокеров, если все они получают один поток, или не один?, Количество пустых интервалов при трансформации потока обезличенных сделок в секундные свечи по одному и тому же интсрументу (в моем случае РТС срочного рынка) может отличаться почти в 2 раза за один и тот же период при обработке одной и той же программой
 
Цитата
Михаил Сурцуков написал:
Так это ясно из скрипта откуда что берется и как конфигурируется.
Давайте еще раз.
Вы говорите что на разных брокерах один и тот же скрипт работает по разному, вполне логично что очень хочется выяснить чем брокера отличаются, так?
Как это можно выяснить по срипту? Да никак.

Может всё таки сравните исходные данные или и дальше будем по кругу одно и тоже повторять?
Исходные данные это то с чем работает скрипт.
Содержимое таблицы обезличенных сделок.
То что получается в txt файле при сохранении тикового графика в файл.
То что непосредственно попадает в скрипт, а не то что получается после его работы.
Как еще проще объяснить?
Все индикаторы на Lua
 
новая ссылка
в индикаторе ADX было лишнее округление, что приводило к искажению результатов расчета на инструментах с дробными ценами
В чем основная причина отличий данных в таблице обезличенных сделок у различных брокеров, если все они получают один поток, или не один?, Количество пустых интервалов при трансформации потока обезличенных сделок в секундные свечи по одному и тому же интсрументу (в моем случае РТС срочного рынка) может отличаться почти в 2 раза за один и тот же период при обработке одной и той же программой
 
Цитата
Михаил Сурцуков написал:
Допустим.  Вы сможете объяснить, почему один и тот же скрипт выдает различные результаты у различных брокеров с одной и той же версией Квика? Я Вам пришлю эту часть скрипта.  

Нет, пока не будет предельно ясно о каких входных данных идет речь и в чем между ними разница.
В чем основная причина отличий данных в таблице обезличенных сделок у различных брокеров, если все они получают один поток, или не один?, Количество пустых интервалов при трансформации потока обезличенных сделок в секундные свечи по одному и тому же интсрументу (в моем случае РТС срочного рынка) может отличаться почти в 2 раза за один и тот же период при обработке одной и той же программой
 
Михаил Сурцуков,
Да это я, и я Вам говорю что в QUIK нет и никогда небыло "секундных интервалов"
В QUIK есть просто тики. НЕ секундные интервалы. Разница огромна.

Как уже было сказано, проверить надо исходные данные, а не "секундные интервалы" которые формировал скрипт.
И если исходные данные одинаковые, значит проблема в скрипте а не в брокере и иного быть не может.
В чем основная причина отличий данных в таблице обезличенных сделок у различных брокеров, если все они получают один поток, или не один?, Количество пустых интервалов при трансформации потока обезличенных сделок в секундные свечи по одному и тому же интсрументу (в моем случае РТС срочного рынка) может отличаться почти в 2 раза за один и тот же период при обработке одной и той же программой
 
Цитата
Михаил Сурцуков написал:
Вы историю тиков скачивали. А мой вопрос про то, как пакуются тики в секундные интервалы в течение дня. Если Вы правы, тогда получается, что КВИК дает возможность брокерам сдвигать тики в  пачки, по собственному разумению.

Извините но Вы вообще о чем?
В QUIK тики не пакуются в секундные интервалы. В QUIK вообще не бывает секундных интервалов.
В чем основная причина отличий данных в таблице обезличенных сделок у различных брокеров, если все они получают один поток, или не один?, Количество пустых интервалов при трансформации потока обезличенных сделок в секундные свечи по одному и тому же интсрументу (в моем случае РТС срочного рынка) может отличаться почти в 2 раза за один и тот же период при обработке одной и той же программой
 
Здравствуйте,
Данные транслируются с биржи и должны быть одинаковыми у всех брокеров.
Если не так, значит надо разбираться, возможно в терминале включена галка "Получать информацию по обезличенным сделкам с текущего момента" или еще что-нибудь.
Для начала, через контекстное меню сохраните графики в текстовые файлы и сравните, чтобы было конкретно понятно где каких данных не хватает.
И если окажется что у брокера не хватает каких-то тиков, надо бы задать вопрос самому брокеру.
разные данные на индикаторе ADX, ADX Lua некорректные данные на ВТБ
 
Здравствуйте,
Нашли причину, в коде было лишнее округление в 60 и 63 строках. Приносим извинения.
Правильный код ниже, в архиве на сайте поправим позже.
Скрытый текст
Разбираю мануал по квику.
 
Цитата
zv78 написал:
что означает первая строка в функции?
функция смотрит задано ли поле v_type и если не задано то присваивает переменной значение значение BAR_CLOSE

Цитата
zv78 написал:
а что такое BAR_CLOSE?
Это заранее заданная константа, которая в данном случае обозначает цену Close свечки
Заранее заданные константы используются в программировании для того, чтобы при необходимости не пришлось менять значение во всем коде, а достаточно было только поменять значение константы.

Цитата
zv78 написал:
видимо цена закрытия свечи. а какой свечи?
той свечки индекс которой равен index
Странности интерпретатора, Индикатор исчезает из списка.
 
Цитата
VNG_nemo написал:
Я так понимаю, что такое поведение интерпретатора наблюдается при ошибках в синтаксисе
не только при ошибках в синтаксисе, а вообще при любых ошибках.
попробуйте запустить Lua индикатор как обычный Lua скрипт, тогда Вы увидите ошибку.
Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 71 След.
Наверх