Добрый день. Пишу бота, который сканирует все акции ММВБ. Мне нужно собирать данные практически в режиме реального времени. Какой способ более эффективный? Мне нужна лучшая цена спроса/предложения или как вариант параметры сделки без открытия. Я вижу три варианта:
Привет всем! Как все таки отправить HTTP запрос из Lua(Quik)? Я пытаюсь использовать LuaSocket ,но Quik в упор не видит эту библиотеку куда бы я ему ее не положил. Какие шаманские обряды нужно провести,чтобы сие чудо заработало.https://github.com/diegonehab/luasocket
Добрый день! Есть бот ,работающий в Quik (ОС Windows),а есть запущенный в виртуальной Windows(основная ОС Mac). Так вот у второго бота есть особенность.Функция отправки транзакции возвращает nil trans_i=nil и res=nil,но при этом транзакция проходит и заявка выставляется на бирже.У первого бота все нормально.В чем проблема где "копать"?
Я так сейчас делаю...но заметил что иногда стоп-заявка исполнена,а номер ордера ,который порожден данной стоп-заявкой еще не известен...потом только известен становится.
Добрый день! Выставляю роботом стоп-заявку и потом анализирую на предмет того исполнилась она или нет. Но дело в том, что исполнение стоп-заявки не всегда приводит к выставлению ордера.Он часто отклоняется ТС. Мне нужно посмотреть результат с помощью Lua.В таблице стоп-заявок я не вижу этого параметра... Хотя визуально вижу,что он есть в таблице Quik.что мне делать? Описание параметров Таблицы стоп-заявок:
Параметр Тип Описание order_num NUMBER Регистрационный номер стоп-заявки на сервере QUIK ordertime NUMBER Время выставления flags NUMBER Набор битовых флагов brokerref STRING Комментарий, обычно: <код клиента>/<номер поручения> firmid STRING Идентификатор дилера account STRING Торговый счет condition NUMBER Направленность стоп-цены. Возможные значения: «4» – «<=», «5» – «>=»
condition_price NUMBER Стоп-цена price NUMBER Цена qty NUMBER Количество в лотах linkedorder NUMBER Номер заявки в торговой системе, зарегистрированной по наступлению условия стоп-цены expiry NUMBER Дата окончания срока действия заявки trans_id NUMBER Идентификатор транзакции client_code STRING Код клиента co_order_num NUMBER Связанная заявка co_order_price NUMBER Цена связанной заявки stop_order_type NUMBER Вид стоп заявки. Возможные значения: «1» – стоп-лимит, «2» – условие по другому инструменту, «3» – со связанной заявкой, «6» – тейк-профит, «7» – стоп-лимит по исполнению активной заявки, «8» – тейк-профит по исполнению активной заявки, «9» - тэйк-профит и стоп-лимит
orderdate NUMBER Дата выставления alltrade_num NUMBER Сделка условия stopflags NUMBER Набор битовых флагов offset NUMBER Отступ от min/max spread NUMBER Защитный спред balance NUMBER Активное количество uid NUMBER Идентификатор пользователя filled_qty NUMBER Исполненное количество withdraw_time NUMBER Время снятия заявки condition_price2 NUMBER Стоп-лимит цена (для заявок типа «Тэйк-профит и стоп-лимит») active_from_time NUMBER Время начала периода действия заявки типа «Тэйк-профит и стоп-лимит» active_to_time NUMBER Время окончания периода действия заявки типа «Тэйк-профит и стоп-лимит» sec_code STRING Код бумаги заявки class_code STRING Код класса заявки condition_sec_code STRING Код бумаги стоп-цены condition_class_code STRING Код класса стоп-цены canceled_uid NUMBER Идентификатор пользователя, снявшего стоп-заявку order_date_time TABLE Время выставления стоп-заявки withdraw_datetime TABLE Время снятия стоп-заявки
Добрый день! У меня есть внешняя программа,которая пишет в некоторый текстовый файл цену по некому зарубежному инструменту каждую секунду. Потом вычисляется отношение этой цены к индексу РТС и выводится как индикатор в Quik.Но возникает вопрос. Можно ли этот индикатор выводить не только в виде линии,но и баров...как это сделать? Я так понимаю надо самим считать Open High Low Close...в зависимости от интервала.Но как потом вывести все это на экран? Неплохо было бы если сам Quik формировал свечи исходя из цены ,которая поступает в режиме реального времени и опр.интервала времени...
Да я увидел...Я раньше так и хотел сделать,но получил ошибку и дальше не стал копать и у меня сложилось ошибочное мнение LuaIndicators.Библиотека...это коннектор между программой поставщиком данных и Quik.
Для решения задачи Вам достаточно из индикатора прочитать данные в исходном файле...Разве читать файлы из LuaIndicators можно? А подключать сторонние библиотеки можно в скрипты для индикаторов?
Добрый день! Есть сторонний источник данных,который пишет данные в файл(передает в MemoryFiles итд) те я их могу увидеть из Lua. Но я хочу с помощью данных построить график(через LuaIndicators) и вижу ,что
Список функций, доступных из скрипта индикатора:
getWorkingFolder – возвращает путь, по которому находится файл info.exe, исполняющий скрипт, getScriptPath – возвращает путь, по которому находится запускаемый скрипт, getNumberOf – возвращает количество записей в таблице «TableName», getItem – возвращает таблицу Lua, содержащую информацию о данных из строки с номером «Index» из таблицы с именем «TableName», getParamEx – получает значения всех параметров биржевой информации из Таблицы текущих значений параметров, message – отображает сообщения в терминале QUIK, isConnected – определяет состояние подключения клиентского места к серверу, getTradeDate – получает дату торговой сессии, getInfoParam – позволяет получить параметры для информационного окна (Связь/Информационное окно), getClassSecurities – получает список кодов бумаг для списка классов, заданного списком кодов, getClassInfo – получает информацию о классе, getClassesList – получает список кодов классов, полученных с сервера в ходе сеанса связи, getSecurityInfo – получает информацию по инструменту, getQuoteLevel2 – получает стакан по указанному классу и бумаге, getMoney – получает информацию по денежным лимитам, getDepo – получает информацию по бумажным лимитам, sendTransaction – функция для работы с заявками, SearchItems – позволяет реализовать быструю выборку элементов из хранилища терминала и возвращает таблицу с индексами элементов, удовлетворяющих условию поиска, getPortfolioInfo – получает значения параметров таблицы «Клиентский портфель», getBuySellInfo – получает параметры таблицы «Купить/Продать», getPortfolioInfoEx – получает значения параметров таблицы «Клиентский портфель» с учетом вида лимита, getBuySellInfoEx – получает параметры таблицы «Купить/Продать» с учетом вида лимита, getOrderByNumber –возвращает таблицу Lua, содержащую описание параметров Таблицы заявок и индекс заявки в хранилище терминала, RGB – преобразовывает компоненты RGB (red, green, blue) в одно число, AddLabel - добавляет метку с заданными параметрами, DelLabel - удаляет метку с заданными параметрами, DelAllLabels - удаляет все метки на диаграмме с указанным графиком, GetLabelParams - получает параметры метки, SetLabelParams - задает параметры для метки с указанным идентификатором, SetValue - устанавливает указанное значение на выбранной линии определенной свечи индикатора, GetValue - получает значение, установленное на выбранной линии указанной свечи индикатора, SetRangeValue - устанавливает указанное значение на выбранной линии для определенного интервала индексов свечей индикатора.
Можно ли мне получить доступ к произвольной таблице Quik в том числе и построенные с помощью Qlua?
Вы не поняли наверно. Смотрите Получаем сделку 1) a[trade.trade_num]={} И в этот момент у нас идет обращение в main к a[trade.trade_num] и оно уже не nil,но 2 строка еще не выполнена a[trade.trade_num].status="NEW",а поэтому в main
a={}
function OnTrade(trade)
a[trade.trade_num]={}
a[trade.trade_num].status="NEW"
a[trade.trade_num].value=.....вычисления
end
И есть функция main в которой просматривается таблица a,не может ли у нас получится там, что a[trade.trade_num].status=nil? Правда чисто теоретически...но все же интересно.Потоки то разные вроде.
Добрый день!Есть в Quik индикатор AO.Данный индикатор представляет собой гистограмму,где столбики гистограммы имеют зеленый цвет(рост) либо красный(падение). Я могу получить значения индикатора,но что это рост или падение-я определить не могу через LUA. Что мне делать?
Добрый день! Как обработать ошибку возникающую при вылете Lua скрипта? Понятно если что если данного функционала нет,то я могу "тупо" заставить Lua в скрипте 1 писать в нек.файл время текущее.А другим скриптом проверять его. Если текущее время файла отл.от того что есть в файле,то сообщение на почту.
Запускаю бота на своем счету---бот отражает вар.маржу. На другом- нет.Настройки верные счета. Пытаюсь определить суммарную вар.маржу путем суммирования в таблице откр.позиции у меня на счету показывает маржу,а на другом счету 0. Те она не воспринимается Lua Quik никак. Брокеры разные.Что это такое?
Я сам столкнулся с этой проблемой. Решил ее очень просто. 1) Заношу в массив all_opt все опционы 2) Получаю по каждому опциону свой базовый актив (через getParamEx(ClassOPT,all_opt[jj],"OPTIONBASE").param_image) 3) Если базовый актив равен нашему,то суммируем страйки и определяем их кол-во 4) Делим-> сумма страйков на их количество Получаем шаг страйка.
Добрый день! Как программно строить линии тренда на графике (не из LUAIndicators) c помощью символов? Почему не графике не отображаются графические метки с прозрачным фоном(GIF)? Хорошо бы в будущих версиях сделали возможность построения линий...из LUA. Всего 4 координаты...начало (DateTime1,Y1)--> (DateTime2,Y2) Тогда можно строить свои индикаторы без убого LUAIndicators...
Разрабатываю торговых роботов на заказ. LUA,QLUA Прочие терминалы:Sterling,SmartCom,IB,Laser итд (всё где есть API) Рынки:российский и зарубежные webwrk@yandex.ru
Разрабатываю торговых роботов на заказ. LUA,QLUA Прочие терминалы:Sterling,SmartCom,IB,Laser итд (всё где есть API) Рынки:российский и зарубежные webwrk@yandex.ru
Добрый день! Возникает странная ошибка.Раньше такого не наблюдал в роботе. 31.03.2016 12:13:29.122: Result: 1, Result_ex: 4, Description: Ошибка создания заявки. [GW][10000] "Parse message failed". Спасайте.А то вручную невозможно торговать-)
Знаете,что меня поражает в "диванных воинах"...Люди пишут гадости,но не несут ответственности за слова.Пишут,что мол "липовые" отзывы и так далее.Появляются даже незнакомые люди,которые недовольны тем,как им ответили в письме.Которые не удосужились сделать полноценное ТЗ и тратят свое время и мое на переписку и потом еще лезут на форум и пишут тоже гадости. Отзывы писаться больше не будут.Так как планирую создавать самостоятельно свой собственный ресурс.Диванным "воинам" предлагаю пари,если они докажут,что отзывы липовые в данной ветке форума,то я им переведу 5000 руб.Если выяснится обратное ,то они мне должны будут 5000 руб.Выяснить обратное легко.Это переписка,роботы,переводы ДС. Мой email: webwrk@yandex.ru Пишите на этот ящик. И по поводу роботов и торговых систем. И по-поводу пари-)Что-то подсказывает мне,что по-поводу пари писем не будет. :cry: Удачи и профитов всем и даже "диванным войнам"-)
Добрый день! Есть индикатор,который содержит в себе несколько цветов. Каждый участок может иметь два цвета :красный и зеленый. Как мне программно менять цвет индикатора в зависимости например от его значения? Settings.Line[1].Color ?Но это предварительные установки цвета и они не меняются в OnCalculate ? Если перехожу на две линии,то при значении nil в одной из линий LUA просто соединяет крайние "не nil" значения.Есть способы решить эту задачу? В MT и NinjaScript таких проблем нет. Спасибо.
Добрый день! Пишу так: lastprice=GET_PARAM (Class, Cod, "LAST") price_pa=GET_PARAM (Class, Cod, "CLOSING_AUCTION_PRICE") Цена lastprice опредляется,но а цена послеторгового аукциона не определяется.. Вызываю функции в период с 18.43 по 18.45.В открытой таблице текущих значений цена ПА видна. В чем может быть проблема? Спасибо.
Игорь ничего я не удалял.Зачем глупости писать.Я вам письмо напишу.И телефон оставлю вам. У меня сейчас много работы на месяц вперед.Мы можем продолжить диалог и дальше,если сроки вас не жмут.О вас не поступило полноценное ТЗ. Без ТЗ нормального нет смысла работать. Я делал разных роботов.И не только для фондового рынка.Betfair API,Pinnacle API...кто знает что это такое?Причем много клиентов было после неудачного опыта с роботописателями,которых нашли на форуме. По поводу sam063rus-слишком завышенная самооценка и как человек вы явно с набором комплексов.Нравится сайт Николая Камынина много интересного нашел для себя.Спасибо ем уза это. Ребята никогда не пишите о человеке гадости если вы его не знаете и не работали напрямую с ним по какому-то из заказов.
Игорь пишет: Поскольку я подыскивал разработчика торговых роботов для реализации своей стратегии, рекламная кампания Алексея не оставила меня равнодушным и я решил пообщаться с ним. Я не стану высказывать здесь свое мнение о реальности существования клиентов под именами Эльвира и Евгений. Скажу одно - из переписки с Алексеем я пришел к выводу, что слова Евгения "рекомендую, особенно новичкам" написаны не случайно. Ключевое слово здесь - "новичкам", то есть людям, которые вкладывают в торговлю совсем небольшие средства и потому не беспокоятся о возможных убытках из-за неправильной работы робота. Насколько я понял, Алексей в основном специализируется на простых роботах, как правило торгующих по несложным стратегиям и, самое главное, не предусматривающих жесткого и разностороннего контроля за различными нештатными ситуациями, которые могут привести к ошибкам в работе и крупным убыткам. Кроме того, Алексей требует с заказчика предоплату, но мне не удалось получить от него ответа на вопрос о том, чем он может гарантировать, что эта предоплата не пропадет бесследно вместе с программистом. Примечательно, что после того как я задал этот вопрос, Алексей удалил в почте из сведений о себе фамилию, в то время как первоначально письма от него приходили с указанием не только имени, но и фамилии. Не хотел писать здесь о своих впечатлениях от общения с Алексеем, но все же решил, что с учетом такой агрессивной рекламной кампании стоит все-таки разбавить приторно-хвалебные отзывы "клиентов" и опубликовать здесь более объективное мнение.
Если считаете,что заказчики "липовые" ,то прошу милости позвонить мне на скайп alexzlo2009.Я вам докажу обратное,но вопрос в том ,а вы готовы мне возместить моральный урон мне и заказчику в размере стоимости заказа?-)Если не уверены в том,что пишете,то лучше промолчите.
Сделаю робота или скрипт на заказ. Для Quik- Qpile,Lua,платформа NET,Excel Также возможна разработка роботов(скриптов) для работы в других системах(Laser,IB,SmartCOM,Sterling итд) Также тестирую ТС в WealthLab или в собственном программном обеспечении. webwrk@yandex.ru