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

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

Страницы: Пред. 1 ... 9 10 11 12 13 14 15 16 17 18 19 ... 78 След.
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
 
Цитата
Александр Волфовиц написал:
Подскажите, пожалуйста, как перекомпилировать *.dll для работы с lua под новую версию QUIK, старая не работает по причине своей 32-битности, я правильно понимаю?

Почитайте обсуждение по ссылке
https://forum.quik.ru/messages/forum10/message38653/topic4609/#message38653
Не работает .dll в новой версии QUIK, просит увеличить файл подкачки
 
Здравствуйте,
luacdll не является нашей разработкой, в связи с чем затруднимся с ответом о причинах такого поведения.
Получать обновления стакана без его открытия в КВИКе
 
Цитата
maxim написал:
В чём может быть проблема?

Все колбеки LUA работают в главном потоке терминала.
Следовательно пока колбек не завершит работу, терминал будет висеть.
Чтобы убедиться в этом, можете для эксперимента, добавить в любой колбек бесконечный цикл и терминал повиснет намертво.
Вам нужно максимально минимизировать время обработки колбека OnQuote, как минимум убрать повторения одинаковых циклов и рассмотреть варианты минимизации записи в файл, например в цикле формировать переменную а записывать в файл уже после цикла.

Ну или в функции main
Цитата
maxim написал:
2) в цикле гонять getQuoteLevel2
getBuySellInfoEx
 
Mikhail Ran,
Нужно обновить терминал QUIK до версии 8.0 или выше
getBuySellInfoEx
 
Здравствуйте,
Посмотрите визуально какой тип клиента указан в терминале в таблице купить/продать. Указанные параметры будут работать только для клиентов с типом МД.
реализация идеи в коде - периодическое обновление цены инструмента для сравнения
 
Цитата
Duke2 написал:
       local FixedPriceRTSBuy = FixedPriceRTSBuyNew
Уберите local из этой строки
Критерий исполнения заявки OnTrade
 
Цитата
Let_it_go написал:
Или они приходят строго очередями? Сначала три по одной бумаге, потом три по другой?
нет, порядок не гарантируется
onConnected() OnCleanUp()
 
Здравствуйте,
Описанная проблема у нас не воспроизводится


Просьба уточнить более подробно сценарий по которому мы могли бы повторить проблему.
Вопрос по написанию индикатора.
 
В таком случае решить задачу не получится.
Критерий исполнения заявки OnTrade
 
Цитата
Let_it_go написал:
Мне мерещится, или колбек OnTrade срабатывает три раза на каждую сделку?
Один за другим приходят три отчёта о совершении одной сделки.

так и должно быть.
Этому вопросу уже много лет и он не однократно поднимался на форуме.

Цитата
Let_it_go написал:
И ещё вопрос. Можно ли факт заключения сделки отслеживать через OnTransReply или он только для отправки ордеров?

Не всегда. OnTransReply содержит только ответы на транзакции. Если в ответе на транзакцию биржа указала исполнение (например если заявка рыночная) то Вы увидите примерно такой текст "заявка зарегистрирована _номер_ исполненное количество _столько-то_ не исполненное _столько-то_"
Выставить кодировку
 
Цитата
Let_it_go написал:
Как с этим бороться?

Укажите кодировку windows 1251
Получать обновления стакана без его открытия в КВИКе
 
Здравствуйте,
Если getQuoteLevel2 вызывать в колбеке OnQuote, то цикл гонять не потребуется
Custom кнопка в стандартном окне и работа с системными событиями
 
Цитата
Илья написал:
Позвольте тогда чуть чуть переформулировать вопрос. Как можно реализовать pre-trade контроль заявок выставляемых в терминале через стороннее приложение находящееся на удаленном сервере?

Можно реализовать только через:
Цитата
Илья написал:
"создать кастом форму для новой заявки"

по другому никак
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
 
Цитата
Олег написал:
Может кто подскажет, экспорт в метасток кто-нибудь предоставляет, может модуль есть какой?
Попробуйте воспользоваться документацией:
-Раздел 6. Совместная работа с другими приложениями
--Экспорт данных в системы технического анализа с использованием внешних программ
Вопрос по написанию индикатора.
 
Цитата
Дмитрий написал:
из таблицы обеспеченных сделок.

Уточните какая именно информация нужна в таблице обезличенных сделок?
GET_CLASS_SECURITIES, Как работать с возвращаемым значением
 
Цитата
Александр написал:
Это коллекция? Ассоциативный массив?
Это просто строка, самая обычная.

Цитата
Александр написал:
Как вычленить из строки отдельные коды инструментов средствами QPILE?
Через цикл FOR
Пример:
Код
SecuritiesList =  GET_CLASS_SECURITIES ("TQBR")
FOR Sec IN SecuritiesList
                MESSAGE(Sec,0)
END FOR


Обращаем внимание что QPILE является устаревшим языком и оставлен только для поддержки обратной совместимости.
В связи с чем, рекомендуем использовать язык QLUA.
Критерий исполнения заявки OnTrade
 
Цитата
Let_it_go написал:
Как с помощью колбека OnTrade понять, что заявка с известным номером исполнилась полностью или частично?

Именно такой информации в таблице сделок нет. Но там есть количество в сделках.
Следовательно можно подсчитать сумму в сделках и сравнить ее с количеством в заявке.
Например в заявке продажа 5 бумаг, пришли сделки с количеством 1 и 2, сумма равна 3м, что меньше 5, значит заявка исполнена частично.
Цитата
Let_it_go написал:
Как то же самое узнать с помощью колбека OnOrder?

Тут проще, там есть параметр balance, который определяет не исполненный остаток.
Еще есть параметр ext_order_status, в котором значение 2 соответствует частичному исполнению.
Локальность переменной
 
Цитата
Let_it_go написал:
является ли в этом примере row локальной?
да
Цитата
Let_it_go написал:
Строка row=getItem("orders",i) не превращает ли её в глобальную? Ведь здесь идёт повторное объявление.
Нет не превращает, и там не объявление, а присвоение значения
Custom кнопка в стандартном окне и работа с системными событиями
 
Цитата
Илья написал:
Необходимо добавить кнопку в уже существующую в системе форму подачи заявки по нажатию на которую будет что-то происходить.
Такой возможности нет.

Цитата
Илья написал:
(причем по возможности это должно происходить после нажатия на существующую кнопку для подачи заявки)
такой возможности нет.
getMoney
 
Цитата
Валентин написал:
Необходимо узнать текущий остаток средств в сроке расчетов Тх (там именно та сумма, на которую я могу сейчас закупаться). Соответственно ставим параметр limit_kind в значение 2 (0 - Т0, 1 - Т1, 2 - Т2)
Если Вам нужен Тх то это 365
Тормозит темная тема Quik, Тормозит темная тема Quik
 
Цитата
Imersio Arrigo написал:
Цитата
Andrey Bezrukov написал:
Ваше пожелание (CQ02494901) зарегистрировано.
А можно озвучить что именно вы зарегистрировали? В чем состоит пожелание клиента?

Просто ошиблись кнопкой, будем разбирать как проблему.
64-битная версия QUIK
 
Цитата
новичок написал:
и что мешает запустить бету для тестирования на демо-сервере?
К сожалению мы не предоставляем такой услуги.
Возможно брокер сможет Вам ее предоставить.
64-битная версия QUIK
 
Цитата
новичок написал:
как Вы уже поняли, вопросы задаются не от праздного любопытства, а по причине разночтений в информации, когда брокеры информируют о прекращении исправления ошибок с 7-ой версией с июляа вы (саппорт) болеее, чем неуверенно высказываетесь о перспективах 8-ой версии

Нет никаких разночтений.
Брокера говорят то же что и мы.
А точных сроков релиза 8й версии никто не знает.
64-битная версия QUIK
 
Vladimir,

Сказано же что работы ведутся.
Конкретных сроков нет, ориентировочно да на начало июля.
64-битная версия QUIK
 
новичок,
Не будем скрывать что определенные работы в этом направлении ведутся, однако о конкретных сроках сообщить ничего не можем.
биржа или брокер?
 
Цитата
Let_it_go написал:

биржа штрафует за ошибочные транзакции.
хочу уточнить - если я вижу такое сообщение, значит моя транзакция не долетела до биржи и отбита сервером брокера?

Да верно, это диагностика сервера QUIK, а не биржи. Значит до биржи транзакция не дошла.
Квик не выполняет скрипт
 
Цитата
Дмитрий написал:
Спасибо, не стояла галка, что нужно показывать сообщения. А что понимается под фразой "только для важных сообщений" - какие сообщения квик считает важными, а какие нет?

Те у которых высокий приоритет, посмотрите документацию по функции message, там есть параметр который отвечает за приоритет сообщений.
Квик не выполняет скрипт
 
Цитата
Дмитрий написал:
С чем это может быть связано?
Проблема точно не в коде.
Возможно у Вас просто отключено появление окна с сообщением (Система - Настройки - Основные настройки -  Сообщения - При получении показывать в окне сообщения)?
Кроме окна, посмотреть сообщения можно в таблице сообщений (Создать окно - Все типы окон - Таблица сообщений)
Отладчик, статистика для теста робота и непонятный висяк, C++ интеграция
 
Цитата
Denis написал:
Пытаюсь запустить test_trans из указанного мануала, используя номер клиентского счета из регистрационного мейла, но получаю сообщения

Вам запрещена торговля по указанному счету.


Для начала рекомендуем вообще забыть про программирование и разобраться с тем какие именно параметры транзакций надо использовать.
Для этого через обычный терминал QUIK отправьте нужную Вам транзакцию.
Если транзакция успешно выполнится, значит в коде Вы указали не те параметры. Посмотрите в терминале какие нужно указать.
Если будет та же ошибка, значит нужно разбираться с настройками на стороне сервера.
Дата размещения облигаций, добавление столбца в облигациях
 
Цитата
Максим написал:
откуда тогда сайт rusbonds.ru берёт этот параметр?

Вы можете задать этот вопрос администрации сайта rusbonds.ru
Параметр "Дата эмиссии" в таблицу облигаций, Добавление дополнительного параметра при создании таблицы текущих торгов по облигациям
 
Цитата
Максим написал:
Параметр называется "Дата размещения". Просьба добавить этот параметр.

Согласно описанию биржевого интерфейса, Московская биржа не транслирует такой параметр "Дата размещения".
(описание интерфейса, размещёно на сайте Московской Биржи).

Мы не можем транслировать данные из ниоткуда.
Быстрая смена таймфрейма, Есть ли такая возможность?
 
Дмитрий,

Через QLUA нельзя изменить интервал окна графика.
Помогите с RSI
 
Цитата
Максим ААА написал:
Доделал другой скрипт. Работает, но не выводит среднюю и рси вместе.

исправьте функцию OnCalculate вот так:
Код
function OnCalculate(Index)
local Out1,Out2 = ConvertValue(Settings, func(Index, Settings))
local HL = tonumber(Settings.Horizontal_line)
   if HL then
      return 50+HL,50-HL,Out1,Out2
   else
      return nil,nil,Out1,Out2
   end
end
Вопрос по скрипту индикатора AD
 
Цитата
Анатолий написал:
за весь диапазон доступных с биржи свечей, от самой последней до самой первой,
Да верно

Цитата
Анатолий написал:
однакож вам видимо трудно было об этом сразу сказать.. ))))

читайте внимательней
Цитата
Sergey Gorokhov написал:
Нет никакого периода. n в формуле обозначает текущую свечку для которой происходит расчет.Например если свечек 5 значит n=5
Вопрос по скрипту индикатора AD
 
Цитата
Анатолий написал:
Получается что для 1ой свечи CumAD = ADn и он же будет CumADn-1 для 2ой свечи правильно?
Да правильно.

Цитата
Анатолий написал:
т.е. в вашем индикаторе A/D и индикаторе Чайкина они рассчитываются от выбранного интервала (количества свечей взятых для рассчета)?

Если свечек 5 значит для расчета 5й свечки надо посчитать по 1й по 2й по 3й по 4й и наконец по 5й.
Если свечек 6 значит для расчета 6й свечки надо посчитать по 1й по 2й по 3й по 4й по 5й и наконец по 6й.
Если свечек 7 значит для расчета 7й свечки надо посчитать по 1й по 2й по 3й по 4й по 5й по 6й и наконец по 7й.
и так далее.
Вопрос по скрипту индикатора AD
 
Цитата
Анатолий написал:
если  говорите что CumADn-1 тоже для этой же свечи?
Никто такого не говорил.
Было четко сказано:
Цитата
Sergey Gorokhov написал:
n в формуле обозначает текущую свечку

Следовательно n-1 это предыдущая свечка.
Реальный период расчета скриптов, написанных на QPILE, Реальный период расчета скриптов, написанных на QPILE
 
Цитата
Анатолий написал:
Период расчета выставлен 1сек. у всех скриптов

Для начала, период в настройках это время между окончанием предыдущего расчета скрипта и началом нового расчета.
Например если сам скрипт у Вас отрабатывает за 5 сек, то значит между запуском первой итерации и второй будет 5+1=6 сек.

Далее, если есть проблема с кодом, без самого кода разобраться не представляется возможным, как бы подробно Вы всё не описывали.

И наконец, QPILE мы уже давно не развиваем и развивать не будем, сейчас он существует только для поддержки обратной совместимости.
Рекомендуем перейти на более современный язык QLUA.
Да сложно, да долго, но это того стоит.
CreateDataSource: задержка получения данных
 
rpns,
да верно
CreateDataSource: задержка получения данных
 
Цитата
rpns написал:
До вызова main в нем неинициализированной глобальной переменой sz_sr присваивается некоторое значение. OnInit завершается (в основном потоке). Затем (если я верно понял) в отдельном потоке запускается и нормально работает main. Никто, вроде, не висит больше. Но почему-то присвоенное значение -- это 0, что обнаруживается в самом же вызове OnInit. Причем лишь каждый ВТОРОЙ запуск скрипта (а иначе -- правильное значение).

Как уже было сказано и еще раз повторим, пока работает колбек, терминал QUIK просто ждет, ничего не делает.
Вы в колбеке отправили заказ данных, а потом залип на цикле.
Пока цикл не завершится, данные заказанные прошлой строкой не поедут, а пока данные не поедут, цикл согласно логике, не завершится.
Получается замкнутый круг.
При повторном запуске, данные УЖЕ приехали т.к. были заказаны при первом запуске скрипта, по этому второй запуск показывает числа.
main работает в отдельном потоке, по этому там заказ данных и ожидание данных, работают параллельно с поступлением данных в терминал.
по этому в main можно делать цикл, а в колбеке нет.

Цитата
rpns написал:
Кстати, и без вызова SetEmptyCallback. Зачем он тогда?)
Он нужен для подписки на данные. Ровно эту же подписку можно выполнить через терминал, открыв нужный график.
Если Вы откроете график то по сути SetEmptyCallback не нужен, данные и так будут поступать.
Но не всем удобно открывать графики, по этому существует SetEmptyCallback.

Цитата
rpns написал:
Что вообще стоит делать в OnInit? Можно, например, стакан заказать (Subscribe_Level_II_Quotes)?
Что угодно, лишь бы выход из колбека был максимально быстрым, и это касается не только OnInit, а вообще всех колбеков (функции с именем On*)
Не удаётся запустить даже тестовый Lua скрипт в Квике (версии 7.25.1.3), Всё делаю строго по инструкции, но скрипт не запускается.
 
Цитата
Physic98 написал:
Теперь скрипт запускается, но не срабатывает функция message() почему то?

Откройте таблицу текущих торгов по нужному инструменту с параметром Спрос, убедитесь что данные в этом параметре отображаются
CreateDataSource: задержка получения данных
 
rpns,
Уберите код из OnInit
Все колбеки выполняются в основном потоке терминала, т.е. пока колбек не завершит работу, терминал будет висеть и ничего не делать.
Помогите получить цену по своей последней сделке по определенному инструменту
 
Цитата
Дмитрий написал:
Добрый день !

Еще вопрос, а как найти номер свечи этой последней сделки при использовании CreateDataSource ?

на графиках нет номеров сделок, так что только по времени и цене.
Зная дату и время сделки, и ее цены, Вы можете найти ее на графике.
attempt to concatenate field '?' (a nil value)
 
Цитата
Sergey Denegin написал:
Исходя из чего луа будет опредялять что выводить?

Все просто, если левое выражение не nil и не false то будет выведено  оно, в противном случае будет выведено правое выражение.
attempt to concatenate field '?' (a nil value)
 
Позвольте немного поправить, лучше так:

Код
 sd="..tostring(t_big[candle][6])


Если в tostring попадет nil то он сам преобразует его в строку "nil"
Функция SetRangeValue рисует лишнюю линию, Как убрать линию, соединяющую уровни, заданные SetRangeValue
 
Цитата
Виктор Столетов написал:
Есть еще один  вопрос по линиям индикатора:   Если задать тип линии TYPE_DASH или  TYPE_POINT, то штрихи и точки идут очень близко  друг к другу. Когда сжимаешь график, то они сливаются в сплошную линию.   Можно ли как-то регулировать ширину пробелов между точками или штрихами, чтобы сделать их реже?
К сожалению такой возможности не предусмотрено
получить текущую эффективную цену позиции
 
Sergey,
нам и так понятно что Вам нужно, нет смысла это повторять.

ответ Вам уже был дан и не один раз.
Цитата
Sergey Gorokhov написал:
Следовательно если биржа не транслирует нужную Вам цифру то и в QUIK ее нет.
получить текущую эффективную цену позиции
 
Цитата
Sergey написал:
так что это не то что нужно =(( мне нужна текущая цена текущей позиции.

Что Вы понимаете под "текущая цена текущей позиции"?
биржа транслирует то что Вам нужно, если да в каком параметре?
Следует понимать что на срочном рынке (в отличии от фондового и валютного рынков), позиции ведет и транслирует биржа, а не QUIK.
Следовательно если биржа не транслирует нужную Вам цифру то и в QUIK ее нет.
получить текущую эффективную цену позиции
 
Sergey,
Этот параметр считает и транслирует биржа, можете поинтересоваться у нее какая формула расчета.
В биржевом потоке это параметр waprice из таблицы position потока FORTS_POS_REPL
получить текущую эффективную цену позиции
 
Пример:
T=getFuturesHolding("SPBFUT","SPBFUT0001", "SiM9", 0)
message(tostring(T.avrposnprice))
Архивы графиков
 
Цитата
Дмитрий написал:
1)в архиве также лежат две DLL-ки, они устанавливаются опционально, в ту же папку, что и exe-шник или если на компе установлена какая-то Visual C++ (какая именно?) это не нужно?

Рекомендуем не экспериментировать, есть дистрибутив и все файлы из дистрибутива должны быть на месте, если это не так, гарантировать стабильную работу мы не можем.
Цитата
Дмитрий написал:
2) После запуска программа будет одинаково работать с dat-файлами квик 6.16 и квик 7.12?

Должна работать
Страницы: Пред. 1 ... 9 10 11 12 13 14 15 16 17 18 19 ... 78 След.
Наверх