нужно ли использовать Clear() при завершении скрипта
Пользователь
Сообщений: Регистрация: 23.01.2015
03.03.2015 18:50:59
Серж, Есть смысл или нет, покажет практика. Но от ее использование перед DestroyTable хуже точно не станет.
нужно ли использовать Clear() при завершении скрипта
Пользователь
Сообщений: Регистрация: 23.01.2015
03.03.2015 17:30:31
Здравствуйте, Использование Clear в обоих случаях лишним не будет
функция обратного вызова для SetUpdateCallback(), как понять, по какому инструменту она сработала?
Пользователь
Сообщений: Регистрация: 23.01.2015
03.03.2015 17:28:30
Здравствуйте, Для каждого источника нужно задать свою функцию через SetUpdateCallback. Но так как действия будут производиться одни и те же, будет удобней создать одну функцию, а через колбеки просто ее вызывать
Ошибка при попытке получить значение из таблицы OnTrade()
Пользователь
Сообщений: Регистрация: 23.01.2015
02.03.2015 23:03:15
Цитата
Николай Бехтерев пишет: Ох, а у вас там разный регистр для каждой позиции получается или можно всё мелкими буквами оформить?
Вы неверно поняли рекомендацию. Вам НЕ нужно все писать маленькими буквами. Вам нужно писать все именно так как в документации и никак иначе.
Ошибка при попытке получить значение из таблицы OnTrade()
Пользователь
Сообщений: Регистрация: 23.01.2015
02.03.2015 22:41:45
Николай Бехтерев, Нет, параметры все таки лучше задать, так как если колбека не будет то опять будет ошибка. Только задать правильно, то есть маленькими буквами
Ошибка при попытке получить значение из таблицы OnTrade()
Объявлять таблицу надо было, а объявлять параметры не надо было. Вы в колбеке все равно делаете присвоение, поэтому параметры задавать излишне.
Ошибка при попытке получить значение из таблицы OnTrade()
Пользователь
Сообщений: Регистрация: 23.01.2015
02.03.2015 22:28:07
Николай Бехтерев, Это уже другая история. Во первых PRICE неправильно писать. Так как Lua регистрозависимый язык. Нужно писать маленькими буквами.
Во вторых, как было сказано работать будет только при новых сделках. То есть если сделки были ДО запуска скрипта, то скрипт их не увидит. Если хотите чтобы отображался номер последней сделки, нужно использовать getItem
Ошибка при попытке получить значение из таблицы OnTrade()
Пользователь
Сообщений: Регистрация: 23.01.2015
02.03.2015 22:19:17
Николай Бехтерев, У Вас для этого уже все написано. Все что нужно удалить строку и все. Далее, согласно коду при появлении новой сделки Вы получите сообщение
Ошибка при попытке получить значение из таблицы OnTrade()
Пользователь
Сообщений: Регистрация: 23.01.2015
02.03.2015 22:07:50
Здравствуйте, это некорректная запись
Код
table_order = OnTrade()
уберите эту строку
Как получить значение Лимита открытых позиций по фьючерсам или как получить элемент из таблицы?
Как получить значение Лимита открытых позиций по фьючерсам или как получить элемент из таблицы?
Пользователь
Сообщений: Регистрация: 23.01.2015
27.02.2015 08:33:29
Проверили все работает. Скорее всего Вы неверно указали параметры, код фирмы или торговый счет. Проверьте какие параметры указанны в таблице ограничений по счетам. Первый параметр функции, будет указан в колонке Фирма Второй в колонке Торговый счет. Третий параметр, это тип лимита, он указан правильно. Также проверьте версию терминала. Актуальная сейчас 6.16.1
Если разобраться не получится, пришлите нам для анализа архив с терминалом Quik (без ключей доступа) и файл с полным кодом программы на адрес quiksupport@arqatech.com
доступ к строкам таблицы изменений параметров, почему его нет?
А как скоро можно ожидать результата рассмотрения?
Сроки не определены
getSecurityInfo(ClassCode, secCode) возвращает значения nil
Пользователь
Сообщений: Регистрация: 23.01.2015
24.02.2015 10:18:58
Юрий Дернов, обновитесь до 6.16.1 и повторите попытку.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 23.01.2015
24.02.2015 08:23:14
Цитата
sam063rus пишет: скрипт полностью закончит свою работу, а вместе с ним и его виртуальная машина полностью закончит работу/будет разрушена?
Недавно мы столкнулись с проблемой очистки памяти после остановки скрипта. Если не считать ее, то да, так и должно быть.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 23.01.2015
24.02.2015 08:20:35
Цитата
sam063rus пишет: и последний вопрос: из материалов с других форумов - мы знаем, что "main" запускается (а вместе с ней и создаётся отдельный поток) после колбека "OnInit" - значит ли это , что, если в скрипте не будет прописан колбек OnInit - то и для функции "main" не будет создан отдельный поток???
-------------------- этот, как и предыдущий вопрос относится не только к Михаилу, но и к другим разработчикам.
Нет не значит. И как-то комментировать то что сказано на других форумах считаем излишним.
доступ к строкам таблицы изменений параметров, почему его нет?
Пользователь
Сообщений: Регистрация: 23.01.2015
24.02.2015 08:15:16
Здравствуйте!
Ваше пожелание зарегистрировано, будет рассмотрено и, возможно, реализовано в одной из следующих версий нашего ПО.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
24.02.2015 06:49:03
Цитата
Дмитрий пишет: Добрый день! А судя по информации на сайте биржи, с 3 октября 2011 на валютном рынке участники торгов могут выставлять заявки типа «скрыть количество» ( заявки «Айсберг»):
Раз биржа говорит, значит можно выставлять и на валютном рынке тоже. Это их функционал, им виднее.
Ошибка при выводе по DDE
Пользователь
Сообщений: Регистрация: 23.01.2015
19.02.2015 11:11:06
Здравствуйте, Боюсь, что данная проблема вне нашей сферы. Попробуйте поискать ответ на каком-либо стороннем форуме посвященному DDE серверам.
Потенциальная проблема с if, Потенциальная проблема с логическим оператором или скрытая ошибка
Пользователь
Сообщений: Регистрация: 23.01.2015
18.02.2015 06:56:38
Здравствуйте!
Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
На сколько становится понятно, Вы говорите что проблема заключается в появлении значения "1000" в переменной sec_code. Если так, нужно смотреть выше, что попадает в эту переменную и от куда оно туда попадает, а не то где Вы с ней работаете.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
17.02.2015 06:36:08
Цитата
lergen пишет: СМС - через lua можно создать такое оповещение в нужный для меня момент?
Можно. Но только сторонними средствами.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
16.02.2015 15:01:07
Через Qlua нельзя управлять соединением терминала.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
16.02.2015 07:04:48
Цитата
lergen пишет: также как и до переключения а стоп заявку нужно "сделать своей" что бы её можно было модифицировать? Я правильно вас понял?
Да все правильно. Связанно это с тем, что "стоп заявки" это сущность Quik и биржа про них вообще ничего не знает. Сами по себе, они существуют только внутри сервера Quik. Поэтому при переключении на другой сервер, нужно менять привязку у стоп заявок. Обычные заявки хранятся на бирже, поэтому не важно от куда Вы к ней подключитесь. Можете подключиться на прямую, минуя брокера, и Вы все равно сможете управлять своими заявками.
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
Пользователь
Сообщений: Регистрация: 23.01.2015
15.02.2015 11:16:35
Открою для всех секер
Цитата
Albert Eritsyan пишет: Вопрос можно поставить иначе, а именно, получить списоккласс/инструмент по которым нельзя подавать ордера из-за ограничений заранее известных квику от брокера,
Как было сказано, есть два варианта 1) транзакций нет в принципе 2) транзакции есть, но установлены ограничения со стороны брокера. Следует понимать что в 99% случаев это условные ограничения. То есть торговать можно, но только с некоторыми ограничениями. Например не больше какого-то объема, или по ограниченному диапазону цен. Так вот, чтобы точно решить поставленную Вами задачу, нужно делать запрос именно с теми параметрами которые будут в заявке. Таким образом, для 2го случая, просто так взять и получить список, не представляется возможным.
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 23:44:49
Да, и Вы не ответили на самый главный вопрос, чем эта проверка лучше заранее определенного списка классов заданных пользователем? На наш взгляд заранее заданный список куда лучше, так как избавляет от ошибок
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 23:42:49
Цитата
Albert Eritsyan пишет: Приведенный мной выше код и его результаты показали ошибочность такого подхода, так как в этом случае "как раз приглашают не в ту дырку" (см выше класс Опционов, когда они не доступны для торговли)
Я не вижу в Вашем коде применение названного подхода. Еще раз, рекомендация была явно указать какие классы Вам нужны для торговли а не вычислять их.
Цитата
Albert Eritsyan пишет: Т.е. проверка наличия или отсутствия номера заявки и цифрового кода в скобках гарантия, что транзакцию отвергли по причине ограничений Брокера? Или возможны ситуации, когда Брокерские ограничения отсутствуют но отклик такой же?
Нет, я же сказал, это гарантия что транзакция была отвергнута сервером. Это НЕ тоже самое что отвергнута из за ограничений брокера. Но для решения Вашей задачи это одно и тоже. Ситуации могут быть разные, например брокер не загрузил лимиты, или какой-то сбой. Это не является ограничением, но тем не менее сервер отвергает заявку.
Цитата
Albert Eritsyan пишет: Хотел также уточнить, а возможность доработки самого Квика, в плане предоставления клиентам списка доступных для транзакций инструментов в принципе не выполнима? Ведь это избавит от необходимости нагружать КВИК подобного рода проверочными ордерами.
На счет технической возможности я не могу сейчас дать ответ. На первый взгляд такое возможно, однако точно можно сказать только после регистрации пожелания и проведения анализа. Другой вопрос, в том а чем это лучше проверочных ордеров? Вам все равно также придется перебирать классы.
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 23:08:39
Цитата
Albert Eritsyan пишет: То есть если я правильно понял, в первом случае речь идет о "глубоко научном методе тыка", исключая возможность оптимизации круга инструментов (исключив не доступные для транзакций) количество лотов в ситуации, когда нужно быстро определиться?
Да речь идет о глубоко научном... Собственно можно поступить проще, как подсказали участники форума выше. Просто указать нужные классы. Это будет куда разумней, иначе есть шанс попасть "не в ту дырку".
Цитата
Albert Eritsyan пишет: А втором случае есть какие либо специальные коды отказов в транзакции (либо четко ограниченный круг таковых, обусловленных именно наличием такого рода ограничений)?
Если в ответ на транзакцию нет номера заявки, и нет какого либо цифрового кода в круглых скобках и нет слова FORTS, значит заявка была отвергнута сервером. Кроме случая когда транзакции не доступны (нет прав) И кроме случаев когда тест транзакции содержит синтаксическую ошибку. В этом месте ошибку возвращает терминал Quik
Sergey Gorokhov пишет: По возможностям, айсберг через модуль, мало чем отличается от айсберга на фондовой секции.
Это как? Айсберг-заявки официально поддерживаются на валютном и срочном рынках?
С чего Вы взяли. Я не помню чтобы такое кто-то говорил
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 22:50:00
Цитата
Серж пишет: Тут вопрос ещё в том, а знает ли сам терминал по каким инструментам трейдеру разрешены операции? Или он узнаёт об этом только, когда в ответ на транзакцию с сервера приходит ответ с ошибкой?
Здравствуйте, Есть два пути. 1) по классу может стоять запрет на транзакции в правах. В этом случае подать заявку через интерфейс нельзя, просто пункт меню будет не активен. Через Lua определить такие классы можно, например подав заведомо неисполнимую транзакцию. Если в ответ придет что-то вроде, для данного класса транзакция не найдена, значит стоит запрет в правах. 2) Транзакции могут быть доступны, но ограничены брокером. Способов ограничить великое множество. В этом случае транзакция в терминале будет, и ее даже можно будет подать. Но в ответ будет приходить тот-или иной отказ в зависимости от способа ограничения.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 22:39:59
Цитата
Дмитрий пишет: А где-то можно прочитать подробности о сути этой эмуляции - как именно она реализована?
Описание модуля есть на нашем сайте
Но про айсберг там мало написано. По возможностям, айсберг через модуль, мало чем отличается от айсберга на фондовой секции.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 22:22:29
Цитата
Дмитрий пишет: Вопрос немного не по теме - а айсберг заявки можно выставлять не только по акциям на фондовой секции Московской биржи, но также и на других секциях (на валютном, на срочном рынке)?
В общем случае нет нельзя. Но в частном, у нас есть спец модуль для сервера. Если брокер его у себя поставит, то можно будет ставить эмуляцию айсберг заявки.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 22:05:30
Цитата
swerg пишет: Есть ли в планах опубликовать список доступных транзакций, причем как-то однозначно идентифицированных (например, тупо уникально пронумерованных)? иначе мне не очень понятно как может подать такую транзакцию англоговорящий трейдер (а ведь таковые вроде как есть, судя по новостям). Или таковым не судьба подавать подобные транзакции?
Если мы опубликуем список доступных транзакций то наша документация просто лопнет :) Дело в том что на каждом рынке, на каждом классе, для разных целей, есть разные транзакции. И их просто гигантское количество. Посмотрите сами в меню Торговля - Транзакции, Вы увидите сколько их. А представьте что у менеджера их еще больше. А если еще подсчитать сколько классов существует.... Самые популярные транзакции опубликованы в руководстве и для них в коде прошиты константы, которые Вы и видите в руководстве. А для остальных, константы не прописаны, и подавать такие транзакции нужно как есть. Это самое "как есть" очень легко увидеть добавив транзакцию в карман транзакций и сделав экспорт из него в tri файл. Мы называем это универсальный формат транзакции.
Англоязычные пользователи будут подавать транзакции на английском. Я чуть слукавил, говоря что по английски нельзя Дело в том, что в русском терминале надо подавать такие транзакции только на русском, а в английском только на английском. Но нельзя подавать русские транзакции в английском или английские в русском. Это правило касается только для универсального формата транзакций.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 21:57:08
Цитата
Дмитрий пишет: А разве автор темы спрашивал про стоп-заявку? У него написано просто "заявка".
Просто заявки не переносятся. Просто потому что в этом нет необходимости, они не привязаны к серверу Quik. А вот стоп заявки привязаны.
Сделать заявку своей, средствами qlua
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 21:27:11
Здравствуйте, Средствами скрипта сделать стоп заявку своей можно отправив транзакцию со следующими параметрами local trans = { ["TRANS_ID"] = "1", ["ACTION"] = "Сделать стоп-заявку своей", ["CLASSCODE"] = "SPBFUT", ["Номер стоп-заявки"] = "123456789" } local res = sendTransaction(trans)
по английски нельзя.
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 23.01.2015
13.02.2015 21:16:08
Здравствуйте! Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
Когда - линии тренда будут четко привязанны к графику при смене интервала времени?
Пользователь
Сообщений: Регистрация: 23.01.2015
11.02.2015 13:03:52
sam063rus,Я в вопросе опечатался. Вопрос на самом деле, от куда должна начинаться трендовая линия, а не свечка.
От кудадолжна начинаться трендовая линия нарисованная от максимума часовой свечки, при переключении на 5 минутный таймфрейм, при условии что за час было две сделки с максимальной ценой в 11:35 и в 11:50
Когда - линии тренда будут четко привязанны к графику при смене интервала времени?
Когда - линии тренда будут четко привязанны к графику при смене интервала времени?
Пользователь
Сообщений: Регистрация: 23.01.2015
11.02.2015 12:45:53
Цитата
sam063rus пишет: Однако! Что будет с такой отрисовкой если Вы будете наоборот, рисовать на меньшем тайме, а потом переходить на больший?
При увеличении таймфрейма все отображается нормально.
Когда - линии тренда будут четко привязанны к графику при смене интервала времени?
Пользователь
Сообщений: Регистрация: 23.01.2015
11.02.2015 12:43:42
Здравствуйте, Пример из жизни: За час было две сделки с одной ценой. Эта цена была максимальной в этом часе одна в 11:35, вторая в 11:50
График часовой. Рисуем трендовую линию по 11часовой свечке, где начало линии, это максимум свечки. Переключаемся на 5ти минутный таймфрейм. По Вашей логике от куда должна начинаться свечка, со свечи в 11:35 или со свечи в 11:50??
getSecurityInfo(ClassCode, secCode) возвращает значения nil
Параметры кажутся правильными. Уточните какая именно версия терминала у Вас установлена 6.16.0 или 6.16.1? Если 6.16.0, обновитесь до 6.16.1 и повторите попытку.
getSecurityInfo(ClassCode, secCode) возвращает значения nil
Пользователь
Сообщений: Регистрация: 23.01.2015
11.02.2015 11:38:11
Здравствуйте, Чему равны переменные ClassCode и Instrument??
getFuturesLimit
Пользователь
Сообщений: Регистрация: 23.01.2015
11.02.2015 07:53:05
Здравствуйте в 6.14 этой функции не было. Обновите терминал
Не возвращает значение заявки исполненной от стоп-заявки+0
Пользователь
Сообщений: Регистрация: 23.01.2015
10.02.2015 13:41:49
Юрий Дернов, Юрий какую версию терминала Вы используете?
Не возвращает значение заявки исполненной от стоп-заявки+0
Пользователь
Сообщений: Регистрация: 23.01.2015
10.02.2015 10:00:17
Здравствуйте, Ничего не менялось, код у нас работает (проверяли на версии 6.16.1) Параметр LINKED_ORDER появится только когда стоп заявка исполнится, быть может в этом проблема?
XML-файл спцификации FIX-протокола
Пользователь
Сообщений: Регистрация: 23.01.2015
10.02.2015 09:50:34
Цитата
sam063rus пишет: в частности, интересует на кого рассчитаны FIX-решения? На брокеров или на обычных трейдеров?
Есть для клиентов есть и для брокеров. Но большая часть конечно же на брокеров. Почитайте на сайте
самое интересное, что если удалить скрипт из списка и опять добавить - то, всё находится без проблем
Самое интересное в том что если путь не указан то файл ищется по относительному пути. и так как при первом запуске он правильный то все работает. Но как только путь где-либо поменять (например открыть другой скрипт из другой папки), то первый теряет свою папку и после перезапуска уже не запускается. Но как только Вы его удалите и добавите снова, то путь восстановится. Решение уже было озвучено. Надо явно указать путь к модулю.
XML-файл спцификации FIX-протокола
Пользователь
Сообщений: Регистрация: 23.01.2015
09.02.2015 12:26:28
У нас есто много разных FIX приборов, для разных целей разные приборы. И для каждого из них спецификация протокола описана в руководстве пользователя. Соответственно если у Вас есть какой-либо из наших FIX приборов, поищите информацию в документации.
доступ к строкам таблицы изменений параметров, почему его нет?
Пользователь
Сообщений: Регистрация: 23.01.2015
09.02.2015 09:46:59
Дмитрий, Да Вы правы. Боюсь что имеющимися средствами построить таблицу истории из двух и более параметров никак не получится.