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

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

Страницы: Пред. 1 ... 69 70 71 72 73 74 75 76 77 78 79 След.
Нет текста на графике (Метки)
 
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)
Узнать таймфрейм графика
 
если рынок ликвидный,то можно определить разность времени двух соседних закрытых свечей
Узнать таймфрейм графика
 
Цитата
Старатель пишет:
Оба графика имеют разные таймфреймы.
Вообще-то , свечи - это нелинейное сжатие исходных данных.
Поэтому непонятна сама постановка задачи обработки двух свечных графиков разного тайма.
Какую задачу решаете?
--------------------------------------
Можно, например,
взять оба графика одного тайма(наименьшего) и далее вычислять нужные параметры на любом тайме больше исходного.
Компель LUA
 
http://www.lua.org/manual/5.1/manual.html
3 – The Application Program Interface
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 lua.h.
Сколько стоит робот на LUA?
 
Цитата
sam063rus пишет:
to Author,

так сказать, закрывая тему - на форуме forum.qlua.org - есть вся информация, чтоб создать такого робота "с нуля" и не платя никому деньги. Задумайтесь над этим. Мы все когда-то, что-то не умели.
Так сказать, продолжая тему,
на свалке можно найти даже слиток золота,
но проблема лишь в умении его найти,
в потраченном времени
и в отсутствии уверенности в успешном поиске.
-------------------------------------------
Поэтому самому сделать можно Все или почти все,
но чтобы сделанное Вами работало, как мечталось,
надо
Либо быть в этом деле спецом,
Либо бросить занятие, в котором Вы спец,
и обучиться новой специальности.
-------------------------------------------
Вам выбирать - либо процесс познания, либо результат мечтаний.
Узнать таймфрейм графика
 
задача легко решается размещением графиков в одном окне но разных подокнах
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Цитата
Michael Bulychev пишет:
Нет, просто нет такого механизма в Lua. за конкретным объектом должен следить сам пользователь.
Но в  луа нет ни функций  QLUA,
ни возможности создания функции main в отдельном потоке. - Это все сугубо ноу-хау QUIK.
Может быть,продолжая развитие данного направления,  
сделать необходимые механизмы синхронизации потоков
для всех пользователей?
Я для себя кое-что сделал.
Но некоторые вопросы удобнее решить на стороне терминала .
Разработка торговых роботов, Разработка торговых роботов
 
Цитата
sam063rus пишет:
а можно сам Amibroker - бесплатно? (почему нет такого варианта?)
и тогда алгоритм будет интересным и удачным)))))))))
Берите демо(бесплатно) - он работает с одним инструментом и вполне может работать с квиком
Примеры классов на основе метатаблиц и closure на QLUA
 
вообще-то тема классов на луа в инете известная
Я не вижу смысла городить классы на скриптах - это для любителей ООП в обмен на скорость.
Вообще-то, если уж надо что ускорить или спрятать в компактный вид то есть API C плюс C++
про метатаблицы:  http://www.lua.org/manual/5.1/manual.html#2.8
Сколько стоит робот на LUA?
 
Цитата
Александр Кудрев пишет:
Робот на основе пересечений 2 ЕМА с трейлингом. Надо чтобы период МА можно менять.
Если робот должен реально торговать то его стоимость определяется примерно так:
Время разработки(в часах)*ЗарплатуРазработчикаВмесяц(можно найти в инете) /200.
Да и еще надо написать правильное тех задание.
То,что написал Александр Кудрев  - это лишь название мечты, а не задание для разработки робота ( типа - хочу велосипед)
------------------------------------------------
Но если будет делать sam063rus то у него - 100 руб.(а нет это я ошибся - это он труд других так оценивает)
Стоплосс и тейкпрофит заявки
 
Цитата
Валентин пишет:

Но вроде как выставлен тип - рыночная цена, и цена соответственно 0. Т.е. квик или сервер брокера или кто то там наверху должен съэмулировать рыночную заявку и продать\купить по текущей рыночной цене. или нет?
Полагаю, что это Ваше желание.
квик или сервер брокера или кто то там наверху  - Не должен.  
CreateDataSource
 
Цитата
Старатель пишет:
Не знаю, что вы подразумеваете под словом "текущие", но основываясь на том, что очередь находится на сервере (блин, ну почему нельзя было сразу об этом сказать?!), я делаю вывод, что данные (1), (2) и (3) будут обработаны функцией-колбеком GetPrice()
По-моему мнение, есть непонимание общих принципов взаимодействия сервера и клиента и колбеков в терминале.
--------------------------------------------
Фактически мы имеем две очереди, а вернее сказать - три:
---------------------------------
1)  очередь заявок брокеров на сервере биржи
2)  очередь поручений клиентов на сервере брокера
3) очередь  колбеков скриптов VMLUA в терминале QUIK на компе клиента,
так как все колбеки в одном потоке терминала.
--------------------------------
Надеюсь, что объяснил понятно.
Кто как решил вопрос уведомления о сделках?
 
от мобильных торговых систем такой способ отличается тем, что торгует мощная система QUIK а не ее обрезанный клон на смартфон
Загрузка трафика для смартфона нулевая
Кто как решил вопрос уведомления о сделках?
 
Расскажу как я это делаю.

------------------------------
Объясняю упрощенно:
------------------------------------------
Основная идея в том,
что Вы сажаете скрипт клиент-сервера с динамическим адресом  на КВИК на компе дома.
и скрипт клиент-сервера - на смартфон или планшет или нотебук
---------------------
В результате КВИК сообщит Вам о любых событиях
со скоростью передачи информации по интернет.
--------------------------
Вы можете тоже послать команду КВИКУ.
Все работает быстро и практически бесплатно.
----------------------
Лимитированная, рыночная заявка
 
Цитата
Валентин пишет:
Здравствуйте. Работаю на фьючах на московской бирже.
1.Параметр type - принимает параметр лимитированная или рыночная.
Я так понял рыночной заявки какбы не существует? параметр type не обязателен, Все заявки всегда лимитированные и надо всегда указывать price? Если да, то к чему тогда существует параметр type?
2. Предположим мне необходимо сейчас открыть позицию, выставить стоп и тейкпрофит.
Это нормально считать стоп, тейкпрофит на основе параметра close из функции
getCandlesByIndex последней свечи (5минутка) или есть какие то лучшие варианты?
1) этот параметр появился еще до того, как стали торговать фьючерсами.
-----------------------------------------
2) Стоп и тайк профит - это условное выставление лимитированных заявок.
-----------------------
Что это означает?
-----------------
Означает это следующее.
Мы открываем позицию и желаем застраховать ее от наступления двух событий:
Во-первых  - чтобы наши убытки по-возможности не превысили терпимый для нас уровень - это stop-limit
Во-вторых - чтобы наша оценочная прибыль превратилась в реальную с терпимым для нас убытком - это take profit
-----------------------------
А теперь попробуйте ответить сами на Ваш вопрос.
А именно - разве наши желания страховки связаны с close последней свечи на 5 минутках?
Очевидно, что, нет,
они связаны с затратами на открытие позиции,
с величиной допустимых для нас рисков(потерь)
и
что ВАЖНО - с нашим прогнозом возможного движения рынка.
--------------------
А вот при расчете прогноза возможно использование
и последней свечи
и еще ...надцати предыдущих
и движение солнца,
цены нефти,
выступления президента
и т д
-------------------------------------------
Надеюсь, что пояснил понятно.
sendTransaction
 
пардон опечатка:
вот такой конструкцией
local res=sendTransaction(trans); if res~="" then Log(trans,res);end
sendTransaction
 
у меня работает и выводит сообщение об ошибках если они есть
Но сообщения лучше выводить в лог файл вот такой конструкцией:


local res="";sendTransaction(trans); if res~="" then Log(trans,res);end
Счётчик числа сделок в секунду по одному тикеру
 
sam063rus,
Я попробую дать Вам ответы на Ваши вопросы, хотя ранее я уже это написал, но повторение...
-------------------------------------------
Подобные исследования я проводил лет 5 назад.
тогда и дискуссия подобная была на форуме.
В результате получилось следующее:
----------------------
1) ТТП - это актуальные значения параметров инструментов
-----------------------
Что это означает для Вашей задачи?
---------------------
Означает следующее:
Если в какую-то секунду произошло 100 сделок ,
а в результате каких-то задержек(очередь на сервере, задержки каналов связи и т д)
мы получаем ТТП в конце этой секунды (пусть даже несколько одновременно поступивших срезов)
то в ТТП т е в onParam мы увидим лишь последнюю сделку.
--------------------------
Это первая причина, по которой вашу задачу НЕВОЗМОЖНО корректно решить через ТТП
---------------------------------------
Вторая причина в том, что ТТП реагирует на любые актуальные изменения параметров инструментов,
а не только на совершение сделок.
Это приводит к большим нагрузкам на комп при обработке колбека оnParam.
И в Вашей задаче к ненужным тратам мощности компа
-------------------------------------
третья причина - это то, что в onParam не приходит информация о том,
какой именно параметр изменился.
Для того, чтобы узнать надо ходить в хранилище.
А это очень затратный процесс.
-----------------------------------------------
Резюме:
Есть лишь одно корректное решение Вашей задачи. - использовать onAllTrade.
Основные идеи, как это сделать, я вам написал ранее.
------------------------
Успехов
Счётчик числа сделок в секунду по одному тикеру
 
Ну вот я написал Вам черновик вашего счетчика:
он будет считать для всех инструментов
Сразу скажу, что это черновик и в нем изложены основные идеи,
но детально не отлаживал
Дерзайте.
-------------------
is_run = true
local Count={}

function OnAllTrade(t)
local cl,se=t.class_code,t.sec_code;
local t1=Count[cl] if t1==nil then t1={}; Count[cl]=t1; end
local t2=t1[se] if t2==nil then t2={0;0}; t1[se]=t2; end  
local d=t.datetime;
if d.sec==t2[1] then t2[2]=t[2]+1; t2[1]=d.sec else t2[2]=0; t2[1]=d.sec; end
end


function main()
while is_run do sleep(100)   -- здесь я в своих программах использую Event OS но можно и так оставить
end
end

function OnStop()
is_run = false
return 1000
end
--------------------
Счётчик числа сделок в секунду по одному тикеру
 
код увидел.
Мне читать все топики лень, поэтому я выскажусь, возможно что кто-то уже это сказал.
1) Работа через onParam - самый плохой вариант. Там и хранилище очень тяжелое и данный колбек на каждый чих срабатывает
при этом если срез не пришел и не актуальный то он вообще потеряется.
Т е через этот колбек Вы обязательно недосчитаетесь сделок когда-нибудь
---------------------------------
2) Поэтому данную задачу полагаю надо решать через onAllTrade
По крайней мере решение через onAllTrade будет полным, но возможно что есть и более быстрое но не полное.
Поэтому  решение через onAllTrade должно быть базовым а остальные,
если они будут быстрее надо сравнивать с базовым.

--------------------------------
Поэтому предлагаю написать вариант через onAllTrade
и изложить претензии к такому решению (желательно с примерами)
получение параметров индикатора, обращение к line
 
Цитата
Michael Bulychev пишет:
Да, обратно возвращаются только те параметры, которые отображаются в диалоге настроек индикатора.
Вроде бы Ваше утверждение не верно.
Так как параметры line в диалоге отображается а обратно не возвращаются.
Т е не возращаются любые параметры которые таблицы. ВО КАК!
Не работает getParamEx и(или) OnQuote
 
function OnQuote(class_code, sec_code)    
поставьте здесь
вывод в файл class_code, sec_code, p_classcode,p_seccode_eurrubtom
и все будет ясно
if class_code==p_classcode and sec_code==p_seccode_eurrubtom then
Страницы: Пред. 1 ... 69 70 71 72 73 74 75 76 77 78 79 След.
Наверх