При выводе информации в лог-файл выводится тарабарщина
Пользователь
Сообщений: Регистрация: 30.01.2015
10.07.2015 07:22:42
Это не тарабарщина а символ нулевого кода в тестовой строке. Попробуйте отключить отображение управляющих символов в редакторе текста, на котором смотрите сообщение или убрать их из выводимой строки.
Индикатор не перерисовывается при смене таймфрейма
Пользователь
Сообщений: Регистрация: 30.01.2015
10.07.2015 07:18:12
Сделайте установку в начальное состояние всех счетчиков и массивов при значении индекса равным 1.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
Пользователь
Сообщений: Регистрация: 30.01.2015
10.07.2015 07:15:55
Цитата
DronGO пишет: Кстати table. s insert table. s remove, работают очень медленно, в сотни раз медленнее, чем lock-free системы. И в своей работе их использовать не стал.
Самый быстрый способ удалить элемент таблицы - присвоить ему nil.
Останавливается скрипт
Пользователь
Сообщений: Регистрация: 30.01.2015
10.07.2015 06:58:11
Попробуйте так: ------------------------------ local ClassCode=getSecurityInfo('',left[i].name).class_code if ClassCode~=nil and type(ClassCode~="table") and ClassCode~="" then Subscribe_Level_II_Quotes (ClssCode, left[i].name) end
Нет текста на графике (Метки)
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 22:14:51
еще есть такая хитрость. Метки привязаны к левой оси Y А график по умолчанию привязывается к правой. поэтому ничего и не видно.
Встроенные индикаторы в скриптах индикаторов, Встроенные индикаторы в скриптах индикаторов
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 20:53:16
В некоторых индикаторах в квике есть заморочки с периодом вместо используется удвоенное значение. Сравнивал AMA,SMA,EMA, RSI соответствуют и совпадают.
Количество торгуемых инструментов роботом
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 20:44:38
Михаил, Вы заблуждаетесь. Есть ограничение на чиcло локальных переменных Я уже писал об этом на форуме, а читал в документации ссылку дать не могу, так как не фиксировал. Более того, это ограничение я уже наблюдал в скриптах индикаторах. Пришлось повозиться, пока дошло что это оно самое.
Изучать qpile или lua?, Изучать qpile или lua?
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 20:40:59
Если изучать Луа по несколько минут в день, то работающий скрипт, от которого будет реальная помощь а не сообщение "Хелло луа" получится в следующем году. ------------------------------------------- процесс познания увлекателен, но утомителен, особенно когда никому не доверяешь.
Количество торгуемых инструментов роботом
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2015 20:35:34
Есть ограничение на количество переменных в скрипте робота.
Alexey K пишет: Хочу чтобы скрипт отслеживал определенное нажатие клавиши. Можете подсказать где и что почитать, чтобы сделать это без лишних заморочек?
Если нужно отследить с вашей таблицы, то поможет то, что предлагает , а если нужно круче , то придется писать приложение или подключать стороннюю библиотеку.
А если не делать умное лицо и нужно просто и незатейливо, то пишется скрипт js из трех строчек. Этот скрипт дописывает файл протокола клавиш. Вызывается по сочетанию клавиш (быстрый вызов). Протокол клавиш читается откуда угодно.
Михаил, Я пытаюсь представить Ваше лицо в момент написания этого послания человечеству. Ну, то что оно не умное, это понятно, но какое?
Встроенные индикаторы в скриптах индикаторов, Встроенные индикаторы в скриптах индикаторов
Виталий пишет: Я не знаю ни языка qpile, ни lua, но мне надо сделать программу, воспроизводящую звуковой файл при пересечении двух АМА с разными периодами. Какой из этих языков лучше изучить для реализации данной программы?
))) Мне нужно поменять резину на колесах. Какое монтажное оборудование посоветуете? А если серьезно, то пару тыров заплатить программеру и забыть.
Не тот пример (очевидно, потому что, кроме колес ничего у авто больше открутить нельзя). ---------------------------------------------- Например так , надо сделать тормоз к авто, так как тормоза вообще нет, да и авто нет, но есть телега, но без коня. --------------------- Но нужен тормоз, его тоже нет.
Изучать qpile или lua?, Изучать qpile или lua?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.07.2015 19:31:42
Можно начать с этого:
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
Пользователь
Сообщений: Регистрация: 30.01.2015
02.07.2015 19:20:14
Я Вас искренне спрашиваю, а Вы обижаетесь. Стаканы получать без открытия просили не в прошлом году а уже десять лет, еще когда лишь QPILE был, потом когда перевели все функции QPILE на луа тоже просили (сам лично просил) это было лет пять назад. Т е то была вполне естественная проблема. То что просите Вы, по моему пониманию - это невозможно технически и бессмысленно практически. попробуйте ответить на мой вопрос про базу отсчета. Допускаю, что Вы в этом не разбирались, но настоятельно рекомендую изучить каким же образом мы на компьютере узнаем на сколько точно в миллисекундах локальное время отстает или опережает время биржи. Посмотрите девиацию задержек ответов сервера. Я этим вопросом занимался подробно поэтому Вам и написал.
Кому заказать робота, Попытка разобраться куда и к кому идти за торговым роботом
Пользователь
Сообщений: Регистрация: 30.01.2015
02.07.2015 15:08:57
Надо читать классику: "Вопрос: - А не жениться ли мне? Уже содержит ответ" (Козма Прудков)
ТТП Таблицы текущих параметров, где взять параметры
Пользователь
Сообщений: Регистрация: 30.01.2015
02.07.2015 14:58:54
все же попробуйте, чудеса бывают и в квике.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
Николай Камынин пишет: Процесс увлекательный, но бессмысленный.
Смысл всегда есть. К примеру не было активности, а потом сразу 10 стаканов пришло. Как определить изменения в каком стакане повлияли на другие?(Т.е. какой стакан первым обновился?) В лучшем случае, можно получить время сервера "SERVERTIME" и предположить, что именно это время когда, был сделан снимок стакана, а оно с точностью до секунды. А если стакан изменится несколько раз за сек?Ставить разным стаканам одинаковую временную метку? Или какие то копии стакана проигнорировать?Какие? Первую копию или последнюю оставить? Как синхронизировать ленту всех сделок с поступающими новыми стаканами(может последний стакан отстаёт на 1-2 сек)? А определить должно быть просто. Время последнего внесённого изменения и есть время этого стакана.
А можно пример из жизни, а то Ваш пример из страшного сна.
Кому заказать робота, Попытка разобраться куда и к кому идти за торговым роботом
Sam Gold пишет: Здравствуйте! Мне нужен совет, я не знаю к кому обратиться для создания торгового робота. Вопросы которые для меня актуальны: 1) Какой язык программирования оптимальней для работы через quik 2) Стоит ли доверять частным лицам или все таки это должна быть компания (пускай маленькая) 3) Могу ли я рассчитывать на нормальную оболочку у софта. Или будет все совсем кустарно и архаично
Если не в ту тему, то с ориентируйте пожалуйста куда идти и к кому обратиться. Буду очень признателен. Кто вообще лидеры рынка и кому стоит доверять?
1. Неважно. Исполнитель сам выберет подходящую среду программирования (если он в состоянии это сделать) 2. Компания в подавляющем большинстве случаев наймет того же частника, но ей вы тоже заплатите 3. Можете. Все зависит от глубины вашего кармана
Вот хорошая , которую имеет смысл прочесть перед заказом робота.
Михаил скромно не сказал, что рекламирует свой сайт. А статью, которую Вы поместили на сайт написана любителем торговать на форексе и освоившим написание в метатрейдере. ------------------------ Ямщик ты о чем поешь? Так что вижу так и о том и пою. А что видишь-то? Степь, да степь кругом.
отслеживание нажатия клавиши
Пользователь
Сообщений: Регистрация: 30.01.2015
01.07.2015 20:52:33
документация SetTableNotificationCallback
ТТП Таблицы текущих параметров, где взять параметры
Пользователь
Сообщений: Регистрация: 30.01.2015
01.07.2015 20:49:42
попробуйте прочитать .PARAM_VALUE
ТТП Таблицы текущих параметров, где взять параметры
Пользователь
Сообщений: Регистрация: 30.01.2015
01.07.2015 20:48:27
А вы этот параметр в какое время читаете?
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
Пользователь
Сообщений: Регистрация: 30.01.2015
01.07.2015 20:45:28
Процесс увлекательный, но бессмысленный.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
Пользователь
Сообщений: Регистрация: 30.01.2015
01.07.2015 20:44:30
Интересно узнать от какой базы считать время с погрешностью в миллисекунды. И что потом делать с этими циферками на компе. Это подобно нарезанию морской волны на кусочки с погрешностью мм с помощью бензопилы.
Изучать qpile или lua?, Изучать qpile или lua?
Пользователь
Сообщений: Регистрация: 30.01.2015
29.06.2015 12:20:15
Кроме того, имеющийся в LUA механизм подключения модулей позволяет создавать модули на любых языках программирования и подключать любые сторонние библиотеки, реализованные в виде DLL, чего сделать в QPILE невозможно.
Длина таблицы
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2015 11:42:45
дополню инфой из документации, ссылку дать не могу так как не помню. ------------------- При работе VMLUA с таблицами происходит следующее. -------------------- Элементы не проверяются на содержимое так как это замедляло бы работу. --------------------- поэтому если элементу присвоить nil и он не последний, то сборщик его не видит так как нет функции упаковки разряженных таблиц. т е элемент существует , а что внутри таблицы сборщик мусора никогда не проверяет. Это существенно ускоряет вычисления.
метки в скрипте индикатора, применение функций работы с метками в скрипте индикатора
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2015 11:36:16
Например, решение может быть следующим: самое простое: 1) Если Таблица Settings содержит параметр Settings.chart_tag, то это и будет идентификатором окна. чуть сложнее: 2) когда скрипт индикатора помещаем в окно,то VMLUA присваивает данному окну chart_tag из своего внутреннего списка. функция getDataSourceInfo может нам вернуть параметр chart_tag для пользования.
Встроенные индикаторы в скриптах индикаторов, Встроенные индикаторы в скриптах индикаторов
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2015 09:12:34
Добрый день, Если данный вопрос уже решен, то просьба дать ссылку. ------------------------------- Хотелось бы не тратить время на повторное программирование уже имеющихся индикаторов, а иметь возможность: 1) вызвать в скрипте расчет встроенного индикатора 2) Прочитать значения встроенного индикатора, размещенного в окне скрипта-индикатора, без создания руками или ногами идентификатора графика chart_tag. 3) Если такой возможности нет, то прошу зарегистрировать пожелание. Спасибо
метки в скрипте индикатора, применение функций работы с метками в скрипте индикатора
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2015 09:02:19
Добрый день, возможно вопрос уже решен. Тогда просьба дать ссылку. ------------------------------------------------- Чтобы использовать функции работы с метками необходимо изначально метить руками или ногами окно графика идентификатором chart_tag. ----------------------------------- ВопросЫ: 1) Есть ли возможность сделать это автоматом в скрипте индикатора? 2) Если есть значение chart_tag по умолчанию, то как его взять? 3) Если нет такой возможности, то просьба сделать. ----------- Спасибо
доступ к строкам таблицы изменений параметров, почему его нет?
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2015 08:21:15
Цитата
Sergey Gorokhov пишет: Дмитрий, Отсутствие функционала не является ошибкой. Ошибкой, можно считать любое девиантное поведение софта.
Вики пиет: Девиа́нтное поведе́ние (также социальная девиация) — это поведение, отклоняющееся от общепринятых, наиболее распространённых и устоявшихся норм в определённых сообществах в определённый период их развития --------------------- вопрос: Если софт имеет поведение, то может это диагноз?
Несколько мониторов и getposition
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2015 08:09:41
Увы, по Булгакову не получится (век не тот, страна другая, юристов больше, чем программистов ну и т д). --------------------------------- Мужайтесь! Импортозамещение нам поможет!
Расчёт индекса РТС
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2015 08:00:05
Индекс РТС либо считается точно, либо в действительности считаете не индекс РТС, а какой-то свой индекс. Поэтому "почти точно" - почти тоже самое, что "почти беременная"
luasql (проблема с cursor:fetch)
Пользователь
Сообщений: Регистрация: 30.01.2015
25.06.2015 07:55:44
Цитата
Дмитрий Сазонов пишет: "Unknown error. Possible external module error."
Сообщение "Unknown error. Possible external module error." говорит о том что луа не смогла поймать и распознать ошибку. Это значит, что ошибка может быть абсолютно любой.
QLua + C#, вызов методов с# из QLua
Пользователь
Сообщений: Регистрация: 30.01.2015
21.06.2015 18:10:22
пардон, ошибся хотел написать, что исполнение колбеков переместить в майн.
Дмитрий Сазонов пишет: Здравствуйте. У меня такой вопрос: есть потребность вызывать методы c# класса из QLua. В какой-то степени удалось что-то сделать с помощью LuaInterface.dll и luanet.dll, которые как раз и предназначены для этого. Однако возникла такая проблема: почему-то методы вызываются, если они применяются в main функции. Если же я вызываю экспортируемые методы из обработчиков событий, то ничего не происходит, как будто куска кода нет. Кто-то может сказать, в чем причина кроется? Насколько я знаю, обработчики и main функция крутятся в разных потоках, может это связано с этим? Вообще у кого-то есть успешный опыт использования c#, или подобные вещи стоит делать только через с api lua ?
Верно. Проблема в двухпоточности. Эти библиотеки можно использовать только из того потока, в котором они созданы.
api lua, без вариантов
Если михаил прав, то можно библиотеки C# открыть в потоке main. Так как предпочитаю С и С++ вместо С#, то так не делал, это лишь предположение.
Николай Камынин пишет: Но вот простой пример, который дает на правильный ответ
Звучит, как "А сейчас я расскажу вам всю правду..." Ну, ну, ага.
Цитата
Николай Камынин пишет: Но делать вывод что onParam быстрее, когда вызов OnQuote в 2 раза чаще - это прикольно.
Это тем более забавно, когда вы делаете выводы на основе данных с игрового сервера.
Ну вот скажите, зачем желаемое выдавать за действительное? У Вас слишком богатая фантазия. Вам это надо? Ну, Врать? ---------------------------- Я никогда не делаю тесты на игровых. Но Вы можете, я не против. --------------------------- Это результаты на моем реальном счете и соответственно рабочем сервере в реальном времени.
Скорость получения данных OnParam OnQuote
Пользователь
Сообщений: Регистрация: 30.01.2015
18.06.2015 18:19:41
Как много написано. Но вот простой пример, который дает на правильный ответ: .... ------------------------------ function OnQuote(cl,se) if se~=set or mstart==false then return end; nqute=nqute+1; Log(nqute,"qut"); end
function OnParam(cl,se) if se~=set or mstart==false then return end; npar= npar+1; Log(npar,"par") end ... А вот результат для сбербанка: 06/18/15 19:15:06 par=230 -- это число вызовов колбека оnParam в том числе и по изменению стакана 06/18/15 19:15:06 qut=415 -- это число вызовов OnQuote при изменении стакана Т е если следить за изменением очереди котировок не нужно, а надо лишь какую-нибудь цену, которая была лучшей когда-то то можно работать по onParam. Но делать вывод что onParam быстрее, когда вызов OnQuote в 2 раза чаще - это прикольно.
Скорость получения данных OnParam OnQuote
Пользователь
Сообщений: Регистрация: 30.01.2015
14.06.2015 15:11:43
2)
Узнать таймфрейм графика
Пользователь
Сообщений: Регистрация: 30.01.2015
13.06.2015 15:55:52
если рынок ликвидный,то можно определить разность времени двух соседних закрытых свечей
Узнать таймфрейм графика
Пользователь
Сообщений: Регистрация: 30.01.2015
13.06.2015 15:52:40
Цитата
Старатель пишет: Оба графика имеют разные таймфреймы.
Вообще-то , свечи - это нелинейное сжатие исходных данных. Поэтому непонятна сама постановка задачи обработки двух свечных графиков разного тайма. Какую задачу решаете? -------------------------------------- Можно, например, взять оба графика одного тайма(наименьшего) и далее вычислять нужные параметры на любом тайме больше исходного.
Компель LUA
Пользователь
Сообщений: Регистрация: 30.01.2015
13.06.2015 15:45:35
3 – This section describes the C API for Lua, that is, the set of C functions available to the host program to communicate with Lua. All API functions and related types and constants are declared in the header file .
так сказать, закрывая тему - на форуме forum.qlua.org - есть вся информация, чтоб создать такого робота "с нуля" и не платя никому деньги. Задумайтесь над этим. Мы все когда-то, что-то не умели.
Так сказать, продолжая тему, на свалке можно найти даже слиток золота, но проблема лишь в умении его найти, в потраченном времени и в отсутствии уверенности в успешном поиске. ------------------------------------------- Поэтому самому сделать можно Все или почти все, но чтобы сделанное Вами работало, как мечталось, надо Либо быть в этом деле спецом, Либо бросить занятие, в котором Вы спец, и обучиться новой специальности. ------------------------------------------- Вам выбирать - либо процесс познания, либо результат мечтаний.
Узнать таймфрейм графика
Пользователь
Сообщений: Регистрация: 30.01.2015
11.06.2015 14:32:48
задача легко решается размещением графиков в одном окне но разных подокнах
ещё много много раз - потокобезопасные операции, Потокобезопасность.
Пользователь
Сообщений: Регистрация: 30.01.2015
11.06.2015 14:21:54
Цитата
Michael Bulychev пишет: Нет, просто нет такого механизма в Lua. за конкретным объектом должен следить сам пользователь.
Но в луа нет ни функций QLUA, ни возможности создания функции main в отдельном потоке. - Это все сугубо ноу-хау QUIK. Может быть,продолжая развитие данного направления, сделать необходимые механизмы синхронизации потоков для всех пользователей? Я для себя кое-что сделал. Но некоторые вопросы удобнее решить на стороне терминала .
Разработка торговых роботов, Разработка торговых роботов
Пользователь
Сообщений: Регистрация: 30.01.2015
05.06.2015 20:16:04
Цитата
sam063rus пишет: а можно сам Amibroker - бесплатно? (почему нет такого варианта?) и тогда алгоритм будет интересным и удачным)))))))))
Берите демо(бесплатно) - он работает с одним инструментом и вполне может работать с квиком
Примеры классов на основе метатаблиц и closure на QLUA
Пользователь
Сообщений: Регистрация: 30.01.2015
05.06.2015 20:12:53
вообще-то тема классов на луа в инете известная Я не вижу смысла городить классы на скриптах - это для любителей ООП в обмен на скорость. Вообще-то, если уж надо что ускорить или спрятать в компактный вид то есть API C плюс C++ про метатаблицы:
Сколько стоит робот на LUA?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.06.2015 20:05:41
Цитата
Александр Кудрев пишет: Робот на основе пересечений 2 ЕМА с трейлингом. Надо чтобы период МА можно менять.
Если робот должен реально торговать то его стоимость определяется примерно так: Время разработки(в часах)*ЗарплатуРазработчикаВмесяц(можно найти в инете) /200. Да и еще надо написать правильное тех задание. То,что написал Александр Кудрев - это лишь название мечты, а не задание для разработки робота ( типа - хочу велосипед) ------------------------------------------------ Но если будет делать то у него - 100 руб.(а нет это я ошибся - это он труд других так оценивает)
Но вроде как выставлен тип - рыночная цена, и цена соответственно 0. Т.е. квик или сервер брокера или кто то там наверху должен съэмулировать рыночную заявку и продать\купить по текущей рыночной цене. или нет?
Полагаю, что это Ваше желание. квик или сервер брокера или кто то там наверху - Не должен.
CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
30.05.2015 10:06:29
Цитата
Старатель пишет: Не знаю, что вы подразумеваете под словом "текущие", но основываясь на том, что очередь находится на сервере (блин, ну почему нельзя было сразу об этом сказать?!), я делаю вывод, что данные (1), (2) и (3) будут обработаны функцией-колбеком GetPrice()
По-моему мнение, есть непонимание общих принципов взаимодействия сервера и клиента и колбеков в терминале. -------------------------------------------- Фактически мы имеем две очереди, а вернее сказать - три: --------------------------------- 1) очередь заявок брокеров на сервере биржи 2) очередь поручений клиентов на сервере брокера 3) очередь колбеков скриптов VMLUA в терминале QUIK на компе клиента, так как все колбеки в одном потоке терминала. -------------------------------- Надеюсь, что объяснил понятно.
Кто как решил вопрос уведомления о сделках?
Пользователь
Сообщений: Регистрация: 30.01.2015
30.05.2015 09:57:49
от мобильных торговых систем такой способ отличается тем, что торгует мощная система QUIK а не ее обрезанный клон на смартфон Загрузка трафика для смартфона нулевая