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

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

Страницы: Пред. 1 ... 70 71 72 73 74 75 76 77 78 79 80 След.
Таблица всех сделок, Проблема при считывании направлении сделок ("Купля" или "Продажа")
 
1024=2^10,
т е установлен 10 бит.
то бишь не старшие,
а лишь один - десятый.
Как сделать так, чтобы файлы подгружались сами?
 
можно ставить и "/" одинарный,
как в линуксе
Как работает OnCalculate?, При использование getParamEx в OnCalculate замечены пробелы в данных... Как быть?
 
 OnCalculate вызывается на каждую обезличенную сделку,
а  getParamEx читает из срезов ТТП ,
ТТП обновляется илшь при изменении и если данные еще не устарели в пришедшем срезе
Т е расчет по OnCalculate и по getParamEx скорее будут не совпадать, а  иногда совпадать.
Таблица всех сделок, Проблема при считывании направлении сделок ("Купля" или "Продажа")
 
по-моему,
Квик сам не определяет,
этот параметр приходит с биржи
Удаление метки
 
DelAllLabels(chart_name)
Если внутри функции создаётся переменная, то по выходу из функции она умирает?
 
если LOCAL нет,
то переменная будет создана в глобальной области.
CreateDataSource
 
Пардон,
действительно,
нет надобности обновлять историю которая уже есть в терминале.
Было бы хорошо,
если бы история в терминале в начале сессии  не обновлялась,
а добавлялась.
CreateDataSource
 
попробую добавить свою ложку в вашу бочку.
-------------------------------------
Полагаю, что речь идет о реальном времени.
Т е рассмотрим реальную торговлю, а иначе нет смысла вообще в этой дискуссии.
----------------------------------------------------
Обмен сообщениями сервера и терминалов осуществляется асинхронно.
Свечи идут от сервера синхронно с неопределенность в одну сделку и один тайм.
Свечи формирует сервер на основе двух условий - тайма и события(сделки внутри тайма).
Следовательно какая очередная свеча должна быть, мы знаем и без сервера (если время у нас точное)
------------------------------------------------
Если свечи нет, то либо время не то, либо нет событий.
Свечи - это нелинейное сжатие данных задним числом.
Т е свеча всегда есть , когда пройдут все события включаемые в нее и завершиться тайм.
-------------------------
Поэтому на стороне терминала невозможно знать точно текущее состояние на сервере(т е на бирже)
Запрашивать сервер о количестве свечей не имеет смысла,
так как мы это знаем с точностью до последней свечи (последнего тайма и последней сделки)
Максимальная длина идентификаторов.
 
Как говаривал герой одного фильма: "Вам по колено будет"
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Цитата
Michael Bulychev пишет:
Цитата
Николай Камынин пишет:
Если надо работать с очередями с 5000 элементов,
то надо просто написать спец модуль такой очереди для луа на СИ.
-------------------------------------------------
Я делаю именно так для обработки больших массивов, очередей, списков, пулов, ну и т д
---------------------------------
Полагаю, что если чел смело берется за потоки с очередями в 5000 элементов,
то создать спец модуль очереди для него - раз плюнуть.
Мне кажется что различные очереди в скрипте как раз проще делать на Lua.
Если важно ПРОЩЕ, то, безусловно, Луа,
но если важно БЫСТРО то , безусловно, СИ
Но для очередей в 5000 элементов - важно быстро, так как иначе - нет смысла .
Про OnTrade()Y
 
Цитата
Deserf пишет:
Насколько я понимаю, платформа Quik в скрипте QLua не в состоянии отследить ВСЕ выполненные сделки? Если сделка одна по одной цене, тогда еще хорошо, но по двум-трем ценам, то скрипт опускает хобот, поймав только одну цену, ее лоты и цену
Нет, скрипт поднимает заднюю ногу и писает на своего создателя.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
стакан - это отображение очереди заявок.
очередь заявок формирует сервер биржи.
Он же производит исполнение сделок.
Так вот, когда приходит заявка на покупку по цене выше лучшей цены продажи,
то она в стакане должна встать выше лучшей цены продажи.
Но она туда не ставится а производится совершение сделок и удаление из очереди заявок на продажу которые удовлетворяют данную заявку на покупку.
Вот эти состояния очереди и не передает брокерам сервер биржи. т е такие не уравновешенные стаканы клиенты брокеров не видят.
-----------------------------------
Как правило, сервер брокера транслирует клиентам не стакан а лишь изменения в стакане (про квик не знаю, но так делает транзак).
Т е в терминале клиента тоже возникают момент удаления, перемещения и замещения записей.
Если состояние изменяющегося На терминале стакана доступно клиенту, то будем видеть переменное число записей в стакане.
Таким образом, те состояния стакана, которые видим в терминале - могут содержать переходные состояния с переменным числом элементов.
Такой вид стакана - это не реальное состояние очереди, а техническое состояние таблицы на стороне терминала.
Т е на сленге можно назвать это мусором.
Показ такого мусора никто не регламентирует.
Точность чисел с плавающей точкой.
 
еще раз повторю для любителей справочника:
float -действительное 4 байта. точность 7 значащих цифр.
double -действительное число с двойной точностью 8байт точность 15 значащих цифр, так как мантисса хранится в нормализованном виде
long double- длинное действительное 10 байт. точность 19 значащих цифр.
----------------------------------
Дополню. проблема скорее всего у Вас будет не с точностью(погрешностью), а с тем что перевод из десятичной формы в двоичную и обратно очень часто не может быть выполнен точно.
Поэтому давным давно для финансовых операций фирма IBM предложила и долго использовали двоично-десятичную математику в которой финансовые операции ( а на бирже лишь такие) всегда вычисляются точно.
Но это в прошлом.
Ошибки в функции 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 невозможно.
Страницы: Пред. 1 ... 70 71 72 73 74 75 76 77 78 79 80 След.
Наверх