Пришлите для анализа архив всей папки с терминалом QUIK (без ключей доступа) созданный сразу после падения и скрипт индикатора который приводит к падению
Здравствуйте, OnCalculate срабатывает на каждое изменение текущей (последней) свечи и это нормально. Поэтому пока последняя не сформировалась она будет появляться в OnCalculate столько раз сколько изменится.
Алексей Орешкин написал: п.с: Только узнал - если я пишу робота на луа который анализирует все доступные мне инструменты, то мне нужно открыть все графики этих инструментов???
зачем открывать графики если есть CreateDataSource?
Фёдор Сухов написал: Поясните точнее, что имеете в виду, когда пишите: "как реализовать выставление лучшим пока не взяли нашу?" Если я правильно понял, то просто прибавьте или отнимите 1 руб. в заявке перед выставлением лимитника.
Ну, выставиться лучшей -- это уже ясно как, учитывая наши с вами конструкции: просто прибавить шаг цены и sendTransaction. Но рынок может не взять лучшую, а двинуться дальше (если, например, инструмент с дальней экспирацией и там очень разряженный стакан с большим количеством желающих стоять первым в очереди). Т.е. должен быть цикл пока коллбэк ОnFuturesClientHolding( ) не вернёт изменение позиции по фьючу. Или как-то ещё?
Здравствуйте, К сожалению из описания все еще не до конца понятно что именно требуется реализовать. Вот Вы ставите заявку по лучшим ценам +- шаг цены и...? Опишите что именно требуется
петя петров написал: скажите а 'closeэ' для днвного графика quik использует для фючерсов как последнюю сделку в дневной сессии 18.:50 или в вечерней которая заканчивается в 23:~~?
в QUIK абсолютно все графики содержат данные за астрономическую дату, без привязки в расписанию сессий. Соответственно Close на дневном графике это последняя сделка в сутках.
Здравствуйте, Проблема в Ваших расчетах. Наша формула расчетов есть в примерах Lua индикаторов индикаторы Lua и еще у нас есть пример расчета выполненный в excel (можем отправить по запросу на quiksupport@arqatech.com) по этим формулам данные совпадают, проверьте свои расчеты.
Здравствуйте, 1) QPILE признан нами устаревшим и более развиваться не будет. 2) Сам Lua не наша разработка, для него уже есть сторонние отладчики и средства разработки. Дублировать то что уже и так есть мы не планируем. касаемо справки Qlua мы работаем над ее наполнением. касаемо роботов, то что Вы описали сделать возможно.
Constantin написал: 1. Что-то не вижу в документации по QLua информации по полю result. Пропустили. У меня документация не самая последняя, но подозреваю, что и в последней этого описания нет.
Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
Цитата
Constantin написал: 2. Название параметра в каком регистре правильнее указывать? В QPILE написано, что требуется в верхнем регистре. В QLua все равно, как я вижу?
В QLUA все равно, однако это касается только параметров наших функций. Для Lua таблиц регистр имеет значение.
Роман Романов написал: Можно ли послать повторный приказ на сервер с тем же "TRANS_ID", что и раннее неудавшийся?
Да можно. Сервер никак не проверяет уникальность TRANS_ID Требование его уникальности относится только и только к функционалу динамического импорта транзакций из файла. В этом функционале, сам терминал QUIK проверяет уникальность TRANS_ID сравнивая его с теми что есть в tro файле.
Цитата
Роман Романов написал: Тогда бот просто не заметит неудавшуюся тразакцию и будет обрабатывать реплаи по "TRANS_ID" требующейся в алгоритме операции, а не по порядковому номеру транзакции?
Это уже зависит от того как написан этот самый бот.
Здравствуйте, К сожалению настроить автоматический масштаб с привязкой только к определенному графику нельзя. Однако, конкретно в Вашем случае задачу решить можно, если использовать метки вместо линий. Метки не участвуют в автомасштабировании.
Здравствуйте, На данный момент не существует штатного способа программно присвоить идентификатор графику. Под идентификатором подразумевается соответствующее поле в окне свойств графика
Алексей, Запишите в лог точные данные которые попадают в функцию. не исключено что проблема именно в параметрах, например где-нибудь записался какой-нибудь лишний пробел. или вместо английской буквы русская. После попытки проверьте параметры в полученном логе
Если не получится, выложите полученную информацию на форуме
Здравствуйте, У нас на указанных параметрах проблема не воспроизводится. Проблема все таки скорее всего во входных параметрах. Либо у Вас нет прав на стоп заявки.
На наш взгляд тема вполне себе раскрыта. Как уже было не раз сказано, если Вы хотите по идентификатору получить значения объема с графика Volume, требуется указать в качестве параметра свечи "volume". Причины также уже были озвучены.
Цитата
XXM написал: Есть ли возможность получить из него данные штатными способами, через идентификатор?
Индикатор Fractals пишет значения в параметры "low" или "high" в зависимости от направления.
XXM написал: Вопрос стоит так, как написано в первом сообщении темы.
Вам уже два человека объяснило что получить данные с графика Volume через идентификатор можно. Для этого нужно указать параметр "volume" Вы же пишете close что является не правильным.
На наш взгляд тема раскрыта и не требует дальнейшего обсуждения. Вопрос закрыт.
XXM написал: Для графика цены, для графика объема и для графика скользящей средней - один источник информации, а не три. Поэтому ...
Вы не правы, для скользящей средней источник информации это результат расчетов. Результат расчетов, а не входные данные. В случае цены и объема, нет никаких расчетов. Поэтому там входные данные равны источнику информации.
Цитата
XXM написал: Вы проясните ситуацию с идентификатором: его-то присваиваю графику объема! Почему обращаясь к нему я не получаю значение объема?
Как так не получаете?? Не правда, через параметр volume все прекрасно выводится.
XXM написал: Традиционный вопрос: как такое может быть?
Для графика цены и для графика объема один источник информации, а не два. Поэтому обращаясь к графику цены вы получите те же параметры что при обращении к графику объема.
Здравствуйте, Такое может быть если подавать транзакцию до того как началась торговая сессия. Сейчас, когда сессия идет, проблема воспроизводится? Если да, то через терминал заявки выставляются?
тот самый написал: ЦитатаSergey Gorokhov написал: И как это "все" относится к вопросу автора топика?а в QLUA Вы разве не в цикле проверяетевходящие данные и уже после этого вызываете те или иные события (после соответствующих проверок)?
Если Вам есть что добавить к моему ответу на вопрос топика, пожалуйста добавляйте. Излишнюю дискуссию разводить нет смысла.
Sergey Gorokhov написал: давайте зарегистрируем от Вас пожелание чтобы терминал QUIK вообще никак нельзя было настраивать. Тогда у всех будет одинаково и роботы не будут беситься?
тот самый написал: Что значит "...в ближайшее время..."? т.е. Вы хотите сказать, что контент старого форума будет вновь доступен??
Старый форум уже не работает.
Цитата
тот самый написал: Если Вы - окончательно "распрощались" со старым форумом - могу ли я в таком случае - свободно выкладывать сохранённые материалы с него (топики и комментарии) для пользователей, с которыми В так обошлись?...
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Здравствуйте, в QPILE это довольно сложно сделать, так как нет колбеков. Можно использовать цикл и в нем постоянно опрашивать таблицы до появления нужных значений/ Обращаем внимание на то что мы признали язык QPILE устаревшим и более его не развиваем. Рекомендуем перейти на Lua, там используется событийная модель, поэтому можно обойтись без циклов.
Николай Камынин написал: 1) В чем отличие обработки этих колбеков.
OnAllTrade - в первую очередь колбек таблицы а SetUpdateCallback создает колбек на график. Это значит что во втором случае Вы можете получить только ту информацию которая есть на графиках (в данном случае речь тиковом графике).
Здравствуйте, Lua - это регистозависимый язык. Большие или маленькие буквы в именах переменных имеют значения. У Вас в коде встречается "transaction" и "Transaction", это разные переменные, хотя и не должны такими быть.
Михаил, Вы описываете проблемы с которыми ежедневно встречается любой программист. Не только QUIK, а вообще любой разработчик. Так уж получается что при разных условиях одна и та же программа работает по разному и с этим нельзя побороться до тех пор пока у каждого на планете не будет идентичных компьютеров с полным запретом пользователям что-либо в них нажимать. Это утопия которой никогда для программистов не будет. В связи с чем предлагаемое решение чтоб у всех было одинаково, нереализуемо в принципе.
Правильный подход, обеспечить в роботе проверку на доступность и корректность нужных ему данных.
Продолжая разговор, давайте зарегистрируем от Вас пожелание чтобы терминал QUIK вообще никак нельзя было настраивать. Тогда у всех будет одинаково и роботы не будут беситься?
в каком месте в нашем ПО есть "намеренное появление дыр" ? У брокера есть возможность настроить наше ПО И у Вас есть возможность настроить наше ПО Чем брокер хуже Вас?
Старатель написал: По какой причине session_status может быть всегда равен 0 ? Это зависит от настроек на сервере брокера?
Нет от настроек это не зависит. Это зависит от версии шлюза. Параметр session_status появился относительно недавно, если брокер не установил версию шлюза в которой он появился, то данные едут по умолчанию "0" - не определено. Для справки 0 – неопределено 1 – основная сессия 2 - начался промклиринг 3 - завершился промклиринг 4 - начался основной клиринг 5 - основной клиринг: новая сессия назначена 6 - завершился основной клиринг 7 – «завершилась вечерняя сессия
s_mike@rambler.ru написал: У брокера, как пользователя вашего ПО, не должно быть возможности использовать заведомо неправильные (вредные) режимы.
Да, наша архитектура позволяет брокеру отключать трансляцию тех или иных данных на свое усмотрение. И мы не считаем это изъяном, а скорее великим благом для решения конкретных задач отдельно взятого брокера. Да у нас есть некоторые технические ограничения из-за которых мы не можем рекомендовать всем брокерам сразу включить трансляцию всего всего. Но даже несмотря на эти ограничения, настроить трансляцию мин/макс возможных цен брокер может уже давно, если до сих пор этого не сделал.
Цитата
Старатель написал: Sergey Gorokhov, а есть ещё диапазон цен, устанавливаемый брокером через ПО ARQA Technologies, который почему-то тоже не транслируется торговой системой. Принципиальная позиция?
Если в QUIK чего-то нет, это совершенно не означает что этого никогда не будет. Есть процедура регистрации и рассмотрения пожеланий в ходе которой даются ответы о целесообразности их реализации.
Михаил если вы считаете то, что у нас нет физической возможности принудительно заставлять брокеров выполнять те или иные настройки дырой в архитектуре то да такая дыра есть. Но извините, если бы один человек мог принудить другого человека что-то делать это уже была бы не демократия.
Михаил Понамаренко (pmntrade.ru) написал: А можно ли каким либо образом "прощупать" будет ли выставлена заявка, т.е. проходит ли она по ценам и количеству? Дело в том, что бывают ситуации, когда 1)робот выставляет заявку, 2)сервер выводит ошибку, скажем непопадание цены в мин./макс. по акциям, 3)но на следующем расчёте снова выставляет заявку и выводит ошибку. Я проверяю всё это в коде робота, но не всегда это удобно.
Если нет трансляции pricemax / pricemin то прощупать не представляется возможным. Если есть то достаточно сравнить цены
Здравствуйте, Мин/Макс цена по акциям транслируется далеко не всеми брокерами. Если для акций, таких параметров нет в таблице текущих торгов, Вам нужно обратиться к брокеру Если такие параметры там есть, то их можно получить по значениям pricemax и pricemin