Дмитрий пишет: Скачал сейчас... Если бы еще была возможность импортировать из текстовых файлов эту информацию обратно в двоичные базы данных - цены бы ей не было.
sam063rus пишет: Функция SetEmptyCallback это то же самое что и SetUpdateCallback, только указывать функцию не требуется.
Так а в чем конкретно смысл ее использования? В теории (согласно задумке разработчиков) и на практике (исходя из того как оно работает на самом деле)?
С SetUpdateCallback вроде все понятно: цель - отреагировать на изменение свечи и выполнить какие-то действия в теле функции callback_function, указываемой в качестве параметра. А вот с SetEmptyCallback все далеко не очевидно.
Вы имеете в виду, что поступление данных с сервера в данном случае (т.е. без использования SetUpdateCallback и SetEmptyCallback) является ошибкой в работе программы?
sam063rus пишет: SetUpdateCallback function Позволяет задать пользователю функцию обратного вызова для обработки изменившихся свечек
А для чего тогда нужна функция SetEmptyCallback ? В руководстве написано "Функция позволяет получать данные с сервера". Это надо понимать так, что без ее использования (и без SetUpdateCallback) данные не должны быть получены с сервера?
Вы не на то обратили внимание. Про файл я написал только для того, чтобы показать, что вызов функции CreateDataSource без последующего обращения к функциям SetUpdateCallback или SetEmptyCallback все равно приводит к получению данных с сервера.
Constantin Constantin пишет: Без подписки, вроде, вообще не будут приходить данные, если только ранее такой DS не был где-то открыт или уже открыт график с этим тикером.
А я сейчас наблюдал совсем обратное. В терминале не было открыто ни одного графика, я вызвал в скрипте функцию CreateDataSource и увидел, как в каталоге archive появился файл с архивом графика по данному инструменту (то же самое происходит при открытии графика вручную в терминале).
Дмитрий пишет: А если мы купим, к примеру, фьючерс на нефть (цена в долларах) когда доллар по 80 и продадим его за ту же цену когда доллар упал до 60, то никаких убытков или прибыли мы не получим.
Хотя наверное тут я не прав - вариационная маржа будет списываться или зачисляться каждый день пока позиция открыта и каждый раз она будет пересчитываться по текущему курсу. За счет этого и может быть убыток, так?
sam063rus пишет: Новичкам и НЕновичкам не следует торговать "голыми" фьючерсами, расчитываемыми в валюте отличной от рубля без соответствующей позиции, которая будет страховать валютный риск. Либо, торговать - шустро и крыться перед клирингами и не позднее определённого времени.
А почему так все страшно? Ведь валютному риску подвержены только прибыль/убыток, полученные по открытой позиции (за счет пересчета их в рубли). А если мы купим, к примеру, фьючерс на нефть (цена в долларах) когда доллар по 80 и продадим его за ту же цену когда доллар упал до 60, то никаких убытков или прибыли мы не получим.
Constantin Constantin пишет: Но чтобы начать получать данные надо еще подписаться на callback.
А без такой подписки данные вообще не должны приходить? Или все-таки придут один раз 3000 свечей за прошлый день, плюс сегодняшние до текущего момента, а дальше просто обновляться не будут, т.е. не будут добавляться новые свечи?
sam063rus пишет: у многих в "Избранном" были ссылки на страницы
а для чего вам сейчас эти ссылки? ничего нового там уже нет и не будет...
Иногда может быть полезным прочитать и ту информацию, которая не обновляется. Или Вы все старые темы прочитали сразу и помните их наизусть? Я, например, специально делал закладки на интересующие меня темы, которые либо не было времени прочитать сразу либо стоит перечитать еще раз.
Согласен, теперь невозможно из поисковика открыть страницы со старыми темами. И закладки в браузере на старые темы тоже придется все переделывать теперь. Лучше бы новому форуму другое имя дали, чем менять у старого.
Тимофей пишет: 1. Сколько нужно минимальных денежных средств чтобы работать с фьючерсами. ( у меня 10000 руб.только) 3. Есть ли фьючерс на сбербанк. (под каким кодом он)
1) 10 000 руб. достаточно для работы с большинством фьючерсов 3) Код SRH5 (SBRF-3.15) - фьючерс на обычные акции и SPH5 (SBPR-3.15) - фьючерс на привилегированные акции
Позвоните своему брокеру и попросите его включить Вам возможность получения всех сделок по нужным вам классам инструментов (акциям, фьючерсам и т.п.). После этого, переподключившись к серверу, сможете строить тиковые графики.
Андрей Белоусов пишет: Тогдакак по Вашему, происходит увеличение и уменьшение числа позиций?Получается это происходит только когда закрывает позиции одновременно и покупатель и продавец?
Именно так. Если обе стороны сделки закрывают ранее открытые позиции - число открытых позиций уменьшается. Если же обе стороны их открывают - то число открытых позиций увеличивается. Если одна сторона сделки открывает позиции, а другая закрывает - то число открытых позиций остается неизменным.
Короткие позиции появились раньше. Например, они могли появиться когда их открывал тот продавец, у которого купил 10 контрактов тот, кто сейчас закрывает свои длинные позиции.
Андрей Белоусов пишет: После совершения сделки это количество ОТКРЫТЫХ позиций меняется.
Пока других сделок не будет, оно не изменится. Честно говоря, не очень понимаю суть Вашего вопроса... P.S. Если в приведенном мною примере продавцы не открывали новых позиций, а только закрывали открытые ранее длинные позиции, то общее число контрактов во всех открытых длинных позициях в результате такой сделки не изменится.
Потому что для того чтобы одному участнику рынка открыть длинную позицию (например на 10 контрактов) нужно чтобы другие участники (1 или больше) ему продали столько же контрактов, в результате чего одновременно откроются короткие позиции на общую сумму в 10 контрактов.
Суммарное количество контрактов по всем длинным позициям всегда равна суммарному количеству контрактов по всем коротким позициям (в этом легко убедиться если сложить значения по юрлицам и физлицам). Этот параметра транслируется биржей и может быть взят из ТТП. Чтобы получить то же самое значение, которое Вы видите на сайте биржи, просуммируйте эти значения по всем фьючерсам с разными сроками исполнения. Или Вам важно, чтобы биржа транслировала значения этого параметра с разбивкой по юридическим и по физическим лицам?
Серж пишет: А не проще данные брать из стакана? Тогда у вас всегда будет пара bid-offer
1) Я привел здесь пару bid-offer только в качестве примера. На самом деле проблема касается получения любого набора параметров. 2) История изменения стакана в терминале не сохраняется (поправьте меня, если я ошибаюсь). 3) Предлагаемый Вами вариант предполагает необходимость на протяжении всего торгового дня держать терминал работающим для ловли и сохранения данных в режиме онлайн, а это не всегда возможно.
Андрей Белоусов пишет: не совпадает со значением Информации об открытых позициях по производным финансовым инструментам,базовым активом которых является Курс доллар США - российский рубль
Может, не совпадает потому что там имеется в виду число открытых позиций по всем фьючерсам (SiH5, SiM5 и т.д.), а вы смотрите в ТТП информацию только по одному (ближнему)?
Добрый день! А есть ли возможность в одном из следующих обновлений программы исправить эту ситуацию? Например, сделать так чтобы значение count отражало не порядковый номер изменения отдельно взятого параметра в пределах секунды, а порядковый номер временного среза в пределах одной секунды, во время которого было получено изменение данного параметра? Тогда в данном примере значения count были бы следующими (если таких временных срезов было всего 5): TIME count bid 10:00:00 1 65.466 10:00:00 3 65.467 10:00:00 5 65.65 TIME count offer 10:00:00 1 66.46 10:00:00 2 66.1 10:00:00 4 65.85 В итоге задача построения таблицы изменений параметров по этим данным стала бы решаемой. Под временным срезом имеется в виду порядковый номер в пределах одной секунды того момента времени, когда было получено изменение любого из параметров, относящихся к данному инструменту (или вообще к любому инструменту, по которым в терминал поступают изменения параметров).
Александр пишет: Еще подскажите, что значит ошибка и как ее устранить?: "цена заявки не соответствует установленному диапазону"
Значит, пытаетесь выставить заявку по цене, выходящей за границы установленного на данный момент диапазона допустимых цен по этой акции. Границы этого диапазона периодически меняются. Устранить эту ошибку можно двумя способами: 1) выставив заявку на покупку по более высокой цене или подождав пока текущая цена (и соответственно, границы этого диапазона) приблизится к нужной Вам 2) выставив стоп-заявку на покупку, которая сработает когда цена приблизится к нужной Вам
Это Вы написали, так как видели результат вывода в таблице изменений параметров, который я привел в начале. А если бы Вы не видели эту таблицу, то как Вы догадались бы о том, что их нужно сопоставлять именно в таком порядке? И вообще о том, что изменений спреда было 5, а не 3 или 4?
Согласен, 3 изменения по каждому из параметров, но в разное время. В итоге спред между bid и offer менялся 5 раз (если верить тому, что мы видим в самой таблице изменений параметров).
А где вы увидели значения count 4 и 5? Они на графиках по каждому из параметров меняются только от 1 до 3. О существовании еще двух сочетаний bid и offer, то есть еще двух значений спреда, я никак узнать не могу в данном случае.
Тогда следующий вопрос - а если мне нужно получить такую же картину изменения спреда между Bid и Offer, которую я вижу в терминале в таблице с двумя колонками (где мы видели 5 строк), то как мне ее построить самому, если порознь по обоим параметрам мне выдается только 3 строки, имеющие одинаковое время и одинаковое же значение count?
То есть, как я понимаю, из скрипта на QLua можно получить доступ к данным таблицы изменений параметров только путем использования функции CreateDataSource. Но получается, что последовательное использование этой функции для каждого из нужных нам параметров (то есть колонок этой таблицы) все равно не позволит нам получить в итоге все ее строки, которые мы видим в терминале.
Тогда следующий вопрос: Почему когда я строю в терминале график по значению некоторого параметра из ТТП или получаю данные с помощью скрипта посредством функции CreateDataSource, то выводятся не все полученные с сервера значения параметра, а только те, которые отличаются от предыдущего значения.
Поясню на примере, который наблюдаю прямо сейчас. Вот данные, полученные в терминале копированием содержимого таблицы изменений параметров: TIME bid offer 10:00:00 65,466 66,46 10:00:00 65,466 66,1 10:00:00 65,467 66,1 10:00:00 65,467 65,85 10:00:00 65,65 65,85
Здравствуйте! Уважаемые разработчики, ответьте, пожалуйста, на вопрос: Почему с помощью функции getItem невозможно делать выборку данных из таблицы изменений параметров? В чем ее принципиальное отличие от других таблиц? В том числе от таблицы обезличенных (всех) сделок, к которой можно обращаться с помощью данной функции.
Constantin Constantin пишет: И так запрашивается раз в одну или две секунды, а не постоянный поток обновлений.
Включена опция получать пропущенные данные.
Настройка "получать пропущенные данные" сводит на нет увеличение времени между запросами данных. В итоге терминал получает полностью все данные, только с перерывами.
Согласен, переходить между несколькими страницами неудобно. К тому же раньше интересную тему можно было сохранить с помощью браузера в один файл, чтобы не лазить потом в инет по ссылкам для ее прочтения. А теперь придется сохранять несколько отдельных файлов - по одному на каждую страницу.
сергей пишет: И в десять раз больше это нормально для Квика. Настройки/Основные/Программа/Сохранение данных/Очищать данные после смены даты - поставить. Видимо ПК староват у Вас.
Забыли наверное дописать: Очищать данные после смены даты - выбрать "На локальной машине"
Проверил еще раз под Win XP и потом под Win 7. Под Windows 7 у меня хотя бы не было сообщений о нехватке памяти при копировании в буфер. Но вставить данные из него в эксель 2010 не удалось (хотя строк было намного меньше максимально допустимого числа). А результат вывода через DDE показывает стабильно отрицательные результаты в обоих случаях. Да, буфер очистить удалось, но это не помогло. Я вообще перезагружал компьютер для чистоты эксперимента. P.S.: Сейчас вышлю вам архив с папкой программы на quiksupport@arqatech.com . Его надо разбивать на части? Какой максимально допустимый размер для одного письма?
Добрый день! Подскажите, есть ли в QLua возможность определить размер любого находящегося на диске файла (не текстового), в байтах? И есть ли возможность получить список файлов, находящихся в заданном каталоге?
s_mike@rambler.ru, спасибо, такой скрипт - вещь полезная. Но не всегда бывает возможность накапливать информацию в режиме реального времени в течение всего дня. В принципе ведь было бы проще сохранить штатными средствами то, что терминал уже и так накопил в своей базе.
Здравствуйте! В таблице всех сделок есть возможность из контекстного меню выбрать команду "сохранить в файл все обезличенные сделки". Очень хорошая команда, но, к сожалению, выводит не все имеющиеся в этой таблице поля (хотя их не так уж много). 1) было бы очень хорошо добавить в текстовый файл с сохраненными сделками поле "Время(мкс)", так как сейчас время сделки выводится лишь с точностью до секунды 2) может быть, пригодилось бы также значение поля "Период", т.к. оно может быть разным 3) в идеале можно было бы выводить туда вообще все доступные поля
А в данном случае имеет значение, какая ОС у меня используется? Все это делал под Windows XP. Нужно ли пробовать проделать все то же самое под Windows 7 ?
P.S.: в ответ на команду вида C:\DATA>echo off | clip выдается сообщение: "clip" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Впрочем, это неважно, т.к. повторением эксперимента займусь вечером, полностью перезагрузив компьютер.
Vikora пишет: как быть, если, например, я хочу получать данные с периодичностью в 5 секунд?
Уточните, пожалуйста, имеется в виду именно получать данные с периодичностью в 5 секунд (т.е. график, например, минутный, но последняя свеча обновляется каждые 5 секунд) или получать 5-секундные свечи?
Добрый день. Проблема зависит от объема данных, который я пытаюсь сохранить из таблицы (числа строк/колонок). Наблюдается также при выводе через DDE из таблицы всех сделок. При уменьшении числа отображаемых строк в таблице изменений параметров (например, при выборе инструмента, по которому торги идут менее активно) проблема исчезает. Вот два скриншота, выдаваемых при попытке скопировать данные из этой таблицы в буфер обмена и вывести в Excel 2010:
сергей пишет: Все графики строятся на основании тикового, т.к. ТТП поступает срезами и экстремумы могут быть пропущены.
А если у меня отключен заказ всех сделок, то как они будут построены на основании тикового? Без заказа всех сделок тиковый график не построить. А в пользу того, что графики за текущий день строятся на основе данных из ТТП, свидетельствует тот факт, что если по окончании торгов перезапустить терминал в режиме оффлайн, предварительно удалив info.log, то за текущий день графики пропадут. В файле info.log хранятся данные из ТТП, а тиковые данные (все сделки) - в alltrade.dat.