Пожелание по увеличению количества данных на QuikJunior
Пользователь
Сообщений: Регистрация: 01.07.2015
13.08.2015 14:42:21
А вообще может кто знает, есть ли где на других серверах адекватный демо-Quik, в котором можно торговать акциями на ММВБ и при этом есть информация по большому количеству свечей сразу?
Пожелание по увеличению количества данных на QuikJunior
Пользователь
Сообщений: Регистрация: 01.07.2015
13.08.2015 07:49:47
Мне просто нужно, чтобы на графике отображалось одновременно не менее 300 свечей, это есть на ФОРТС?
Пожелание по увеличению количества данных на QuikJunior
Deserf пишет: Простите, а как мне получать эти данные?
Добрый день.
Если доступ к FORTS есть, то просто строите график и данные будут, при условии, что включены настройки "Данные, отражающие текущее состояние и всю историю изменений» и «Получать пропущенные данные в пункте меню Настройки/Основные/Программа/Сохранение данных/
Также добавим по поводу фондового рынка. Добавлять историю по данному рынку мы к сожалению, не будем. Таковы ограничения тестового доступа. Вы можете выводить графики в сторонние системы технического анализа.
Я так понимаю, при регистрации тестового доступа надо включить галочку "Срочный рынок"?
Добрый день.
Да, либо сообщите Ваш логин, мы предоставим Вам права на рынок FORTS.
Мой логин 93017. Не отходя от кассы вопрос, этот рынок поддерживает подачу "рыночных" заявок?
Пожелание по увеличению количества данных на QuikJunior
Пользователь
Сообщений: Регистрация: 01.07.2015
13.08.2015 06:37:43
Я вроде все как вы сказали поставил, однако, всё равно данные получены только за сегодняшнюю сессию с 4 часов утра
Пожелание по увеличению количества данных на QuikJunior
Deserf пишет: Простите, а как мне получать эти данные?
Добрый день.
Если доступ к FORTS есть, то просто строите график и данные будут, при условии, что включены настройки "Данные, отражающие текущее состояние и всю историю изменений» и «Получать пропущенные данные в пункте меню Настройки/Основные/Программа/Сохранение данных/
Также добавим по поводу фондового рынка. Добавлять историю по данному рынку мы к сожалению, не будем. Таковы ограничения тестового доступа. Вы можете выводить графики в сторонние системы технического анализа.
Я так понимаю, при регистрации тестового доступа надо включить галочку "Срочный рынок"?
Пожелание по увеличению количества данных на QuikJunior
Пользователь
Сообщений: Регистрация: 01.07.2015
12.08.2015 12:16:55
Простите, а как мне получать эти данные?
Пожелание по увеличению количества данных на QuikJunior
Пользователь
Сообщений: Регистрация: 01.07.2015
31.07.2015 07:07:35
Очень хотелось бы, чтобы графики отображали свечи не только за "сегодня", но еще и за "вчера". Конечно, сейчас количество информации полностью удовлетворяет тех, кто хочет просто познакомиться с платформой. Но программистам хотелось бы иметь побольше данных
Если внутри функции создаётся переменная, то по выходу из функции она умирает?
Пользователь
Сообщений: Регистрация: 01.07.2015
27.07.2015 12:20:25
Не убиваются при выходе из функции только переменные, объявленные в ней как глобальные (то есть просто, без слова local), такие переменные сохраняют свои значения даже после перехода к другой функции, и она может использовать их значения. Но объявление глобальных переменных из функции является дурным тоном. Куда практичнее объявить все "глобальные" переменные в одном месте вне функций, со словом local, так они будут видны только компонентам именно этого скрипта
Вопрос по Quik-Junior
Пользователь
Сообщений: Регистрация: 01.07.2015
27.07.2015 12:15:03
Я хотел спросить, а имеется ли в Quik возможность сохранить, скажем, минутные графики колебаний цен за день с тем, чтобы воспроизводить их потом без подключения к интернету?
В tri файле который получается сохранением из Кармана транзакций используются другие параметры. в частности режим исполнения заявки кодируется в параметре "Флаги" Поэтому там нет таких параметров.
Я понял, спасибо.
Выставление "рыночных" заявок
Пользователь
Сообщений: Регистрация: 01.07.2015
24.07.2015 15:54:47
Да и не суть важно, и без этого выкручусь, спасибо за помощь
Стоплосс и тейкпрофит заявки
Пользователь
Сообщений: Регистрация: 01.07.2015
24.07.2015 15:54:25
Да и не суть важно, и без этого выкручусь, спасибо за помощь
Deserf пишет: Подытожим: работающего варианта стопов, выставляющих заявки по "рыночной" цене не существует. Если нетрудно, осуществите пожалуйста в будущем
Подытожим, Вы так и не прочитали документацию. Укажите MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT Уберите ["TYPE"] = "M"
Укажите MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT - это где указывать, какому аттрибуту? А по ["TYPE"] - он роли не играет, ошибка выдается и с ним, и без него
Выставление "рыночных" заявок
Пользователь
Сообщений: Регистрация: 01.07.2015
24.07.2015 15:31:30
Подытожим: работающего варианта стопов, выставляющих заявки по "рыночной" цене не существует. Если нетрудно, осуществите пожалуйста в будущем
Deserf пишет: Поменял на TAKE_PROFIT_AND_STOP_LIMIT_ORDER - все то же. Какие поля для нее обязательны, и как высчитывают их значения?
Рекомендуем к прочтению: -Раздел 6. Совместная работа с другими приложениями --Импорт транзакций ---Формат .tri-файла с параметрами транзакций ----Примеры строк, которые могут содержаться в файле
Да я уже это делал, рассматривал сохраненный .tri-файл от работавшей стоп-заявки, именно его я и вбил, но он не пашет, а пишет... сами знаете что... Неужели никто не ставил такие в lua-скрипте? Складывается ощущение, что я первооткрыватель...
Выставление "рыночных" заявок
Пользователь
Сообщений: Регистрация: 01.07.2015
24.07.2015 14:39:39
Понимаете в чем дело, я не хочу использовать обычную стоп-заявку с фиксированным значением цены, из-за того, что при большом количестве лотов некоторые из них скорее всего останутся висеть незакрытыми, а цена убежит дальше. Хотелось бы иметь такую стоп-заявку, чтобы она раскидывалась, как в "рыночных" заявках. В противном случае придется применять "нахальное минирование" - то есть выставлять рыночную заявку заявку для преждевременного закрытия убыточных позиций. Но если программа не будет работать, то позиции ведь так и останутся убыточными
Выставление "рыночных" заявок
Пользователь
Сообщений: Регистрация: 01.07.2015
24.07.2015 14:32:34
Поменял на TAKE_PROFIT_AND_STOP_LIMIT_ORDER - все то же. Какие поля для нее обязательны, и как высчитывают их значения?
Выставление "рыночных" заявок
Пользователь
Сообщений: Регистрация: 01.07.2015
24.07.2015 14:08:46
Код взят из оригинального tri-файла, стоп-заявка ставилась, а программно вот нет...
Deserf пишет: Ну так что? Мне кажется рыночные стоп-заявки не работают
Добрый день.
В обычных стоп заявка нет признака рыночной, есть только в тейк профит и стоп лимит (STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER)
А можно поподробней (я необыкновенно тупой), что это такое и как работает.Я так понимаю, что "STOP_ORDER_KIND" - это один из аттрибутов новой стоп-заявки и пишется в квадратных скобках, а "TAKE_PROFIT_AND_STOP_LIMIT_ORDER" - это значение аттрибута? И какие значения цен устанавливаются? И вообще, как это работает?
Добрый день.
Все верно. Назначение тейк профита и стоп лимита направлено на фиксацию максимальной прибыли с одновременным ограничением величины убытков, но в вашем случае на это обращать внимание не стоит. Дело в том, что Вам в заявке не нужно будет указывать тейк профит, а просто нужно будет указать стоп, и таким образом вы подадите обычную стоп заявку, а не тейк профит и стоп лимит.
Из терминала это будет выглядеть так:
В функции также нужно будет указать все параметры, тейк профит, отступ, защитный спрэд необходимо тоже указать, но нулевыми. Пример самой функции можно получить через карман транзакции (Торговля/Карман Транзакций/Создать карман). Кладете в карман нужную транзакцию, сохраняете в tri файл и получаете ее исходные данные.
Спасибо большое, так и сделал. Осталось только соотнести это с англоязычными аттрибутами, применяемыми в QLua, и все)))
Данная конструкция будет работать на срочном рынке ?
Прости, но она походу вообще не работает. У меня один раз выставилась всего. Я как мыслил, цена подходит к стоп-прайс и активируется рыночная заявка (тип = М, цена = "0"); Но это не работает, компьютер игнорирует значение типа. Может выставиться только заявка, в которой точно указана цена. У меня выставилась та, которая изображена, но только потому, что значение ["PRICE"] у нее было меньше значения ["STOPPRICE"] (ноль ведь меньше расчетной цены), однако, если бы она сработала, комп наверно написал бы что-то типа "невозможно выставить заявку по слишком низкой цене" т. е по нулевой цене она бы выставилась
Deserf пишет: Ну так что? Мне кажется рыночные стоп-заявки не работают
Добрый день.
В обычных стоп заявка нет признака рыночной, есть только в тейк профит и стоп лимит (STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER)
А можно поподробней (я необыкновенно тупой), что это такое и как работает.Я так понимаю, что "STOP_ORDER_KIND" - это один из аттрибутов новой стоп-заявки и пишется в квадратных скобках, а "TAKE_PROFIT_AND_STOP_LIMIT_ORDER" - это значение аттрибута? И какие значения цен устанавливаются? И вообще, как это работает?
Выставление "рыночных" заявок
Пользователь
Сообщений: Регистрация: 01.07.2015
20.07.2015 12:17:45
Ну так что? Мне кажется рыночные стоп-заявки не работают
Deserf пишет: Насколько я понимаю, платформа Quik в скрипте QLua не в состоянии отследить ВСЕ выполненные сделки? Если сделка одна по одной цене, тогда еще хорошо, но по двум-трем ценам, то скрипт опускает хобот, поймав только одну цену, ее лоты и цену
Нет, скрипт поднимает заднюю ногу и писает на своего создателя.
Он отлавливает не все сделки - вот и все
Подскажите, как использовать getNumCandles()?, Я пока учусь :)
Пользователь
Сообщений: Регистрация: 01.07.2015
15.07.2015 07:28:02
Соответственно, если планируете работать только с одним графиком, не замарачиваясь в его названии (у меня как то раз так было, что настройки не сохранялись после закрытия сессии), то просто прописывайте:
N = getNumCandles("") Количество свечей выведется по любому открытому графику. Жаль, что нет возможности программно назначить идентификатор нужному графику, допустим, по названию непосредственно графика, которое можно получить по функции getCandlesByIndex()
Про OnTrade()Y
Пользователь
Сообщений: Регистрация: 01.07.2015
15.07.2015 07:19:05
Кому интересно, нашел вариант отслеживать количество лотов по OnDepoLimit()
Про OnTrade()Y
Пользователь
Сообщений: Регистрация: 01.07.2015
15.07.2015 07:01:16
Насколько я понимаю, платформа Quik в скрипте QLua не в состоянии отследить ВСЕ выполненные сделки? Если сделка одна по одной цене, тогда еще хорошо, но по двум-трем ценам, то скрипт опускает хобот, поймав только одну цену, ее лоты и цену
Выставление "рыночных" заявок
Пользователь
Сообщений: Регистрация: 01.07.2015
15.07.2015 06:28:49
Еще вопрос по той же теме, а стоп-заявки рыночные можно выставлять? То есть, чтобы у нее конкретно была указана цена срабатывания, а цена исполнения уже была нулевой при типе стоп заявки "М"?
При выводе информации в лог-файл выводится тарабарщина
Deserf пишет: Еще раз пишу: режим "а+" не подойдет: это cfg-файл, мне нужно заменять определенные значения в строго определенном месте, а не дописывать, а потом объяснять при следующем цикле оператором что же им считывать.
Вообще-то режим "a+" как раз предназначен, чтобы заменять "определенные значения в строго определенном месте":
Deserf пишет: Еще раз пишу: режим "а+" не подойдет: это cfg-файл, мне нужно заменять определенные значения в строго определенном месте, а не дописывать, а потом объяснять при следующем цикле оператором что же им считывать.
Вообще-то режим "a+" как раз предназначен, чтобы заменять "определенные значения в строго определенном месте":
Deserf пишет: Прочитайте текст скрипта, который выше - я его ВООБЩЕ НИКУДА НЕ СМЕЩАЛ, а он все равно тупит
Читаю.
Код
local file = io.open(ImyaCFGFaila, "w+") --Открыли файл и стерли в нем все что есть, так как режим w+
file:seek("set", 15) --смефаем курсор на 15 символов в пустоту,, так как файл пустой.
file:write("22") --пишем строку "22" после 15 пустых символов
file:flush() --обновляем файл
file:close() -- закрываем
Еще читаю:
Код
local file = io.open(ImyaCFGFaila, "w+") --Открыли файл и стерли в нем все что есть, так как режим w+
file:flush() --обновляем файл
file:close() -- закрываем
Что не так?
Смотрите ниже в режиме "w"
Тут дело не в стирании
При выводе информации в лог-файл выводится тарабарщина
Deserf пишет: Прочитайте текст скрипта, который выше - я его ВООБЩЕ НИКУДА НЕ СМЕЩАЛ, а он все равно тупит
Читаю.
Код
local file = io.open(ImyaCFGFaila, "w+") --Открыли файл и стерли в нем все что есть, так как режим w+
file:seek("set", 15) --смефаем курсор на 15 символов в пустоту,, так как файл пустой.
file:write("22") --пишем строку "22" после 15 пустых символов
file:flush() --обновляем файл
file:close() -- закрываем
Еще читаю:
Код
local file = io.open(ImyaCFGFaila, "w+") --Открыли файл и стерли в нем все что есть, так как режим w+
file:flush() --обновляем файл
file:close() -- закрываем
Что не так?
Смотрите ниже в режиме "w"
При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 01.07.2015
13.07.2015 09:20:34
Хорошо, вот такой скрипт:
function main() local ImyaCFGFaila=getScriptPath().."\\" .. "1.txt" local file = io.open(ImyaCFGFaila, "w") file:seek("set", 0) file:write(tostring("11")) file:seek("set", 6) file:write(tostring("....... его рот")) file:flush() file:close() end
Исходная строка в файле "1.txt" такая: "11111111111111111111111111111111111111111111111111111111111111111" (без всяких переносов и без кавычек) После работы скрипта: строка в файле "1.txt" такая: "11<NUL><NUL><NUL><NUL>....... его рот", где <NUL> - то самое. Как видите никакого смещения в пустоту.
При выводе информации в лог-файл выводится тарабарщина
Deserf пишет: Можно и не смещать никуда курсор - те же яйца. И смещаю не в пустоту а там, где есть символы, если в пустоту сместить он так то ошибку викидывает сразу
Простите но Вы именно смещаете в пустоту. Так как режим w+ перезаписывает файл. То есть стирает все и пишет по новой.
Прочитайте текст скрипта, который выше - я его ВООБЩЕ НИКУДА НЕ СМЕЩАЛ, а он все равно тупит
При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 01.07.2015
13.07.2015 09:12:33
Нашел одно решение, не ахти какое: запускаем программу
Еще раз пишу: режим "а+" не подойдет: это cfg-файл, мне нужно заменять определенные значения в строго определенном месте, а не дописывать, а потом объяснять при следующем цикле оператором что же им считывать. По скрипту скажу - это тоже не работает
При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 01.07.2015
13.07.2015 08:54:00
Можно и не смещать никуда курсор - те же яйца. И смещаю не в пустоту а там, где есть символы, если в пустоту сместить он так то ошибку викидывает сразу
При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 01.07.2015
13.07.2015 08:49:39
Еще одно наблюдение: необратимые изменения наступают в любом случае, когда файл открывается в режимах "w", даже если в ходе него не происходит ничего: ни записи информации, ни смещения курсора. Так в таком коде получаем из полного лог-файла тупорыло пустой:
local file = io.open(ImyaCFGFaila, "w+") file:flush() file:close()
Скажите, что это за фигня, а то у меня уже башка кружится. Таким образом, ведь дело не в моем кривом коде, и не в ошибочном хранении информации в буфере обмена (и в 32-битности), дело именно в режимах "w" и "w+", режим "а" работает корректно, но мне то надо именно заменять, а не просто приписывать информацию.
При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 01.07.2015
13.07.2015 08:25:18
Кто что может про разрядность ОСи сказать?
При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 01.07.2015
13.07.2015 07:59:21
Походу ей не нравятся 32-битные машины
При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 01.07.2015
13.07.2015 07:58:53
И не в редакторе дело, тоже самое получается в Notepad. Дело похоже в самой Quik и я не удивлен
При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 01.07.2015
13.07.2015 07:57:50
Кстати, количество "NUL" в каждом случае зависит от координат курсора