Активна - заявка висит в стакане. Неактивна - не висит в ствкане (убита). Снята - это не полностью выполнилась (или вообще не дала ни одной сделки) и поступил приказ на ее убиение. Можно посмотреть, была ли снята вручную и так далее.
Читайте таблицу заявок, находите в ней нужную по номеру (номер получите в ontransteply) и опять же смотрите balance и флаги (активна, снята и т.д)
по флагам не скажу. Если интересующие вас биты не присутствуют в документации, значит это служебная информация и обычным крестьянам в их сермяжной жизни они не требуются )
Чтобы узнать, сколько было куплено/продано по заявке
подпишитесь на событие onorder. смотрите поле balance -там будет остаток. Onorfer будет приходить после каждой сделки по заявке и ещё в некоторых иных случаях.
Николай Камынин написал: забыл сказать. время в лог файле компьютера (местное) Компьютер синхронизирован с атомными часами(сервером времени).
Николай, я не буду с вами спорить больше.
Во первых, вы отвечаете мне совсем не в тойтветке где было начало обсуждения.
во вторых, вы невнимательно прочли то, что я вам написал раньше. Момент очистки и момент начала торгов - это разные вещи. Они никогда не совпадают по времени в реальности. ваш случай я отдельно упомянул: в случае когда компьютер выключается на ночь, очистка происходит в момент подключения. Вы мне приводите лог в момент начала торгов.
за дальнейшими консультациями по этому обращайтесь к разработчикам.
Вы путаете понятия "начало торгов" и "смена торговой даты". Это не одно и то же.
когда вы включаете терминал впервые утром к примеру в 9-30, у вас при подключении к серверу происходит cleanup и меняется дата. При этом пересчитывается все и вся, включая графики.
если вы не выключите на ночь компьютер, то все равно произойдет cleanup в момент, определяемый брокером. Это можно проверить, написав простейший скрипт с колбеком oncleanup
в момент начала торгов конечно ничего подобного уже не происходит, ибо незачем.
s_mike@rambler.ru написал: Считать только на той свече, которая является последней.
Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
когда начинаются новые торги графики не рестартуются. Поэтому у Вас все правильно. Но если вам мешают линии ранее нарисованные, то сотрите их, либо сделайте рестарт графика а в скрипте поставьте условие рисования линий по времени и дате.
ну как же не рестартуются?
смена торгового дня всегда приводит через процедуру очистки (даже колбек даден - oncleanup).
посмотрите на досуге, как утром в момент подключения все ваши графики становятся черными, ресетятся все экранные таблицы и начинается перестроение графиков.
я вам даже индикатор напишу, вот он:
function oncalculate(i) message(tostring(i)) end
запустите его на ночь и посмотрите, как происходит пересчет графиков и не обманывайте никого.
s_mike@rambler.ru написал: Считать только на той свече, которая является последней.
Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
когда начинается новый день на реальных торгах индикатор делает полный рестарт, вся имеющаяся на нем информация стирается и начинается новый расчет с первой свечи. Поэтому написанное вами происходить не может и вам следует поискать ошибку.
Для расчета этих данных совершенно не требуется информация о недельном таймфрейма.
у вас есть все на текущем таймфрейма, если он не месячный.
у каждой свечи есть время, смотрите от текущей свечи влево, находите свечу, где с енилась неделя и идите дальше до следующей смены недели. При этом рассчитайте low и high.
Александр написал: Здравствуйте подскажите как в системе QUIK посмотреть реальный у меня счёт или демо счёт, тема возникла от того что у меня нет доступа к работе с продажей акций (SHORT)
Добрый день. Мы правильно понимаем, что у Вас возникли сложности в определении того, торгуете ли Вы на реальном счёте или же на нашем демо? Это несколько странно. Адрес нашего учебного сервера 91.209.122.220, посмотрите куда Вы подключаетесь.
странный ответ
а если демо используется без подключения к серверу?
100 стаканов запросить с сервера можно, проблем нет.
пакеты/стаканы есть вещь умозрительная. Для вас в луа есть сигнал обновления стакана (колбек). Сигнал пришел -запрашивайте изменение. Все остальное - околовсяческое...
Андрей написал: Какие минимальные цены можно получить по текущему фьючерсу, и за какой период? (За текущую сессию, за все время жизни фьючерса, минимально возможная его цена до конца закрытия или за произвольный период, например за последние 10 дней?) И по каким таблицам, если это можно
Через createdatasource с параметром minprice за всю историю фьючерса
Константин написал: Здравствуйте. Помогите связать количество имеющихся контрактов со стопом. вот я купил 2 фьючерса ,поставил стоп продать два контракта и один потом продал вручную. а размер стопа не изменился . как сделать чтобы количество имеющихся контрактов было привязано к стопу и если я закрыл позицию руками из стопа это количество вычиталось?
Анатолий написал: Может быть потому что я на демо-счете?
когда вы вызываете crestedatasource, происходит только запрос данных из терминала на сервер. Сами данные с сервера приходят позже. Вы наверняка хотите их видеть немедленно после createdatasource, но их ещё нет.
если у вас открыт график, то запрос был послан в момент открытия графика и данные уже успели приехать с сервера. Поэтому вы из видите сразу.
вывод. После createdatasource читать данные нужно не сразу а по мере их прихода в терминал
А если нужно получить не только количество повторений, но и само число, тогда нужно ещё раз пройтись по таблице t11 и найти ключ, значение которого равно max.
Если идея уже вами опробована и вы в состоянии однозначно сформулировать алгоритм - лучше заказать. В этом случае вы получите в осмысленные сроки нечто, реализующее этот ваш алгоритм.
в зависимости от квалификации исполнителя вы получите либо простецкую поделку либо нечто живое.
чтобы найти подходящего программиста можно дать объявление на этом форуме. Можно сразу написать мне )
ночью сервер отсутствует, а терминал со скриптом работают. Скрипт скорее всего написан наивно и не учитывает такой ситуации. В нем возникает ошибка исполнения и терминал его останавливает.
соответственно утром вы видите скрипт в незапущенном состоянии.
Михаил Филимонов написал: Зоя! Ваша компания делает ВСЁ ВОЗМОЖНОЕ, чтобы Ваши пользователи не НОРМАЛЬНО пользовались Вашим продуктом, а получали проблемы! Если есть таблица "Состояние счёта", то в ней должны быть доступны все элементы для экспорта!!! Квик и так не очень быстро работает, а Вы делаете всё чтобы ещё больше усложнить конечным пользователям использование!
Михаил.
Идеал недостижим.
В поисках оного отправляйтесь в сторону метатрейдера.
s_mike@rambler.ru написал: Вопрос можно задать иначе: как узнать язык терминала?
Не совсем понятно, в чем вопрос? Что значит как узнать язык терминала?
рабочее место терминала может рисовать в меню кириллицу или латиницу. Соответственно и транзакции в каждом случае будут содержать разный текст : либо на русском, либо на английском.
чтобы скрипт работал правильно в обоих случаях, выдавал транзакции (и сообщения) на нужном языке, необходимо из скрипта узнать, какой язык установлен в терминале.
вот я и спрашиваю, как узнать этот язык.
в крайнем случае, если это невозможно без бубна (это же Квик), вопрос можно сузить до следующего. Как сделать, чтобы скрипт посылал транзакции на нужном языке? Если все время слать транзакции на русском, то в английской версии терминала они не пройдут и наоборот. А хочется иметь возможность писать скрипты, которые работают в терминалах с русским языком и с английским тоже.
В LUA скриптах хотелось бы латинскими буквами набирать эти параметры заявок. Дату экспирации, хотелось бы ставить равной дате экспирации указанного инструмента, автоматически.
1. Вы можете указывать имена на английском, если сам терминал QUIK будет на английском. Однако, русские имена не поддерживаются в английском терминале и на оборот. В этом месте не планируется изменение логики.
2. Это как? В самом терминале или в LUA скрипте, если в LUA скрипте, то как вы видите реализацию данной задачи.
а как написать скрипт, использующий эти транзакции таким образом, чтобы он работал и на английской и на русской версии терминала?
Ростислав Дм. Кудряшов написал: В работе Quik без подключения к серверу при смене тайм-фрейма наблюдается такая аномалия, что значения котировок close() и т.п. для второго графика Settings.GraphId2 оказываются все нулевые. Это делает невозможным построение графика по двум другим сразу после смены тайм-фрейма. Для получения графика нужно открыть его диалог "Редактирование настроек графика" и нажать кнопку "OK".
Уточните версию терминала QUIK
в любой.
зависит от очередности построения индикаторов терминалом.