Александр М (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3 4 5
Среднеквадратичное отклонение за период, Среднеквадратичное отклонение за период
 
Документация по языку LUA в QUIK и примеры

Точнее вот, там есть про индикаторы.
Среднеквадратичное отклонение за период, Среднеквадратичное отклонение за период
 
Цитата
Сергей написал:
Цитата
Александр М   написал:
Цитата
Вот вам обещанный код, C(ind-M+i) - берет Close свечи с заданным номером, никаких идентификаторов не надо, если вы конечно этот код в виде индикатора делаете, а не внутри скрипта:
Код
      local   Sp   =     0  
  for   i  =    1  ,M   do  
   Sp   =   Sp  +  C(ind  -  M  +  i)
  end     
Sp   =   Sp/M      
  local   stddev   =    0  
  local   p_c   =     0  
  for   i  =    1  ,M   do  
   p_c   =   C(ind  -  M  +  i)
   stddev   =   stddev  +  (p_c  -  Sp)  *  (p_c  -  Sp)
  end  
stddev   =    math.sqrt (stddev/M)
    
Спасибо! И это в квике будет работать?

а я клоусы получаю оч сложно :) :

Bars1 = getNumCandles(Settings.aChartID1)
tChart1, Num1, Legend1 = getCandlesByIndex(Settings.aChartID1, 0, 0, Bars1)
и вот сам клоус
tChart1[index-i].close
ну и в цикле гоняю это..

и я задолбался везде идентификаторы проставлять...

блин , а где почитать нормальный синтаксис к квику по луа?
В справке, что идет к квику ничего ж нет нормального, кто ее писал.
Ни описаний фнкций - ничего по сути, как в нормальных языках
В стандартной документации по QUIK есть отдельный документ по написанию индикаторов, там все есть с примерами. Примеры функций расчета индикаторов терминала QUIK на языке Lua
Среднеквадратичное отклонение за период, Среднеквадратичное отклонение за период
 
Отредактировать нельзя, в конце там естественно:
Код
stddev = math.sqrt(stddev/(M-1))
Зарапортовался :)
Среднеквадратичное отклонение за период, Среднеквадратичное отклонение за период
 
Цитата
Сергей написал:
Цитата
Александр М   написал:
Цитата
Сергей   написал:
Цитата
Александр М   написал:
Цитата

нее, в экселе картинка другая, так тут и трендовый какой-то, единственное совпадение , что есть слово среднеквадратичное отклонение:). Кароче, забубенил сам, вроде получилось. Но если кто кусочек кода выложит, буду признателен:) .
Если пришлете картинку из Excel и Ваши формулы расчета, то могу сравнить со своими и прислать кусочек кода.
Картинку сейчас сложно сделать. ну так это просто рисуется СКО. Формула для нее такая, к примеру для  10ти периодов и для Клоузов: Корень из (Суммы квадратов разности CL(i) - CLср(10) деленное на 9 периодов)
или SQRT(SUMM ((CL(i) - CLср(10))*(CL(i) - CLср(10)))/9) ,  ну стандартная такая формула для СКО
Это для Close, а вы изначально написали про Min|Max, что меня немного привело в замешательство, т.к. используются сразу 2 значения свечи, вот мне и интересно, как вы считаете СКО сразу по 2-м значениям.
Для Мин свое СКО для Макс свое. У меня вопрос - то был в коде, с циклами еще не работал, но оказалось все проще, а вы случайно не в курсе, как без идентификатора работать, чтобы сразу бросил индикатор на график и он построился? Сейчас мне приходится везде идентификаторы уникальные проставлять, что напрягает, машки же всякие и болинджеры ничего не требуют. добавил и все.
Вот вам обещанный код, C(ind-M+i) - берет Close свечи с заданным номером, никаких идентификаторов не надо, если вы конечно этот код в виде индикатора делаете, а не внутри скрипта:
Код
local Sp = 0
for i=1,M do
   Sp = Sp+C(ind-M+i)
end   
Sp = Sp/M      
local stddev =0
local p_c = 0
for i=1,M do
   p_c = C(ind-M+i)
   stddev = stddev+(p_c-Sp)*(p_c-Sp)
end
stddev = math.sqrt(stddev/M)
Среднеквадратичное отклонение за период, Среднеквадратичное отклонение за период
 
Цитата
Сергей написал:
Цитата
Александр М   написал:
Цитата

нее, в экселе картинка другая, так тут и трендовый какой-то, единственное совпадение , что есть слово среднеквадратичное отклонение:). Кароче, забубенил сам, вроде получилось. Но если кто кусочек кода выложит, буду признателен:) .
Если пришлете картинку из Excel и Ваши формулы расчета, то могу сравнить со своими и прислать кусочек кода.
Картинку сейчас сложно сделать. ну так это просто рисуется СКО. Формула для нее такая, к примеру для  10ти периодов и для Клоузов: Корень из (Суммы квадратов разности CL(i) - CLср(10) деленное на 9 периодов)
или SQRT(SUMM ((CL(i) - CLср(10))*(CL(i) - CLср(10)))/9) ,  ну стандартная такая формула для СКО
Это для Close, а вы изначально написали про Min|Max, что меня немного привело в замешательство, т.к. используются сразу 2 значения свечи, вот мне и интересно, как вы считаете СКО сразу по 2-м значениям.
Среднеквадратичное отклонение за период, Среднеквадратичное отклонение за период
 
Цитата
Сергей написал:
Цитата
Александр М   написал:
Цитата
Сергей   написал:
Всем доброго дня!
Подскажите ,как построить Среднеквадратичное отклонение за заданный период по ценам Max и Min. Не пойму, как работать с массивами в lua, индикатор такой нужен.
Может кто-нибудь подсказать кусок кода с рачетом на LUA?

Заранее спасибо:
Кусок кода не подскажу, но насколько я понимаю, вы хотите вот такой индикатор:   Индикатор канала линейной регрессии для QUIK на Lua  
нее, в экселе картинка другая, так тут и трендовый какой-то, единственное совпадение , что есть слово среднеквадратичное отклонение:). Кароче, забубенил сам, вроде получилось. Но если кто кусочек кода выложит, буду признателен:) .
Если пришлете картинку из Excel и Ваши формулы расчета, то могу сравнить со своими и прислать кусочек кода.
Среднеквадратичное отклонение за период, Среднеквадратичное отклонение за период
 
Цитата
Сергей написал:
Всем доброго дня!
Подскажите ,как построить Среднеквадратичное отклонение за заданный период по ценам Max и Min. Не пойму, как работать с массивами в lua, индикатор такой нужен.
Может кто-нибудь подсказать кусок кода с рачетом на LUA?

Заранее спасибо:
Кусок кода не подскажу, но насколько я понимаю, вы хотите вот такой индикатор: Индикатор канала линейной регрессии для QUIK на Lua
Проблема с отправкой заявки с русскими полями, При копировании кода он перестает работать
 
Цитата
Иван Ру написал:
Цитата
Александр М   написал:
В какой кодировке у вас файл, когда вы туда копируете данный текст? Должна быть Windows-1251
Большое спасибо за правильно подсказанное направление!  В отдельных файлах кодировка не выбрана, в большинстве стоит UTF8 почему-то. Это и создавало проблему! Даже не могу понять откуда такая засада возникла
Notepad++ автоматически кодировку подбирает, что ему покажется, ту и подставит, лучше всегда проверять при создании нового файла скрипта, дальше он уже сам не меняет.
Проблема с отправкой заявки с русскими полями, При копировании кода он перестает работать
 
В какой кодировке у вас файл, когда вы туда копируете данный текст? Должна быть Windows-1251
Задержка при обновлении полей в таблице
 
Цитата
Egor Zaytsev написал:
Добрый день.

Александр, можете сообщить с какой именно таблицей проблема?
Например таблица "Клиентский портфель" обновляется исходя из заданных настроек.
Пункт меню Система - Настройки - Основные настройки - Торговля клиентский портфель.
Обновлять через....

Если, это не клиентский портфель, то какая именно таблица.
Если есть возможность, то выложите видео данного эффекта.
Опять же без скрипта найти проблему будет сложно.
Я имею в виду свои таблицы пользовательские, которые я создал через AllocTable. Никаких ошибок не выдается, скрипт не вылетает и не тормозит, сделки осуществляются, т.е. идет нормальная работа робота, но по 1 таблице только после проведения мышкой над таблицей она сразу показывает актуальные значения во всех полях, т.е. у нее явно буферизуется где-то. Но происходит это только с 1 таблицей из 4-х имеющихся в скрипте.

Может есть какие-то ограничения на число одновременно используемых таблиц или есть команда, которая позволяет насильно обновить данные в таблице по идентификатору?

Непрерывного обновления, которое забивает работу по прорисовке таблицы, я в коде не обнаружил (грешил на это).

Видео попробую сделать, выложу.
Задержка при обновлении полей в таблице
 
Цитата
Imersio Arrigo написал:
Цитата
Александр М   написал:
Скрипт предоставить не могу, это полноценный робот и моя интеллектуальная собственность.
есть вариант попробовать вычленить из него проблемный участок кода и прислать только его
В том то и проблема, что "проблемного участка" не вижу, у меня несколько тысяч строк и из разных мест по определенным событиям обновляются определенные поля в таблице. Я уже весь код прошерстил, остальные таблицы обновляются абсолютно по тем же принципам (в этом же коде) и никаких зависаний по другим таблицам нету.
Задержка при обновлении полей в таблице
 
Цитата
Egor Zaytsev написал:
Цитата
Александр М   написал:
Скрипт формирует несколько таблиц и время от времени обновляет поля в этих таблицах. 3 таблицы обновляются сразу после SetCell, а четвертая с задержкой (или надо мышкой провести над ней или тыкнуть в нее, тогда данные в ней сразу обновляются). В коде обновление по всем таблицам абсолютно одинаковое. В чем может быть засада?
Добрый день.

Для изучения вопроса потребуется полный скрипт на котором воспроизводится проблема,
версия терминала QUIK, а также какая именно таблица обновляется с задержкой.
Скрипт предоставить не могу, это полноценный робот и моя интеллектуальная собственность. Версия QUIK 7.12.1.10, но такое поведение было и в 7.11 как минимум. Напишите хотя бы, в какую сторону в принципе смотреть. Я не начинающий скрипто-писатель, у меня в портфеле куча скриптов и везде проблем с таблицами нету.
Задержка при обновлении полей в таблице
 
Скрипт формирует несколько таблиц и время от времени обновляет поля в этих таблицах. 3 таблицы обновляются сразу после SetCell, а четвертая с задержкой (или надо мышкой провести над ней или тыкнуть в нее, тогда данные в ней сразу обновляются). В коде обновление по всем таблицам абсолютно одинаковое. В чем может быть засада?
Индикатор индикатор по двум графикам
 
Цитата
Let_it_go написал:
Господа, никогда не писал индикаторы на Луа. Прошу дать совет. Мне нужен график рубле-бочки. Формула:
рубле-бочка=(фьючерс на доллар-рубль   умножить   фьючерс барреля в долларах)/1000
То есть индикатор простой, но строить его надо по данным двух графиков

Обычный индикатор, берущий данные с 1 графика я сделать могу, взяв за шаблон коды С.Горохова, а вот как брать данные с двух графиков, не знаю.
Добрый день! Я писал индикатор по 2-м графикам, причем по любой формуле расчета, посмотрите здесь: http://luarobot.apmt.ru/ind_2_sec_formula/
Кому-нибудь удалось скомпилировать luasec?, Кому-нибудь удалось скомпилировать luasec?
 
Цитата
Александр Волфовиц написал:
Хочу прикрутить к роботам оповещалку на Telegram, для некоторых библиотек требуется вот это:  https://github.com/brunoos/luasec

Попытка скомпилировать проект в Visual Studio 2013 выдаёт кучу ошибок.

Вопрос: проект криво собран или у меня руки кривые?
Вам поможет вот это: https://forum.quik.ru/messages/forum10/message21993/topic561/#message21993
Мы здесь уже разбирали работу Telegram, человек собрал все необходимые библиотеки в 1 кучу.
Я тоже себе Telegram-bot запустил, в той теме даже моя картинка есть работающего робота.
работа с трендовыми линиями нанесёнными человеком
 
Цитата
DARK написал:
Спасибо за ответ!
Добрый день!

У меня есть целый многофункциональный робот на эту тему, может вам будет интересно
http://luarobot.apmt.ru/mrobotlvl/
Перерисовка индикатора из кода, Перезапуск OnCalculate()
 
У меня аналогичный индикатор есть по произвольной формуле считает данные 2-х инструментов, тоже при переинициализации приходится Применить нажимать, так что присоединяюсь к вопросу.
Ищу или закажу Gator Oscillator, поиск, заказ индикатора
 
Цитата
Константин написал:
Добрый день!
Нигде не нашел Gator Oscillator для Quik. Если есть у кого, поделитесь пожалуйста. Если нет,  то заказал бы за копеечку.

Всем профита.
Добрый день!
Я также пишу индикаторы на заказ, на моем сайте довольно большая коллекция, если еще есть желание, напишите.
Информация из таблицы текущих торгов
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
Цитата
Виктор Столетов   написал:
Вопрос: можно ли просто прочитать все строки таблицы текущих торгов подряд без задания  class_code и  sec_code и определить параметры param_name?
Такой возможности не предусмотрено.
Цитата
Виктор Столетов   написал:
Приходится для sec_code  создавать массив километровой длины типа  sec_code  ={"ALRS","AFLT", ...,"FEES"}.
Есть функция getClassSecurities которая вернет список инструментов в классе.
Еще есть getClassesList которая вернет список классов
А как посмотреть только те инструменты, которые я лично вывел в таблицу текущих торгов, а не все, которые потоком идут через заказ данных?
Индикатор, Построение канала
 
Цитата
Анатолий написал:
А как тогда реализованы стандартные индикаторы канал, веер и сетка Фибо
Думаю, что Вам надо себе сделать нечто подобное:
http://luarobot.apmt.ru/channel_trend/
Требования к роботу, Какова скорость и надежность работы робота написанного на Lua?
 
Цитата
Юрий Балашов написал:
Хочу написать робота-арбитражера для парного трейдинга с акциями и фьючерсами, главные требования:
1. Скорость работы – максимально быстрая скорость постановки, снятия и перестановки заявки при изменении цены в стакане – желательно не более 0.1сек.
2. Отсутствие торможения – отсутствие замедления и сбоев в работе при выставлении заявок по 15-20 парам инструментов, при отслеживании до 40-60 пар (отслеживание возможно не в режиме реального времени, а периодически – 1раз в 1-5 минут).
Не нужно: никаких графиков, индикаторов, проверки на истории, возможностей постановки заявок вручную.
Собственно такой робот у меня есть (написан мной на Delphi), но он работает через передачу по ODBC в базу данных и затем чтения из нее, что замедляет постановку заявки более чем на 1.5 секи и при работе более чем с 8-10 парами начинаются сбои в постановке/снятии заявок.
Вопрос: возможно ли написание подобного робота, отвечающего указанным выше требованиям на, Lua или Lua + внешняя программа (С#, Delphi)?
Поскольку Lua не знаю совершенно, не хотелось бы оказаться в положении человека изучившего Lua, написавшего на нем робота и вдруг выяснившего, что скорость постановки заявки будет медленная и работать можно будет только с 2-3 парами инструментов :).
Скорость работы в Lua достаточна для Ваших запросов. Собственно большинство коннекторов между QUIK и сторонними продуктами написано на Lua. Дальше все зависит от оптимальности кода, Интернет-канала, серверов брокера и т.д. Думаю, что основное время будет потрачено не на постановку заявки, а на отслеживание их одновременной отработке в арбитражной паре, проверке, что часть контрактов по 1 инструменту не купилась, пока вторую заявку снимаете и другие пограничные ситуации.
Кто как решил вопрос уведомления о сделках?
 
Цитата
Алексей Ч написал:
да, верно, запуск тормозит, но не минуты. Обычно 10-15 секунд. Может быть кто подскажет, почему.
Картинка бота

Пока потенциал нравится, он получается интерактивный, можно придумать кучу вариаций использования кроме сообщения о заявках, сделках и т.д.
Кто как решил вопрос уведомления о сделках?
 
Цитата
Алексей Ч написал:
У меня данная штука запустилась. Накидал все везде)))
Данным ботом пользуюсь уже с месяц. В файле telegram_settings.lua нужно ввести настройки своего бота. Сам  бот тут . Там есть что еще допиливать...
Тоже запустился, не успел прочитать Ваше сообщение, но за архив спасибо. В результате тоже накидал dll и lua файлы. Другим людям конечно весь этот пакет не дашь, особенно смущают lua файлы.
С Вашим ботом проблем ка раз нет, там все прозрачно и легко адаптируется по собственные нужды, основная проблема у меня была в принципе его запустить в качестве теста.

У Вас тоже запускается скрипт больше минуты (после запуска реагирует на команды быстро, выходит тоже быстро, тормозит только запуск)?  
Кто как решил вопрос уведомления о сделках?
 
Цитата
gihar написал:
Всем привет!

Если кто ещё думает о получении уведомлений от квика о сделках, то вот моё решение - это мессенджер Телеграм.
По-моему, удобно - клиент есть для всех мобильных платформ, бесплатно. В общем сплошные плюсы.

Принцип такой:
 Создаем бота в телеграм:  https://core.telegram.org/bots
 В квике запускаем lua-скрипт, который от имени бота шлёт сообщения о заявках и/или сделках, на указанный в настройках скрипта аккаунта в Телеграм.
 Вот ссылка на то, как я это реализовал для себя:
https://github.com/gihar/quik-telegram-bot.git
Добрый день!

Наткнулся на Ваше сообщение с реализацией отправки сообщений из QUIK в Telegram. Попробовал повторить, но никак не получается.
Насколько я понял, требуется еще файл lua-bot-api.lua, потом Ваши dll.
Дальше потребовался файл ssl.lua, далее https.lua и multipart-post.lua, потом json.lua
Но все равно в результате ругается на:
"error loading module 'ssl.core' from file '.\ssl.dll':
Не найдена указанная процедура."
Я пробовал подставлять другие dll бОльшего размера из других источников, где они представлены в скомпилированном виде, но итог 1.
Не могли бы подсказать, какой минимальный перечень файлов необходим, чтобы запустить именно Ваш скрипт из QUIK и где их взять?
Таблица с помощью Qlua, Таблица с помощью Qlua
 
Цитата
Optimus1 Optimus1 написал:
Это я его просто привел в таком уррощенном виде, чтобы не загроиождать тему, смысл вопроса именно в присвоении переменной N. Почему при сробатывании первого условия формула N= N+1 (где N  в начале скрипта обозначено как 0) работает и выдает 1, а при сроботывании второго условия после первого, в формуле N= N+1,  N опять имеет значение 0, а не уже 1, ведь ранее у N была прибвлена 1.

Вот в чем вопрос.
У Вас приведен явно кусок кода. Разберитесь, где у вас стоит инициализация переменной N. Она должна быть глобальной и инициализироваться 1 раз.
Из скрипта qlua подключится в БД mySQL
 
Цитата
Сергей Николаев написал:
Действительно загрузилась! Кто бы знал что ему нужно!
Большое спасибо!

Насколько быстро вся эта конструкция работает Вы проверяли?

Если запустить несколько скриптов одновременно и каждый будет обращаться к Mysql, то все скрипты работают корректно (желательно проверить одновременное обращение к БД)?
Обращение к элементам таблицы системных сообщений
 
Цитата
Stanislav Tvorogov написал:
Цитата
Александр М   написал:
Добрый день!

В QUIK есть таблица системных сообщений, как к ней обратиться из кода Lua. В документации нет описания данной таблицы и полей по ней.
Добрый день,

На данный момент, доступа к данной таблице из QLUA, к сожалению нет, можем зарегистрировать пожелание на доработку.
Зарегистрируйте пожалуйста. Странно, чем данная таблица отличается от любой другой в QUIK?
Обращение к элементам таблицы системных сообщений
 
Добрый день!

В QUIK есть таблица системных сообщений, как к ней обратиться из кода Lua. В документации нет описания данной таблицы и полей по ней.
Стоп-заявки, заявки и сделки на графиках QUIK для разных счетов
 
Цитата
Stanislav Tvorogov написал:
Цитата
Александр М   написал:
В 1 момент времени я увижу заявки - сделки только 1 счета, а мне надо одновременно видеть на 1 графике результаты по 1 счету, а на другом результаты по другому счету, т.к. на каждом счете крутится свой робот.
Добрый день,

Для этого Вы можете создать отдельную вкладку и применить разные фильтры в каждой из вкладок, скопировав при этом окно графика.
Спасибо, это действительно поможет.
Стоп-заявки, заявки и сделки на графиках QUIK для разных счетов
 
Цитата
Старатель написал:
Настройка "Применять глобальный фильтр" для диаграммы.
И фильтр по кодам клиентов на панели инструментов для переключения между счетами.

Только у фильтра есть глюк: сразу после запуска QUIK даже если фильтр заполнен, он не влияет на графики.
2_Техподдерка: Надо бы исправить.
Насколько я понимаю - это не совсем то. В 1 момент времени я увижу заявки - сделки только 1 счета, а мне надо одновременно видеть на 1 графике результаты по 1 счету, а на другом результаты по другому счету, т.к. на каждом счете крутится свой робот.
Подскажите пожалуйста, где взять нормальную документацию по qlua?
 
А это ненормальная: http://arqatech.com/upload/iblock/536/quik_lua.zip   ?
Стоп-заявки, заявки и сделки на графиках QUIK для разных счетов
 
У меня несколько счетов в рамках 1 терминала QUIK. Можно ли выводить на 1 график стоп-заявки, заявки и сделки 1 счета, а на другой другого? Сейчас на всех графиках выводится информация сразу по всем счетам. Общий фильтр тут не поможет, т.к. мне и нужна информация по всем счетам, но в рамках данного графика только по конкретному счету.
Разработка торговых роботов на LUA, Разработка торговых роботов на LUA
 
Да тут много таких :)
Загрузка в график истории по инструменту
 
Цитата
Zoya Skvorcova написал:
Александр М  ,добрый день.
Нет, такая возможность отсутствует.  На сервере ограничение 3 000 свечей + свечи текущего дня.
Про текущие ограничения я в курсе. Это сильно усложняет проверку стратегий на истории, если часовые ТФ показывают где-то за год, то минутные - это несколько дней, а на график удобно накладывать любые индикаторы, в том числе и самописные кем-то (скомпилированные без открытого кода) и снимать их показания.
Обработка истории в виде отдельного текстового файла приводит к ручному пересчету значения индикатора в коде робота, т.е. надо будет создать конечную библиотеку индикаторов, которые будут считаться по историческим данным, что сильно суживает возможности кода.

Гораздо проще загрузить историю в стандартный график и снимать с него и всех индикаторов, что в нем будут, значения штатными функциями qLua.
Загрузка в график истории по инструменту
 
Добрый день!

Возможно ли стандартными методами в терминале QUIK загрузить в график более 3000 свечей истории? Например всю историю по фьючерсному контракту на минутный график.
Индикатор LUA, Как галочку убрать
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
К сожалению такой возможности не предусмотрено
До последнего обновления было удобнее работать. Не надо было постоянно убирать эту галку и при добавлении индикатора предварительно появлялось окно его параметров, а не сходу индикатор выставлялся со значениями по умолчанию, как сейчас. Зачастую часть параметров у индикаторов, написанных ручками, пустые и требуют предварительного заполнения. В результате выдается ошибка.
Не работают флаги ["Дата экспирации"] и ["Expiration date"] в SendTransaction
 
Пример кода транзакции с автопереносом до указанной даты посмотрите здесь: http://luarobot.apmt.ru/2016/03/28/transactiondate/
Должно работать.
Страницы: Пред. 1 2 3 4 5
Наверх