Активна - заявка висит в стакане. Неактивна - не висит в ствкане (убита). Снята - это не полностью выполнилась (или вообще не дала ни одной сделки) и поступил приказ на ее убиение. Можно посмотреть, была ли снята вручную и так далее.
Пасхалочка для Алексея Иванникова:
Подскажите по флагам
Пользователь
Сообщений: Регистрация: 30.01.2015
27.01.2019 19:27:56
Читайте таблицу заявок, находите в ней нужную по номеру (номер получите в ontransteply) и опять же смотрите balance и флаги (активна, снята и т.д)
по флагам не скажу. Если интересующие вас биты не присутствуют в документации, значит это служебная информация и обычным крестьянам в их сермяжной жизни они не требуются )
Пасхалочка для Алексея Иванникова:
Подскажите по флагам
Пользователь
Сообщений: Регистрация: 30.01.2015
27.01.2019 14:19:09
Чтобы узнать, сколько было куплено/продано по заявке
подпишитесь на событие onorder. смотрите поле balance -там будет остаток. Onorfer будет приходить после каждой сделки по заявке и ещё в некоторых иных случаях.
Пасхалочка для Алексея Иванникова:
Описание для горизонтальной линии
Пользователь
Сообщений: Регистрация: 30.01.2015
25.01.2019 15:37:19
Цитата
Николай Камынин написал: забыл сказать. время в лог файле компьютера (местное) Компьютер синхронизирован с атомными часами(сервером времени).
Николай, я не буду с вами спорить больше.
Во первых, вы отвечаете мне совсем не в тойтветке где было начало обсуждения.
во вторых, вы невнимательно прочли то, что я вам написал раньше. Момент очистки и момент начала торгов - это разные вещи. Они никогда не совпадают по времени в реальности. ваш случай я отдельно упомянул: в случае когда компьютер выключается на ночь, очистка происходит в момент подключения. Вы мне приводите лог в момент начала торгов.
за дальнейшими консультациями по этому обращайтесь к разработчикам.
Пасхалочка для Алексея Иванникова:
Получение в индикаторе данных со старшего таймфрейма
Пользователь
Сообщений: Регистрация: 30.01.2015
24.01.2019 21:09:51
Вы путаете понятия "начало торгов" и "смена торговой даты". Это не одно и то же.
когда вы включаете терминал впервые утром к примеру в 9-30, у вас при подключении к серверу происходит cleanup и меняется дата. При этом пересчитывается все и вся, включая графики.
если вы не выключите на ночь компьютер, то все равно произойдет cleanup в момент, определяемый брокером. Это можно проверить, написав простейший скрипт с колбеком oncleanup
в момент начала торгов конечно ничего подобного уже не происходит, ибо незачем.
Пасхалочка для Алексея Иванникова:
Получение в индикаторе данных со старшего таймфрейма
написал: Считать только на той свече, которая является последней.
Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
когда начинаются новые торги графики не рестартуются. Поэтому у Вас все правильно. Но если вам мешают линии ранее нарисованные, то сотрите их, либо сделайте рестарт графика а в скрипте поставьте условие рисования линий по времени и дате.
ну как же не рестартуются?
смена торгового дня всегда приводит через процедуру очистки (даже колбек даден - oncleanup).
посмотрите на досуге, как утром в момент подключения все ваши графики становятся черными, ресетятся все экранные таблицы и начинается перестроение графиков.
я вам даже индикатор напишу, вот он:
function oncalculate(i) message(tostring(i)) end
запустите его на ночь и посмотрите, как происходит пересчет графиков и не обманывайте никого.
Пасхалочка для Алексея Иванникова:
Получение в индикаторе данных со старшего таймфрейма
написал: Считать только на той свече, которая является последней.
Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
когда начинается новый день на реальных торгах индикатор делает полный рестарт, вся имеющаяся на нем информация стирается и начинается новый расчет с первой свечи. Поэтому написанное вами происходить не может и вам следует поискать ошибку.
Пасхалочка для Алексея Иванникова:
Описание для горизонтальной линии
Пользователь
Сообщений: Регистрация: 30.01.2015
24.01.2019 12:21:50
Из встроенного языка это невозможно. Просьбы об этом были ещё лет 5 назад, разработчикам наплевать.
Пасхалочка для Алексея Иванникова:
Получение в индикаторе данных со старшего таймфрейма
Пользователь
Сообщений: Регистрация: 30.01.2015
24.01.2019 12:20:25
Считать только на той свече, которая является последней.
Пасхалочка для Алексея Иванникова:
Получение в индикаторе данных со старшего таймфрейма
Пользователь
Сообщений: Регистрация: 30.01.2015
24.01.2019 01:03:45
Для расчета этих данных совершенно не требуется информация о недельном таймфрейма.
у вас есть все на текущем таймфрейма, если он не месячный.
у каждой свечи есть время, смотрите от текущей свечи влево, находите свечу, где с енилась неделя и идите дальше до следующей смены недели. При этом рассчитайте low и high.
Пасхалочка для Алексея Иванникова:
Получение в индикаторе данных со старшего таймфрейма
Пользователь
Сообщений: Регистрация: 30.01.2015
23.01.2019 09:20:53
Есть и другой вариант.
пересчитать свечи из текущего таймфрейма в более старший внутри индикатора. При этом длительности таймфрейма должны быть кратны.
Пасхалочка для Алексея Иванникова:
Как узнать торгую ли я на реальном счёте, Реальность счета
написал: Здравствуйте подскажите как в системе QUIK посмотреть реальный у меня счёт или демо счёт, тема возникла от того что у меня нет доступа к работе с продажей акций (SHORT)
Добрый день. Мы правильно понимаем, что у Вас возникли сложности в определении того, торгуете ли Вы на реальном счёте или же на нашем демо? Это несколько странно. Адрес нашего учебного сервера 91.209.122.220, посмотрите куда Вы подключаетесь.
странный ответ
а если демо используется без подключения к серверу?
Пасхалочка для Алексея Иванникова:
возможности и производительности LUA
Пользователь
Сообщений: Регистрация: 30.01.2015
18.01.2019 22:51:24
100 стаканов запросить с сервера можно, проблем нет.
пакеты/стаканы есть вещь умозрительная. Для вас в луа есть сигнал обновления стакана (колбек). Сигнал пришел -запрашивайте изменение. Все остальное - околовсяческое...
Андрей написал: Какие минимальные цены можно получить по текущему фьючерсу, и за какой период? (За текущую сессию, за все время жизни фьючерса, минимально возможная его цена до конца закрытия или за произвольный период, например за последние 10 дней?) И по каким таблицам, если это можно
Через createdatasource с параметром minprice за всю историю фьючерса
Пасхалочка для Алексея Иванникова:
Как регулировать количество фьючерсных контрактов в стопе?
Пользователь
Сообщений: Регистрация: 30.01.2015
13.01.2019 10:39:00
Цитата
Константин написал: Здравствуйте. Помогите связать количество имеющихся контрактов со стопом. вот я купил 2 фьючерса ,поставил стоп продать два контракта и один потом продал вручную. а размер стопа не изменился . как сделать чтобы количество имеющихся контрактов было привязано к стопу и если я закрыл позицию руками из стопа это количество вычиталось?
средставими терминала никак.
писать скрипт на встроенном языке
Пасхалочка для Алексея Иванникова:
Функция CreateDataSource, Возможно ли получать данные с её помощью по любому инструменту не открывая его график?
Пользователь
Сообщений: Регистрация: 30.01.2015
13.01.2019 10:37:27
Цитата
Анатолий написал: Может быть потому что я на демо-счете?
когда вы вызываете crestedatasource, происходит только запрос данных из терминала на сервер. Сами данные с сервера приходят позже. Вы наверняка хотите их видеть немедленно после createdatasource, но их ещё нет.
если у вас открыт график, то запрос был послан в момент открытия графика и данные уже успели приехать с сервера. Поэтому вы из видите сразу.
вывод. После createdatasource читать данные нужно не сразу а по мере их прихода в терминал
Пасхалочка для Алексея Иванникова:
Что означает параметр Settings.Period, Создание технического индикатора
Пользователь
Сообщений: Регистрация: 30.01.2015
07.01.2019 23:05:31
Возможности нет. Предложения разработчикам об этом поступали много лет назад, но их это не интересует.
Делайте строковый параметр и анализируйте его.
Пасхалочка для Алексея Иванникова:
Депозит на демо, Нужно обновить
Пользователь
Сообщений: Регистрация: 30.01.2015
05.01.2019 18:14:44
Пожалуйста, продлите на тот же или (лучше) больший срок доступ к учебному серверу для пользователя qtest078.
спасибо.
Пасхалочка для Алексея Иванникова:
Одинаковые значения в таблицы lua
Пользователь
Сообщений: Регистрация: 30.01.2015
29.12.2018 13:24:09
А если нужно получить не только количество повторений, но и само число, тогда нужно ещё раз пройтись по таблице t11 и найти ключ, значение которого равно max.
Пасхалочка для Алексея Иванникова:
Одинаковые значения в таблицы lua
Пользователь
Сообщений: Регистрация: 30.01.2015
29.12.2018 13:19:57
local t11 = {}
for _,v in pairs(T1) do t11[v] = (t11[v] or 0 ) +1 end
local max = -math.huge for _,v in pairs(t11) do max =math.max(max, v) end
-- print(max)
пишу на телефоне, проверьте.
Пасхалочка для Алексея Иванникова:
Уведомление о достижении индикатором определенного значения.
Пользователь
Сообщений: Регистрация: 30.01.2015
29.12.2018 00:13:25
Андрей, я ответил на этот и остальные ваши вопросы почтой.
Пасхалочка для Алексея Иванникова:
Особенности функции Size
Пользователь
Сообщений: Регистрация: 30.01.2015
29.12.2018 00:09:48
А вот это уже полная ерунда.
индикатор может быть запущен и без подключения к брокеру.
касаемо графиков и пустоты. У таксиста нет привычки думать, зачем его клиент едет в указанное место.
Пасхалочка для Алексея Иванникова:
Особенности функции Size
Пользователь
Сообщений: Регистрация: 30.01.2015
27.12.2018 18:33:57
Кстати да, так можно.
Подставим костылик очередной. Только закешировать значения исходного графика при этом имеет смысл...
Пасхалочка для Алексея Иванникова:
Особенности функции Size
Пользователь
Сообщений: Регистрация: 30.01.2015
27.12.2018 15:17:00
Здравствуйте.
Задача.
Индикатор. Необходимо выполнять определенные действия в oncalculate только на самой правой, текущей свече, игнорируя все предыдущие.
Очевидная попытка решения
function OnCalculate(i) if i == Size() then do_it() end end
к успеху не приводит, если на графике построен какой-либо индикатор, сдвинутый вправо.
При этом Size() показывает увеличенное на величину сдвига число свечей.
Узнать величину этого сдвига возможности нет.
Вопрос. Как решить поставленную задачу?
Спасибо.
Пасхалочка для Алексея Иванникова:
Обучение или заказ робота?, Нужен совет: стоит ли обучаться написанию роботов или лучше сразу готовый заказать?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.12.2018 10:36:59
Если идея уже вами опробована и вы в состоянии однозначно сформулировать алгоритм - лучше заказать. В этом случае вы получите в осмысленные сроки нечто, реализующее этот ваш алгоритм.
в зависимости от квалификации исполнителя вы получите либо простецкую поделку либо нечто живое.
чтобы найти подходящего программиста можно дать объявление на этом форуме. Можно сразу написать мне )
Пасхалочка для Алексея Иванникова:
Отображение на графике минимально/максимально возможной цены фьючерса
Пользователь
Сообщений: Регистрация: 30.01.2015
19.12.2018 22:48:15
Закажите получение этих параметров с сервера.
если не понятнл, как это сделать - обращайтесь к брокеру, помогать в таких вопросах есть его прямая обязанность.
Пасхалочка для Алексея Иванникова:
Отображение на графике минимально/максимально возможной цены фьючерса
Пользователь
Сообщений: Регистрация: 30.01.2015
19.12.2018 19:22:20
Самый лучший вариант - это построить в квике график истории параметров min возм цена и макс возм цена. программировать не нужно.
Пасхалочка для Алексея Иванникова:
Время среза стакана
Пользователь
Сообщений: Регистрация: 30.01.2015
18.12.2018 19:26:50
Никак.
колбек onquote вы получаете при стечении следующих событий:
компьютер торговой системы увидел, что очередь заданий у него пуста и с прошлого среза стакана прошло больше секунды.
информация об этом срезе доехала до вашего компьютера, по пути заглянув в Мексику и Юар.
ваш терминал распаковал пакет с данными, что то куда то рассовал и поместил задание "вызвать колбек" в планировщик заданий.
все неотложные задания выполнены и дело дошло до вашего колбека - он вызван.
и какое отношение время вызова колбека имеет к моменту среза стакана в торговой системе?
Пасхалочка для Алексея Иванникова:
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 30.01.2015
17.12.2018 09:44:42
Индексировать сделки нужно отдельно не по инструментам, а по классам.
номера сделок в разных классах могут совпадать.
Пасхалочка для Алексея Иванникова:
Ошибка при вызове ds:Close()
Пользователь
Сообщений: Регистрация: 30.01.2015
15.12.2018 14:42:19
Лучше беспокоиться.
сегодня подписки закрываются в онстоп, завтра нет. Это же не документировано и легко может быть изменено, как не раз бывало.
Пасхалочка для Алексея Иванникова:
Интерфейс в Lua, Диалог из Lua
Пользователь
Сообщений: Регистрация: 30.01.2015
15.12.2018 01:48:56
Устанавливайте package.cpath а не package.path
Пасхалочка для Алексея Иванникова:
Данные из стакана котировок
Пользователь
Сообщений: Регистрация: 30.01.2015
13.12.2018 20:35:42
если кидаете заявку хуже рынка - она исполняется.
вы получите колбеки
onorder - о том, что заявка доехала до биржи ontrade - о том, что произошла сделка.
Пасхалочка для Алексея Иванникова:
Интерфейс в Lua, Диалог из Lua
Пользователь
Сообщений: Регистрация: 30.01.2015
12.12.2018 13:31:27
Обработчики событий пользовательских таблиц работают не в потоке main. В общем случае так делать не стоит.
Пасхалочка для Алексея Иванникова:
kill inactive stop order
Пользователь
Сообщений: Регистрация: 30.01.2015
03.12.2018 21:22:37
Возможно я чего то не замечаю, но вижу следующее.
При попытке исполнить транзакцию kill_stop_order для неактивной стоп-заявки не приходит ответ ontransaction.
написал: В версии луа 5.1 которая в терминале, нет функции table.unpack(), но есть unpack()
вы случайно не знаете, почему разработчики КВИКа упорно не хотят обновлять версию Луа до 5.3? Уже 6 лет прошло с тех пор как внедрили Луа в КВИК...
потому что эта работа стоит денег, а кардинального улучшения потребительских свойств продукта при этом не произойдет.
Пасхалочка для Алексея Иванникова:
функция Unpack
Пользователь
Сообщений: Регистрация: 30.01.2015
02.12.2018 12:43:25
В версии луа 5.1 которая в терминале, нет функции table.unpack(), но есть unpack()
Пасхалочка для Алексея Иванникова:
Ночью отваливается скрипт QLUA
Пользователь
Сообщений: Регистрация: 30.01.2015
29.11.2018 17:18:13
С вероятностью близкой к 100 дело в скрипте.
ночью сервер отсутствует, а терминал со скриптом работают. Скрипт скорее всего написан наивно и не учитывает такой ситуации. В нем возникает ошибка исполнения и терминал его останавливает.
соответственно утром вы видите скрипт в незапущенном состоянии.
Пасхалочка для Алексея Иванникова:
Проблемы с math.random
Пользователь
Сообщений: Регистрация: 30.01.2015
27.11.2018 20:14:23
перепишите на луа, это просто.
Пасхалочка для Алексея Иванникова:
Moving Averege - уровни, Построение канала на основе Moving Averege
Пользователь
Сообщений: Регистрация: 30.01.2015
27.11.2018 11:24:50
постройтн вашу скользящую среднюю, дайте ей идентификатор в настройках и создавайте любые сдвинутые вверх или вниз копии.
аыражение будет выглядеть как то типа
A + 5
если нужно сдвинуть вверх на 5 рублей
Пасхалочка для Алексея Иванникова:
Экспорт по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 30.01.2015
26.11.2018 21:39:21
Цитата
Михаил Филимонов написал: Зоя! Ваша компания делает ВСЁ ВОЗМОЖНОЕ, чтобы Ваши пользователи не НОРМАЛЬНО пользовались Вашим продуктом, а получали проблемы! Если есть таблица "Состояние счёта", то в ней должны быть доступны все элементы для экспорта!!! Квик и так не очень быстро работает, а Вы делаете всё чтобы ещё больше усложнить конечным пользователям использование!
Михаил.
Идеал недостижим.
В поисках оного отправляйтесь в сторону метатрейдера.
Хотя как понимаю, вам там не понравилось тоже.
Пасхалочка для Алексея Иванникова:
Проблемы с math.random
Пользователь
Сообщений: Регистрация: 30.01.2015
26.11.2018 21:35:20
-------------------------------------------------------------------- -- round (number, p = 0) -- Округление до требуемого знака. -- round(123.456,-2) = 100 -- round(123.456,1) = 123.5 -- round(123.456) = 123 function math.round(value, p)
local e = 10 ^ (p or 0) return math.floor(tonumber(value) * e + 0.5) / e end
Пасхалочка для Алексея Иванникова:
Переносить заявку, Дата экспирации в LUA скриптах.
написал: Вопрос можно задать иначе: как узнать язык терминала?
Не совсем понятно, в чем вопрос? Что значит как узнать язык терминала?
рабочее место терминала может рисовать в меню кириллицу или латиницу. Соответственно и транзакции в каждом случае будут содержать разный текст : либо на русском, либо на английском.
чтобы скрипт работал правильно в обоих случаях, выдавал транзакции (и сообщения) на нужном языке, необходимо из скрипта узнать, какой язык установлен в терминале.
вот я и спрашиваю, как узнать этот язык.
в крайнем случае, если это невозможно без бубна (это же Квик), вопрос можно сузить до следующего. Как сделать, чтобы скрипт посылал транзакции на нужном языке? Если все время слать транзакции на русском, то в английской версии терминала они не пройдут и наоборот. А хочется иметь возможность писать скрипты, которые работают в терминалах с русским языком и с английским тоже.
Пасхалочка для Алексея Иванникова:
Переносить заявку, Дата экспирации в LUA скриптах.
Пользователь
Сообщений: Регистрация: 30.01.2015
22.11.2018 14:50:08
Вопрос можно задать иначе: как узнать язык терминала?
Пасхалочка для Алексея Иванникова:
Переносить заявку, Дата экспирации в LUA скриптах.
В LUA скриптах хотелось бы латинскими буквами набирать эти параметры заявок. Дату экспирации, хотелось бы ставить равной дате экспирации указанного инструмента, автоматически.
1. Вы можете указывать имена на английском, если сам терминал QUIK будет на английском. Однако, русские имена не поддерживаются в английском терминале и на оборот. В этом месте не планируется изменение логики.
2. Это как? В самом терминале или в LUA скрипте, если в LUA скрипте, то как вы видите реализацию данной задачи.
а как написать скрипт, использующий эти транзакции таким образом, чтобы он работал и на английской и на русской версии терминала?
Пасхалочка для Алексея Иванникова:
Lua и dll на C
Пользователь
Сообщений: Регистрация: 30.01.2015
22.11.2018 10:26:57
Не там ищете.
склрее всего вы разрушаете целостность данных во внешней dll. В первую очередь обратите внимание на правильность обмена данными между потоками.
Пасхалочка для Алексея Иванникова:
Работа со строками LUA
Пользователь
Сообщений: Регистрация: 30.01.2015
11.11.2018 23:37:08
local a,b = string.match(str,"(.-%[).-(%].*)") local result = a .. b
соазу скажу, не проверял, но идея должна быть понятна.
Пасхалочка для Алексея Иванникова:
Рублёвый объём позиции фьючерсов с долларовыми пунктами, График рублёвой цены фьючерса по графикам фьючерса на индекс РТС и на курс доллара к рублю
написал: В работе Quik без подключения к серверу при смене тайм-фрейма наблюдается такая аномалия, что значения котировок close() и т.п. для второго графика Settings.GraphId2 оказываются все нулевые. Это делает невозможным построение графика по двум другим сразу после смены тайм-фрейма. Для получения графика нужно открыть его диалог "Редактирование настроек графика" и нажать кнопку "OK".
Уточните версию терминала QUIK
в любой.
зависит от очередности построения индикаторов терминалом.
Пасхалочка для Алексея Иванникова:
Сигнальная система на языке Lua для QUIK 7.19.0.51 под Win7, Заказ на разработку скрипта
Пользователь
Сообщений: Регистрация: 30.01.2015
05.11.2018 20:04:43
Берите готовое.
Бесплатно, то есть даром )
Пасхалочка для Алексея Иванникова:
Временно скрыть область/индикатор в диаграммах, Добавить чекбокс для временного скрытия/отображения целой области/индикатора
Пользователь
Сообщений: Регистрация: 30.01.2015
04.11.2018 20:19:05
Просто уменьшите высоту ненужного вам окна диаграммы до 0