['TRANS_ID'] = '1', -- Номер транзакции ['ACCOUNT'] = 'L01-00000F00', -- Код счета ['CLASSCODE'] = 'TQBR', -- Код класса ['CLIENT_CODE'] = '123456', -- Код клиента ['SECCODE'] = 'ALRS', -- Код инструмента ['ACTION'] = 'KILL_ALL_ORDERS', -- Тип транзакции ('NEW_ORDER' - новая заявка)
Ошибка точно такая же: "Отправка транзакций данного типа из QPILE-скрипта не поддерживается."
когда вы говорите терминалу вручную "сними все" он посылает транзакции для каждой бумаги, которая есть у вас в портфеле. То же самое необходимо делать и вам из скрипта
Естественно, что я заполняю поля, пример: ['TRANS_ID'] = '1' -- Номер транзакции ['ACCOUNT'] = 'SPBFUT00001' -- Код счета ['CLASSCODE'] = 'SPBFUT' -- Код класса ['SECCODE'] = 'BRG0' -- Код инструмента ['ACTION'] = 'KILL_ALL_ORDERS', -- Тип транзакции
Александр М написал: и это точно вы не успеете за оставшиеся 14 дней
Александр, не могли бы сформулировать для обчего развития суть претензии к АРКА вида:
вы, нехорошие люди, давно должны были понимать, что число в 19 цифер в номерах срочно было очень надо, тк .... _вставить нужное_ ... и ничего не было сделано - позор!
Чтобы что-то формулировать, надо получить ответ, что ДА проблема есть во всех существующих версиях, будет релиз, в котором будет сделано .... И что будет сделано надо писать заранее, а не по факту. Если будут изменены типы полей на строку например, то это однозначно изменение в скриптах.
Работа с заявками и сделками - это базовые вещи, если вы начнете их менять на строку, то там вылезет у вас куча ошибок, и это точно вы не успеете за оставшиеся 14 дней, а нам придется переделывать все скрипты, которые торгуют.
_sk_ написал: С этим не поспоришь. Только лучше бы знать, к чему нам готовиться. Время то уже тикает, до 16 декабря не так уж много времени осталось. Хотя бы спецификации уже есть? Номера будут строками приходить, раз они в Lua NUMBER не укладываются? Или будет обновление Lua до 5.3, где есть поддержка long на 64-бита?
К сожалению мы не имеем права разглашать информацию до официального релиза.
Осталось 14 дней, а программа еще не готова? Ее же не только вы должны выпустить, но и брокеры распространить.
А что будет с версиями 7.ХХ?
Как будут отрабатывать все текущие функции, которые возвращают таблицу, в которой присутствует номер заявки или номер сделки? Ждем официального ответа по этому поводу.
Александр написал: Александр М, Чел купил вашу линию индикатор и будет писать скрипт по для использования вашей линии. Неужели есть такие, просто интересно. Я не против линии, но неужели написать торговый скрипт проще)
Есть конечно. Индикатор сам по себе, а скрипт сам по себе. Индикатор всего лишь повторяет функциональность трендовой линии и позволяет мышкой произвольно нарисовать эту линию, далее скрипт снимает значение индикатора, как это делается по абсолютно любому индикатору в QUIK. Скрипт можно заказать вообще у другого специалиста и не обязательно именно под данный индикатор, скрипту вообще все равно, какой индикатор используется.
Александр написал: Александр М, Зачем пользователю ваша линия? Что с ней делать?
Как Вы думаете, зачем тут коллеги целую тему создали, чтобы повторить трендовую линию, которая уже есть в QUIK. Очевидно затем, чтобы значение этой линии можно было считать из скрипта Lua, т.к. у меня не просто линия, это Индикатор.
Ещё один. Из видео невозможно понять, меняется ли линия индикатора сама или только при получении новых свечек/перестройке индикатора, поэтому ваша ссылка бесполезна.
Общайтесь корректно к коллегам, тогда и они начнут вас уважать. Из видео прекрасно видно, что линия меняется сама с заданной задержкой. Задержка сделана специально, надеюсь понимаете для чего.
nero333 написал: А можно ли получить координаты точек линии тренда, построенной вручную, при помощи сторонних средств? (то, о чём спрашивал Ilya несколькими сообщениями ранее)
Если у кого-то получалось, напишите, пожалуйста, в каком направлении двигаться.
Вопрос: Во всех приходящих колбеках в OnOrder(order) и OnTrade(trade) при любых статусах обязательно будет заполнено поле trans_id, если я его предварительно заполнил в транзакции со стороны скрипта? Т.е. проверкой данного поля я гарантированно поймаю свои заявки и сделки?
У вас по коду между строками: DS = CreateDataSource(CLASS_CODE, SEC_CODE, INTERVAL); и DS:SetEmptyCallback() нету ожидания получения источника данных вообще. Когда вы добавляете message, то он какое-то время занимает, пока выполняется, в это время часть или все данные могут успеть получиться. Может проблема в этом. Обычно там небольшой цикл вставляют на ожидание и проверку. что данные получены.
Лии написал: Кто подскажет как продлить, пересчитать линию в индикаторе фрактал до последней свечи. Похоже пошел по самому трудному пути) Пожалуйста, необходима помощь как быть дальше. Может кто уже решал данную задачу. Спасибо. Скрытый текст
Да, этот компилятор можно использовать (я использовал именно его). Что касается LuaForWindows, я не видел x64 сборку данного пакета, по данному вопросу могу посоветовать только обратиться к его разработчикам.
Nikolay Pavlov написал: К сожалению, повторной компиляции скриптов под x64 не избежать, это последствия смены архитектуры терминала, т.к. в нем используется уже x64 интерпретатор Lua. В документацию обязательно добавим информацию.
Конкретно вот этот компилятор годится для вашей новой архитектуры?:
Nikolay Pavlov написал: Добрый день. Для корректной работы с *.luac файлами в терминале 8.0 необходимо исходные *.lua файлы скомпилировать x64 версией Luac.exe
Т.е. для всех версий вплоть до 7.27 мне надо компилировать по старому. а для 8.0 отдельно компилировать x64 luac.exe
Очень удобно сделали и заранее предупредили главное всех о таком событии.
Скачал с сайта только что, в файле "Использование Lua на рабочем месте", ни слова нету про компиляцию.
После обновления на версию 8.0 все индикаторы и скрипты, сделанные на Lua перестали работать, по скриптам пишет ошибку "bad header in precompiled chunk".
никаких dll или сторонних библиотек не используется в скриптах. Скрипты скомпилированы через стандартную команду:
После обновления на версию 8.0 все индикаторы и скрипты, сделанные на Lua перестали работать, по скриптам пишет ошибку "bad header in precompiled chunk".
никаких dll не используется в скриптах. Скрипты скомпилированы через стандартную команду:
Собственный индикатор принимающий одновременно два или даже три параметра торгов, Пытаюсь сделать индикатор, которы принимает парамеры "Общий спрос" "Общее предложение" и непосредственно цена инструмента
После возврата на 7.19.0.51 проблем пока не было, так что дело точно в версии. Что касается точного времени, то тут не могу сказать, я утром подключаюсь к серверу, а там QUIK-а уже нет, получается. что он отключался от 21.00 и далее в ночь. Достаточно большой период времени. Дампов по ошибкам нету в папке dmp. В Windows ошибок в журналах нет совсем, сам сервер работает круглосуточно. Брокер БКС.
1 марта 2019 г обновился с 7.19.0.51 на 7.25.1.3, после этого QUIK стал вылетать каждые 2-3 дня, в директории dmp пусто. Windows не обновляю, никаких скриптов новых запущено не было, так что дело явно в самом обновлении. Версия 7.19.0.51 у меня работала месяцами стабильно. В результате пришлось вернуться на старую версию.
Все просят сделать простейшую вещь. Прошло три года, а воз и ныне там. Это удивительно.
Кому надо давно уже решили данную проблему сами :) На моем сайте например есть и индикатор трендовой линии и канала.
"Кому надо" здесь обсуждают проблемы, а не занимаются саморекламой.
Я просто написал, что есть готовые решения при существующей функциональности, и вовсе не обязательно пихать метки на каждый бар по всей истории графика.
Помогите пожалуйста написать код, что бы робот выставлял заявку в зависимости от лучшей покупки/продажи. Например лучшая покупка 5 рублей, а продажа 10 - робот выставляет 7 рублей (покупку или продажу). Хотелось бы иметь возможность прописывать в процентах от спрэда (?) цену которую выставляет робот. Что бы каждый раз менять можно было. Ну и если нет возможности выставить заявку, что бы останавливал все операции.
Спасибо большое за помощь!
Вы хотите полноценного робота чтобы вам написали или подсказали, какие значения брать? Есть BID и OFFER в таблице тек. торгов, они показывают лучший спрос и предложение, далее по ним считайте как хотите и результат вставляйте в транзакцию.
Хотелось бы значение + пример использование. Будьте добры покажите в примере. Спасибо большое!
Пример чего? Робота? Вот берете предложение = getParamEx(GParam.classcode,GParam.security,"OFFER").param_value А вот спрос = getParamEx(GParam.classcode,GParam.security,"BID").param_value Значение в виде строки, если надо считать, то переводите в число tonumber(), далее считаете как хотите и пишите в транзакцию.
Помогите пожалуйста написать код, что бы робот выставлял заявку в зависимости от лучшей покупки/продажи. Например лучшая покупка 5 рублей, а продажа 10 - робот выставляет 7 рублей (покупку или продажу). Хотелось бы иметь возможность прописывать в процентах от спрэда (?) цену которую выставляет робот. Что бы каждый раз менять можно было. Ну и если нет возможности выставить заявку, что бы останавливал все операции.
Спасибо большое за помощь!
Вы хотите полноценного робота чтобы вам написали или подсказали, какие значения брать? Есть BID и OFFER в таблице тек. торгов, они показывают лучший спрос и предложение, далее по ним считайте как хотите и результат вставляйте в транзакцию.
Максим написал: Добрый день, с помощью скрипта я открываю позицию по некоторому инструменту. Хотелось бы на графике отображать линию по открытой цене (т.е. горизонтальная линия идущая через весь график, соответствующая цене открытой позиции). Подскажите, пожалуйста, есть ли возможность реализовать это через Qlua? Если да, какой наиболее простой способ это сделать? Заранее спасибо.
Если вы это хотите сделать из скрипта, то самое простое - рисование метки на графике.
Андрей Пахомов написал: Люди уже 15 лет просят дать возможность простую линию на графике рисовать, а вы аж бары, да в отдельном окне... ...Хотя я тоже за эту возможность! Сам не просил ибо ...уже написал выше. Помечтаем однако о несбыточном...
Простую линию на графике нарисовать легко, у меня несколько индикаторов на эту тему есть, а вот бары в принципе недоступны.
Egor Zaytsev написал: Наименование параметра assured. Значения могут быть "Разрешены" "Запрещены"
В Руководстве пользователя Quik, в разделе QPILE, в таблице идентификаторов параметров GET_PARAM нет такого. И по-видимому ещё каких-то не хватает. А в документации по QLua такая таблица для getParamEx вообще отсутствует. Может стоит обновить эту таблицу до полного списка и добавить её в документацию по QLua... Зарегистрируйте пожелание, пожалуйста.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
С пожеланием понятно, но хотелось бы получить ответ на мой вопрос по конкретному полю и коду.
Как получить значения поля "Необеспеченные торги" в Таблице текущих торгов? Какой параметр в функции GetParamEx отвечает за это поле и какие значения оно может принимать?
Александр написал: Можно ли на луа создать окно графика в квике со своим таймфреймом, например 40 сек?
создать такое же окно как в QUIK нельзя. Можно заказать нужные данные через функцию CreateDataSource и далее что-то с ними делать.
А можно рассмотреть такой вариант как пожелание к реализации: Создание графических окон QUIK со своим тайм-фреймом с помощью скрипта на луа.
Надо смелее быть, раз уж желать, то и возможность рисования баров на графике с помощью скрипта на Lua. Т.к. это уже будет касаться не только таймфрейма.
На любой график можно вывести в отдельном окне "Количество заявок на покупку", "Количество заявок на продажу", "Суммарный спрос" и т.д. через Историю изменения параметров. Получаем побарный график в отдельном окне.
Как получить эти значения в самописном индикаторе?
В Таблице текущих торгов можно получить значения только в моменте, а нужна история, которая судя по графику есть в QUIK где-то.
Михайл, мне приходится с конца искать первый бар, где например Close~=0 Я так решаю это проблему.
Но конечно присоединяюсь к Вашему возмущению. Нельзя сделать функцию SizeI() например, которая бы возвращала именно число баров на графике, а не интервалов с учетом сдвига.
Где-то есть очередь доработок по зарегистрированным в данном форуме предложениям? Желательно с прогнозными датами решения доработки?
А то вы все регистрируете пожелания, но проходят года, а что делается в Ваших недрах, в каком порядке, с какой скоростью абсолютно неизвестно.
Я думаю, что все участники форума подпишутся, что данная информация, выложенная в публичном виде, будет всем полезна, а заодно и покажет нам, насколько ваши планы соответствуют реальности.
Вы когда создаете транзакцию, то там есть поле 'TRANS_ID', в которое пишется уникальный номер транзакции. Вы его сами прописываете, соответственно по этому номеру вы сможете ловить и заявки и сделки (связки).