Если у Вас рабочее место QUIK ниже версии 7.2, то необходимо обновиться. Дело в том, что такие проблемы были в версиях 7.1.
Цитата
Вторая проблема
Какие именно параметры вы смотрите после установления галочки "Количество в лотах"? Необходимо смотреть параметры "Купить/Продать". Они будут изменяться.
QUIK у меня версии 7.2.1.5 В таблице "Состояние счета" смотрю на графы "Позиция", "Вх. Позиция", также смотрел "Купить", "Продать", но отображение не меняется при изменении галочки "Количество лотов"
Первая проблема связана с тем, что когда я вызываю стакан по любому инструменту, то окно стакана появляется и сразу уменьшается размер до минимума. Такая же проблема со всеми окнами. Иногда захожу и вижу, что все окна уменьшены до минимума и перемещены в верхний левый угол. Уже за**ало это. Вторая проблема состоит в том, что таблица "Состояние счета" отображает все позиции в количестве акций, даже когда я в "Редактировании таблицы Состояние счета" в меню "Настройка окна" ставлю галочку в настройках таблицы "Количество в лотах".
Получил доступ через QUIK к американским компаниям через Санкт-Петербургскую Биржу еще в апреле этого года. Проблема с отображением график цены и объема. Картинку прилагаю.
В QUIKе я создал таблицу американских акций, щелкнув "Создать окно",далее - "Текущие тоги...", выбрал в доступных инструментах "SPBEX: Акции", нажал "Выбрать", в доступных параметрах выбрал "Добавить все", нажал "Да". Щелкнув правой кнопкой мыши на название любого эмитента, я выбираю "Графики цены и объема". В итоге получаю пустой график с подписью, например, "Alibaba Group Holding Limited [Инд. котировка]". То есть графиков [price] и [volume] - нет Даже выбрав шаблон графика такой же как у графиков акции ММВБ, ничего не меняется. Пытался это делать как до торгов так и во время торгов - ничего не меняется. Стакан заявок удачно открывается.
Так продолжается до сих пор, неужели кроме меня никто не подключен к Санкт-Петербургской Бирже через брокера БКС ?
Запись в файл мне нужна, чтобы не потерять обработанные роботом данные либо в случае нарушения связи с интернетом, либо окончанием сессии, либо преждевременным закрытием программы QUIK. То есть, для надежности, чтобы заново роботу не тратить время на обработку с нуля. Ведь весь анализ у меня будет занимать до часа. Я же все подробно расписал.
Цитата
Николай Камынин написал: Но вообще-то хранить в файлах нет большого смысла, так как все есть либо в квике либо в отчетах
Те данные, которые получил робот в результате анализа, ни в QUIKe, ни в отчетах нет. А хранить объем инфы объемом более 10 КБ где-то надо
Столкнулся с проблемой с хранением данных. Не могу понять где лучше хранить обработанные роботом данные: в памяти компа, в файле .txt, .bin или еще где. Для моего визуального просмотра мне эти данные не нужны, поэтому думаю их всунуть в файл в .bin файл так как они есть, то есть в двоичном коде. Плюс скорость записи в файл будет выше (поправьте, пжлста, если я не прав). Но я столкнулся с еще проблемой - я не нашел описания записи в файл и чтения чисел(или массивов) из файл в виде числа, а не в виде строки. (Помню, в Delphi запись массивов в файл делалась в касание)
У меня робот будет обрабатывать все ликвидные эмитенты по ММВБ и FORTS, определяя их ключевые точки (условные точки разворота, поддержки и сопротивления). Итого получится около 50 эмитентов. Каждый эмитент будет иметь до 30 ключевых точек с 3мя стринговыми переменными и с 4мя вещественными переменными. Обработка всех эмитентов займет предположительно до 1 часа. Процессор компа - Intel Core i5 4200H CPU 2,8 GHz ОЗУ - 8 ГБ Места на жестком диске - дохера
SetValue - да это способ решения, но перерисовка будет после окончания OnCalculate, если я правильно понял. Если не будет OnCalcualte, то не будет SetValue. А когда сессия стоит, то OnCalculate не будет бесконечно идти
Как в принципе Qlua рисует линии на графике ? Я так понимаю после выполнения функции OnCalculate. Нельзя ли как-нибудь принудительно вызвать функцию OnCalculate ? Например, программно изменить интервал на графике QUIK. Или, например, возможно ли программно закрыть график и открыть программно новый график с таким же инструментом и интервалом ?
Я делаю анализ графика прямо в индикаторе, когда торговая сессия уже закрыта (например, сегодня), и хочу видеть промежуточные результаты на графике.
Все спасибо. Для меня более действенно будет как сказал s_mike@rambler.ru. Второй вариант действенен для циклических операций, у меня один раз выполняется и все.
Я знаю как остановить скрипт lua с помощью return, но это возможно сделать только внутри функции main. А вот как остановить весь скрипт через подпрограмму, которую я создал, например:
------------Созданная мною функция----------------------------------------------- function average_trend() -- здесь идет проверка условий -- здесь надо остановить весь скрипт из-за фатального несоответствия -- здесь продолжается выполнение return nil end ----------------------------------------------------------------------------------------------
-----------Стандартная функция, основное выполнение программы------- function main() -- здесь идет проверка условий return nil -- останов скрипта из-за фатального несоответствия -- здесь продолжается выполнение end ----------------------------------------------------------------------------------------------
Можно ли выставить стоп-заявку, вызвав окно стп-заявки с графика ?
Каждый раз я, когда я хочу выставить стоп-заявку, я смотрю на график, запоминаю цены стопа-лосса (и тейк-профита), далее перехожу в таблицу таблицу параметров, вызываю со строки стоп заявку, после я этого я могу уже забыть или быть не точным в ценах, которые я запомнил) . Поэтому, когда я забываю, я закрываю окно стоп-заявки, снова открываю график, запоминаю цены, возвращаюсь к стоп-заявке.
У меня демо доступ QUIK-Junior от Вас, Аrqatech. На тайфрейме "день" по фьючерсу SiZ5 отображаются данные, начиная с ноября 2014. А на таймфрэйме М1 (одна минута) данные отображаются только от 25.10.2015. Такое же ограничение по периоду времени наблюдается и на других инструментах. Почему такое сильное отличие в диапазоне дат на разных таймфрэймах ?
Обрывок проги: function Init() info = getDataSourceInfo() message(tostring(info.sec_code),1) message(tostring(info.interval),1) return 1 end По результатам моей проги интервал высвечивается числами. Код бумаги является пустой строкой.