nikolz (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 62 63 64 65 66 67 68 69 70 71 72 След.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Цитата
Старатель пишет:
Цитата
user пишет:
Ту информацию, что ближе к спреду надо бы обновлять более приоритетно.
При чём тут приоритетное обновление?!
Есть правила торгов, согласно которым исполняются ордера. Согласно этим правилам, ордера всегда исполняются последовательно (пусть даже по несколько штук в единицу времени) в порядке очереди.
Исполнение ордеров приводит к изменению стакана таким же образом в строгой последовательности.
Если соблюдать эту последовательность изменений при отображении "стакана", то никогда даже при частичном обновлении "ценовых уровней" не возникнет пересечения котировок. Отсюда вытекает вывод, что в QUIK эта последовательность изменений строк в "стаканах" нарушается.
Предположу, что не совсем так.
Просто сервер биржи не транслирует стакана, пока не урегулирует очередь.
Но обновление очереди на сервере QUIK или в терминале может проходить без запрета и мы видим промежуточное состояние стакана.
Но это состояние уже прошло, как и много других до того как мы это увидели.
Кроме того, право разработчика сделать так как он считает нужным, поскольку нигде не регламентируется работа КВИК с очередями.
Останавливается скрипт
 
Попробуйте так:
------------------------------
local t=getSecurityInfo('',left.name)
if t~=nil  then
local ClassCode=t.class_code
if ClassCode~=nil and type(ClassCode~="table") and ClassCode~="" then
Subscribe_Level_II_Quotes (ClssCode, left.name)
end
end
Скрипт, сохраняющий историю., Я пока учусь :)
 
Рекомендую
1) поставить на комп луа со SciTE.
2)  без квика на луа сделать простые примеры с таблицами, с циклами, с печатью c фалами.
3)После того, как будет все понятно и просто, переходите к чтению документации по QLua и делайте простые примеры но на квике с таблицами циклами файлами.
4) После того, как будет все понятно и просто, переходите без луа и без квика к написанию своего алгоритма.
5) После того, как будет все понятно и просто с алгоритмом, переходите в QUIK и пишите на луа то о чем мечтаете.
Успехов в обучении
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
А как же тогда замену информации провернуть, тем более я раньше это делал?
Проще это делать так:
-----------------------------
1) создаете таблицу
2) читает в нее все из файла
3) меняете в таблице все, что хотите
4) пишите таблицу в файл (режим "w")
-----------------------------
и будет Вам счастье
При выводе информации в лог-файл выводится тарабарщина
 
что касается редактора, то пользуйтесь несколькими.
-----------------------------
Scite - для луа больше , чем  реадктор - это среда разработки.
При выводе информации в лог-файл выводится тарабарщина
 
можно и так
local file = io.open(ImyaCFGFaila, "w+")
file:write("22")
file:flush()
file:close()
------------------
file:seek("set", 15)  - смещает на 15 байт - вот эти байты вы и видите в редакторе.
При выводе информации в лог-файл выводится тарабарщина
 
вообще-то, так как вы пишите сначала файла, то надо так
local file = io.open(ImyaCFGFaila, "w")
file:write("22")
file:flush()
file:close()
Точность чисел с плавающей точкой.
 
В данном случае следует учитывать не погрешность вычислений а дискретность (шаг дискретизации) значений(цены). Он указывается биржей для каждого инструмента свой.
Например, сербанк 0.01. при цене 100 имеем шаг дискретизации 1/10000 т е не более пяти значащих цифр.
Тип float - 7 значащих цифр. double -15 цифр.
Получаем, погрешность вычисления даже с типом float меньше шага дискретности в 100 раз.
----------------------------------------------------------------------------
Резюме, точность вычисления (величина обратная погрешности )  для биржевых цен идеальная.
Погрешность вычислений практически не влияет на величину прогнозируемых цен.
При выводе информации в лог-файл выводится тарабарщина
 
Возьмите sciTE
он к тому же написан на луа
и в него модно добавить
различные примочки
и более того в него встроен компилятор
и даже есть с отладчиком луа
----------------------------
И будет Вам счастье  
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Если надо работать с очередями с 5000 элементов,
то надо просто написать спец модуль такой очереди для луа на СИ.
-------------------------------------------------
Я делаю именно так для обработки больших массивов, очередей, списков, пулов, ну и т д
---------------------------------
Полагаю, что если чел смело берется за потоки с очередями в 5000 элементов,
то создать спец модуль очереди для него - раз плюнуть.
 
Про метки
 
Проблема (возможно кто-то уже решил):
------------------------------
Метки на графиках всегда привязываются к левой оси Y.
Причем, их нельзя привязать к правой.
А индикатор по умолчанию - к правой.
Т е метки можно применить лишь к индикатору, который привязан к левой оси.
А если графика два - цена и объем, то метки липнут к графику, который на левой оси
(т е метки по цене, а слева - объем)  в результате на экране меток нет.
-------------------------------------------
Предложение (делал давно, наверное забыли)
1) сделать возможность перепривязывать метки по осям
2) сделать автоматическое привязывание меток и индикатора той оси,
к которой привязан график с указанным тегом.
Индикатор связывающий два инструмента
 
Цитата
Deserf пишет:
Здравствуйте, можно сделать по тикам, но тогда графики с идентификаторами tag1 и tag2 должны всего лишь быть тиковыми (во вкладке период графика указать "tick")
В реале, в текущей свече индикатор рассчитываться по тикам,но отображается лишь текущее значение.
При выводе информации в лог-файл выводится тарабарщина
 
Это не тарабарщина а символ нулевого кода в тестовой строке.
Попробуйте отключить отображение управляющих символов  в редакторе текста,
на котором смотрите сообщение
или убрать их из выводимой строки.
Индикатор не перерисовывается при смене таймфрейма
 
Сделайте установку в начальное состояние всех счетчиков и массивов  при значении индекса равным 1.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Цитата
DronGO пишет:
Кстати table. s insert table. s remove, работают очень медленно, в сотни раз медленнее, чем lock-free системы. И в своей работе их использовать не стал.
Самый быстрый способ удалить элемент таблицы - присвоить ему nil.
Останавливается скрипт
 
Попробуйте так:
------------------------------
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
Нет текста на графике (Метки)
 
еще есть такая хитрость.
Метки привязаны к левой оси Y
А график по умолчанию привязывается к правой.
поэтому ничего и не видно.
Встроенные индикаторы в скриптах индикаторов, Встроенные индикаторы в скриптах индикаторов
 
В некоторых индикаторах в квике есть заморочки с периодом вместо используется удвоенное значение.
Сравнивал AMA,SMA,EMA, RSI  соответствуют  и совпадают.
Количество торгуемых инструментов роботом
 
Михаил, Вы заблуждаетесь.
Есть ограничение на чиcло локальных переменных Я уже писал об этом на форуме, а читал в документации ссылку дать не могу, так как не фиксировал.
Более того, это ограничение я уже наблюдал в скриптах индикаторах.
Пришлось повозиться, пока дошло что это оно самое.
Изучать qpile или lua?, Изучать qpile или lua?
 
Если изучать Луа по несколько минут в день, то работающий скрипт,
от которого будет реальная помощь а не сообщение "Хелло луа"
получится в следующем году.
-------------------------------------------
процесс познания увлекателен, но утомителен, особенно когда никому не доверяешь.
Количество торгуемых инструментов роботом
 
Есть ограничение на количество переменных в скрипте робота.
Нет текста на графике (Метки)
 
chart_tag - написали в графике?
отслеживание нажатия клавиши
 
Цитата
s_mike@rambler.ru пишет:
Цитата
Сергей Радченко пишет:
Цитата
Alexey K пишет:
Хочу чтобы скрипт отслеживал определенное нажатие клавиши. Можете подсказать где и что почитать, чтобы сделать это без лишних заморочек?
Если нужно отследить с вашей таблицы, то поможет то, что предлагает Николай Камынин , а если нужно круче , то придется писать приложение или подключать стороннюю библиотеку.
А если не делать умное лицо и нужно просто и незатейливо, то пишется скрипт js из трех строчек. Этот скрипт дописывает файл протокола клавиш. Вызывается по сочетанию клавиш (быстрый вызов). Протокол клавиш читается откуда угодно.
Михаил, Я пытаюсь представить Ваше лицо в момент написания этого послания человечеству.
Ну, то что оно не умное, это понятно,
но какое?
Встроенные индикаторы в скриптах индикаторов, Встроенные индикаторы в скриптах индикаторов
 
потому, что это бот.
Изучать qpile или lua?, Изучать qpile или lua?
 
Цитата
Сергей Радченко пишет:
Цитата
Виталий пишет:
Я не знаю ни языка qpile, ни lua, но мне надо сделать программу, воспроизводящую звуковой файл при пересечении двух АМА с разными периодами. Какой из этих языков лучше изучить для реализации данной программы?
))) Мне нужно поменять резину на колесах. Какое монтажное оборудование посоветуете?
А если серьезно, то пару тыров заплатить программеру и забыть.
Не тот пример (очевидно, потому что, кроме колес ничего у авто больше открутить нельзя).
----------------------------------------------
Например так , надо сделать тормоз к авто,
так как тормоза вообще нет,
да и авто нет, но есть телега, но без коня.
---------------------
Но нужен тормоз, его тоже нет.
Изучать qpile или lua?, Изучать qpile или lua?
 
Можно начать с этого:
http://megamozg.ru/company/kidsncode/blog/16916/
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Я Вас искренне спрашиваю, а Вы обижаетесь.
Стаканы получать без открытия просили не в прошлом году а уже десять лет, еще когда лишь QPILE был,
потом когда перевели все функции QPILE на луа тоже просили (сам лично просил) это было лет пять назад.
Т е то была вполне естественная проблема.
То что просите Вы, по моему пониманию - это невозможно технически и бессмысленно практически.
попробуйте ответить на мой вопрос про базу отсчета.
Допускаю, что Вы в этом не разбирались, но настоятельно рекомендую изучить каким же образом мы на компьютере узнаем на сколько точно в миллисекундах локальное время отстает или опережает время биржи.
Посмотрите девиацию задержек ответов сервера.
Я этим вопросом занимался подробно поэтому Вам и написал.
Кому заказать робота, Попытка разобраться куда и к кому идти за торговым роботом
 
Надо читать классику:
"Вопрос: - А не жениться ли мне?
Уже содержит ответ"
(Козма Прудков)
ТТП Таблицы текущих параметров, где взять параметры
 
все же попробуйте, чудеса бывают и в квике.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Цитата
DronGO пишет:
Цитата
Николай Камынин пишет:
Процесс увлекательный,
но бессмысленный.
Смысл всегда есть. К примеру не было активности, а потом сразу 10 стаканов пришло. Как определить изменения в каком стакане повлияли на другие?(Т.е. какой стакан первым обновился?) В лучшем случае, можно получить время сервера "SERVERTIME" и предположить, что именно это время когда, был сделан снимок стакана, а оно с точностью до секунды. А если стакан изменится несколько раз за сек?Ставить разным стаканам одинаковую временную метку? Или какие то копии стакана проигнорировать?Какие? Первую копию или последнюю оставить? Как синхронизировать ленту всех сделок с поступающими новыми стаканами(может последний стакан отстаёт на 1-2 сек)? А определить должно быть просто. Время последнего внесённого изменения и есть время этого стакана.
А можно пример из жизни,
а то Ваш пример из страшного сна.
Кому заказать робота, Попытка разобраться куда и к кому идти за торговым роботом
 
Цитата
s_mike@rambler.ru пишет:
Цитата
Sam Gold пишет:
Здравствуйте!
Мне нужен совет, я не знаю к кому обратиться для создания торгового робота.
Вопросы которые для меня актуальны:
1) Какой язык программирования оптимальней для работы через quik
2) Стоит ли доверять частным лицам или все таки это должна быть компания (пускай маленькая)
3) Могу ли я рассчитывать на нормальную оболочку у софта. Или будет все совсем кустарно и архаично

Если не в ту тему, то с ориентируйте пожалуйста куда идти и к кому обратиться.
Буду очень признателен.
Кто вообще лидеры рынка и кому стоит доверять?
1. Неважно. Исполнитель сам выберет подходящую среду программирования (если он в состоянии это сделать)
2. Компания в подавляющем большинстве случаев наймет того же частника, но ей вы тоже заплатите
3. Можете. Все зависит от глубины вашего кармана

Вот хорошая статья , которую имеет смысл прочесть перед заказом робота.
Михаил скромно не сказал, что рекламирует свой сайт.
А статью, которую Вы поместили на сайт написана любителем торговать на форексе и освоившим написание в метатрейдере.
------------------------
Ямщик ты о чем поешь?
Так что вижу так и о том и пою.
А что видишь-то?
Степь, да степь кругом.
отслеживание нажатия клавиши
 
документация
SetTableNotificationCallback
ТТП Таблицы текущих параметров, где взять параметры
 
попробуйте прочитать .PARAM_VALUE
ТТП Таблицы текущих параметров, где взять параметры
 
А вы этот параметр в какое время читаете?
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Процесс увлекательный,
но бессмысленный.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Интересно узнать от какой базы считать время с погрешностью в миллисекунды.
И что потом делать с этими циферками на компе.
Это подобно нарезанию морской волны  на кусочки с погрешностью мм с помощью бензопилы.
Изучать qpile или lua?, Изучать qpile или lua?
 
Кроме того,
имеющийся в LUA механизм подключения модулей
позволяет создавать модули на любых языках программирования
и подключать любые сторонние библиотеки,
реализованные в виде DLL,
чего сделать в QPILE невозможно.
Длина таблицы
 
дополню инфой из документации, ссылку дать не могу так как не помню.
-------------------
При работе VMLUA с таблицами происходит следующее.
--------------------
Элементы не проверяются на содержимое так как это замедляло бы работу.
---------------------
поэтому если элементу присвоить nil и он не последний,
то сборщик его не видит так как нет функции упаковки разряженных таблиц. т е элемент существует ,
а что внутри таблицы сборщик мусора никогда не проверяет.
Это существенно ускоряет вычисления.
метки в скрипте индикатора, применение функций работы с метками в скрипте индикатора
 
Например, решение может быть следующим:
самое простое:
1) Если Таблица Settings содержит параметр Settings.chart_tag, то это и будет идентификатором окна.
чуть сложнее:
2) когда  скрипт индикатора помещаем в окно,то VMLUA присваивает данному окну chart_tag из своего внутреннего списка.
функция getDataSourceInfo может нам вернуть параметр chart_tag для пользования.
 
Встроенные индикаторы в скриптах индикаторов, Встроенные индикаторы в скриптах индикаторов
 
Добрый день,
Если данный вопрос уже решен, то просьба дать ссылку.
-------------------------------
Хотелось бы не тратить время на повторное программирование уже имеющихся индикаторов, а иметь возможность:
1)  вызвать в скрипте расчет встроенного индикатора
2) Прочитать значения встроенного индикатора, размещенного в окне скрипта-индикатора,
без создания руками или ногами идентификатора  графика chart_tag.
3) Если такой возможности нет, то прошу зарегистрировать пожелание.
Спасибо
метки в скрипте индикатора, применение функций работы с метками в скрипте индикатора
 
Добрый день,
возможно вопрос уже решен.
Тогда просьба дать ссылку.
-------------------------------------------------
Чтобы использовать функции работы с метками необходимо изначально метить руками или ногами
окно графика идентификатором chart_tag.
-----------------------------------
ВопросЫ:
1) Есть ли возможность сделать это автоматом в скрипте индикатора?
2) Если есть значение chart_tag по умолчанию, то как его взять?
3) Если нет такой возможности, то просьба сделать.
-----------
Спасибо
доступ к строкам таблицы изменений параметров, почему его нет?
 
Цитата
Sergey Gorokhov пишет:
Дмитрий,
Отсутствие функционала не является ошибкой.
Ошибкой, можно считать любое девиантное поведение софта.
Вики пиет:
Девиа́нтное поведе́ние
(также социальная девиация) — это поведение, отклоняющееся от общепринятых, наиболее распространённых и устоявшихся норм в определённых сообществах в определённый период их развития
---------------------
вопрос: Если софт имеет поведение, то может это диагноз?
Несколько мониторов и getposition
 
Увы, по Булгакову не получится
(век не тот, страна другая, юристов больше, чем программистов ну и т д).
---------------------------------
Мужайтесь!
Импортозамещение нам поможет!
Расчёт индекса РТС
 
Индекс РТС либо считается точно, либо в действительности считаете не индекс РТС, а какой-то свой индекс.
Поэтому "почти точно"  - почти тоже самое, что "почти беременная"
luasql (проблема с cursor:fetch)
 
Цитата
Дмитрий Сазонов пишет:
"Unknown error. Possible external module error."
Сообщение "Unknown error. Possible external module error."  говорит о том что луа не смогла поймать и распознать ошибку.
Это значит, что ошибка может быть абсолютно любой.
QLua + C#, вызов методов с# из QLua
 
пардон, ошибся
хотел написать, что исполнение колбеков переместить в майн.
QLua + C#, вызов методов с# из QLua
 
Цитата
s_mike@rambler.ru пишет:
Цитата
Дмитрий Сазонов пишет:
Здравствуйте. У меня такой вопрос: есть потребность вызывать методы c# класса из QLua. В какой-то степени удалось что-то сделать с помощью LuaInterface.dll и luanet.dll, которые как раз и предназначены для этого. Однако возникла такая проблема: почему-то методы вызываются, если они применяются в main функции. Если же я вызываю экспортируемые методы из обработчиков событий, то ничего не происходит, как будто куска кода нет. Кто-то может сказать, в чем причина кроется? Насколько я знаю, обработчики и main функция крутятся в разных потоках, может это связано с этим? Вообще у кого-то есть успешный опыт использования c#, или подобные вещи стоит делать только через с api lua ?
Верно. Проблема в двухпоточности. Эти библиотеки можно использовать только из того потока, в котором они созданы.

api lua, без вариантов
Если михаил прав, то можно библиотеки C# открыть в потоке main.
Так как предпочитаю С и С++ вместо С#, то так не делал, это лишь предположение.
Скорость получения данных OnParam OnQuote
 
Старатель пишет:
Цитата
Цитата
Николай Камынин пишет:
Но вот простой пример, который дает на правильный ответ
Звучит, как "А сейчас я расскажу вам всю правду..." Ну, ну, ага.
Цитата
Николай Камынин пишет:
Но делать вывод что onParam быстрее, когда вызов OnQuote в 2 раза чаще - это прикольно.
Это тем более забавно, когда вы делаете выводы на основе данных с игрового сервера.
Ну вот скажите, зачем желаемое выдавать за действительное?
У Вас слишком богатая фантазия.
Вам это надо? Ну, Врать?
----------------------------
Я никогда не делаю тесты на игровых. Но Вы можете, я не против.
---------------------------
Это результаты на моем реальном счете
и соответственно  рабочем сервере в реальном времени.
Скорость получения данных OnParam OnQuote
 
Как много написано.
Но вот простой пример, который дает на правильный ответ:

....
------------------------------
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
 
2)
Страницы: Пред. 1 ... 62 63 64 65 66 67 68 69 70 71 72 След.
Наверх