Константин Рейм (Все сообщения пользователя)

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

Страницы: 1 2 3 След.
Индикатор ликвидности, Индикатор ликвидности
 
Спасибо.
Индикатор ликвидности, Индикатор ликвидности
 
Индикатор ликвидности. Квик - Таблица сделок - Индикатор ликвидности. Для фондовой секции данный параметр работает и это круто! Для срочной секции этот параметр не работает и это очень не круто! Желаю чтобы работал!
Как сохранить в файл координаты таблицы?
 
Код
         workingY, workingX, Y, X = GetWindowRect(id) -- Запомнил координаты и размер таблицы
         workingW = X - workingX; workingH = Y - workingY
Тейк профит и стоп-МАРКЕТ заявка для луа, стоп-заявка проскальзывает, так как стоит стоп-лимит
 
Цитата
Nikolay написал:
- не ставить стоп физически, а отслеживать цену алгоритмом и закрывать "по рынку" исходя из текущей ситуации, если алгоритм решил, что стоп сработал.
Предпочитаю именно этот подход
Таблица текущих торгов, Не отображаются данные по параметру
 
Цитата
Alex написал:
Я тоже являюсь их клиентом, версия квика аналогичная. Значит как-то с брокером может быть связано, само пройдёт? Вы обновляли что-нибудь?
Я ни чего не делал с утра, само пройдет)))

"там же вчера и сегодня перестраивают системы под квал/не квал
у людей срочка пропала))"

Вот такое вот сообщение видел сегодня  в чате в скайпе
Таблица текущих торгов, Не отображаются данные по параметру
 
Цитата
Alex написал:
Здравствуйте. Возникла следующая проблема: при создании новой таблицы текущих торгов исчезли из доступных параметров "мин/макс. возможная цена". В старых таблицах, которые были созданы раньше, эти столбцы остались, но они пустые!
Котировка последнего клиринга - отсутствовала вчера, и ряд других параметров, сегодня - норм.
квик 8.13.1.16 Открытие брокер
Торговые роботы
 
и не QPILE, а Lua
Торговые роботы
 
Хороший программист - хорошо свое время оценивает - за недорого навряд ли будет делать. Могу подсказать, но не дорого и не дешево - по нормальной цене)
OnTransReply возвращает order_num = nil
 
Код
function OnTransReply(reply) -- Функция вызывается терминалом QUIK при получении ответа на транзакцию пользователя
   ***
   if reply.status == 3 then -- Транзакция выполнена
      --------------------------------------------------------------------------------------------
      OpCl[n] = rts(n, reply.price)
      Num[n] = reply.order_num
      --------------------------------------------------------------------------------------------
   elseif reply.status == 2 or reply.status > 3 then -- Произошла ошибка
   ***

Вот так получаю цену и номер заявки - вопросов не возникало
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Maksimus написал:
А как сделать ввод параметров?
Так ввод параметров из Меню - пример кода выше
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Владимир написал:
Да у меня весь скрипт короче!
Да у меня тоже. Менюшка 100 строк, а сам код 15 (цифры условные).)))
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Владимир написал:
Опа! А вот редактора значений полей у меня нет! И как тут это делается?
Как сделать поле ввода цены в таблице CreateTable? — форум QUIK
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Maksimus написал:
О как! А как в этом меню менять какие либо параметры? Например ввести новое значение или поменять значение в каком либо поле?
Как обычно - кликнули на поле в столбике "Значение" - прописали что нам надо и вперед
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Владимир написал:
Это меню на базе таблицы Квика?
да
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Maksimus написал:
Че то не открывается картинка
Я в курсе что не открывается - хз его знает как сюда рисунок воткнуть (попытка номер два)
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Maksimus написал:
А ещё меня удивило,что в луа нет возможности работы с графическим интерфейсом. Например меню написать для ввода каких-то параметров.
Меню можно сделать
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Maksimus написал:
Именно так я учился писать на mql4-5. Сначала смотрел видео уроки и пробовал по ним,потом начинал разбираться в каждой строчке кода и в итоге без проблем получается на этом языке. Но qlua для меня пока темный лес-куча дров.
Знакомо. Первые роботы на мкл4 были. Потом перешел на квик и lua - матерился долго. После метатрейдера на квик - это прыжок назад. Но что делать на метатрейдере опционов нет.
Пример торгового робота, Помощь с торговым роботом
 
Цитата
Игорь написал:
Возможно дикость но буду очень благодарен если кто ни будь выложит самого простого робота для луа.
простейший робот на Луа — форум QUIK
пост № 4

самостоятельное изучение - очень много времени уйдет и все равно вопросы останутся (я шел этим путем)
возможно есть смысл поучится у кого то, по крайней мере будет первоначальная база
Заявка + метка на графике
 
Цитата
Roman Azarov написал:
Цитата
Правильно понимаем, что под "меткой" имеется в виду горизонтальная линия?
Да, но эта линия - метка, ставиться роботом, а не берется из терминала (к метке из терминала вопросов нет).

Цитата
Вы можете отключить "Режим ввода/изменения заявки из окна диаграммы" на панели инструментов.
Этот режим должен быть включен - так надо.
Заявка + метка на графике
 
Цитата
s_mike@rambler.ru написал:
Настройте в диаграмме порядок отображения слоёв
Это я первым делом проверил, сейчас еще раз проверил. Суть вопроса остается прежней - цепляется заявка, метка не цепляется. Порядок слоев роли не играет. Заявка поверх метки - цепляется - заявка, метка поверх заявки - цепляется - заявка.
Заявка + метка на графике
 
Ставим лимитную заявку роботом, поверх этой заявки (по той же цене) робот ставит метку в виде линии (можно сначала метку поставить потом заявку), в результате имеем на графике две линии одна из них это заявка, другая - метка, т.к. цены заявки и метки равны, на графике видим только метку, а заявка казалось бы лежит под меткой, но при наведении курсора на линию и попытке перетащить метку - цепляется не метка, а заявка. Есть ли какой то способ зацепить именно метку, а не заявку.
простейший робот на Луа, Где взять простейший работающий робот на Луа в качестве заготовки?
 
Цитата
Nikolay написал:
Вариант 2
Это кстати мой бот, один из первых что я написал
простейший робот на Луа, Где взять простейший работающий робот на Луа в качестве заготовки?
 
Цитата
BlaZed написал:
Да не бывает простейшего робота, такой работать не будет ибо слишком много моментов надо учесть, чтобы косяки квика обойти.
Своего робота даже без стратеги показывать жалко, слишком много трудов вложено.
Не думаю, что хоть кто-нибудь тут вам своего покажет, сильно удивлюсь если ошибся.

Так что вам лучше писать самостоятельно и спрашивать уже конкретно то, что у вас не получается.
Полностью поддерживаю.
Ошибка создания заявки. [GW][32] "Цена сделки вне лимита"
 
Цитата
Незнайка написал:
Цитата
Константин Рейм написал:
С чем это может быть связано
Может, с тем, что на опционах границы Макс./Мин. возм.цена постоянно меняются?
Спасибо, так и есть, вопрос закрыт.
Ошибка создания заявки. [GW][32] "Цена сделки вне лимита"
 
Робот отправляет рыночную заявку по опциону (рыночная по опциону - так надо) - сделка прошла - все ровно, но иногда без видимых причин выскакивает ОШИБКА - Ошибка создания заявки. [GW][32] "Цена сделки вне лимита".
С чем это может быть связано - куда копать?

Причем стакан плотный не пустой, да если и пустой, то выставится и сняться должна и все, а не писать про ошибку.
Архив опционов BR, при загрузке терминала исчезли графики опционов BR-3.21
 
Цитата
John написал:
Открываю доску опционов, там базового актива BR-3.21 нет, уже только  BR-4.21
Такая же ерунда - глюк?
Ошибка: указанная транзакция по указанному классу не найдена, Quik 8.11.0.66
 
Цитата
swerg написал:
Рассинхрон веремени.
Суть вопроса в том что "10:00:05" это серверное время и торги по времени уже начались, а функция status == false не дает торговать каое-то время. В принципе меня этот вопрос не особо волнует т.к. для опционов время в боте стоит - старт торгов в "10:01:00", финиш в "18:44:00" (вечерняя сессия по аналогии), но все же хотелось бы понять почему status живет своей жизнью. Был еще такой момент у одного из товарищей (писал об этом в другой ветке), бот торгует - у фьюча status == true в течение всей торговой сессии, а вот у опционов с утра все норм, а ближе к вечеру (точное время уже не помню) - status == false - и понятное дело бот не торгует опционы, а торговля то идет.
Ошибка: указанная транзакция по указанному классу не найдена, Quik 8.11.0.66
 
Да и сама эта функция как то странно себя ведет: время "10:00:05", а status == false, (на 3-5 сек. на старте торгов задерживается), время "18:45:33", а status == true. Прокомментируете?
Ошибка: указанная транзакция по указанному классу не найдена, Quik 8.11.0.66
 
Цитата
Evgeniy Karnaukhov написал:
Олег, здравствуйте.

Рекомендуем проверить статусы инструментов/классов, в момент создания транзакции. Это касается таких параметров, как "Состояние сессии" и "Статус торговли инструментом" в таблице текущих торгов. Если "Сессия" покажет "закрыта" и/или "Статус" будет "не торгуется", то транзакция не выполнится. Можете прописать в коде скрипта условие на проверку этих двух статусов перед отправкой.
 
Код
   if round(getParamEx(statusClass, statusCode, "status").param_value) == 1 then status = true else status = false end -- Торговля разрешена/не разрешена
Во всех скриптах вот такая проверка стоит, если status == false, то транзакция не уйдет и тем не менее однажды вылезла ошибка описанная здесь.
Ошибка: указанная транзакция по указанному классу не найдена, Quik 8.11.0.66
 
Да я так и не понял в чем подвох был, а здесь то написал с целью привлечения внимания общественности - глядишь может кто и откликнется - подскажет в чем дело и как с этим быть.
Ошибка: указанная транзакция по указанному классу не найдена, Quik 8.11.0.66
 
Цитата
Олег написал:
Указанная транзакция по указанному классу не найдена:
Сталкивался с таким вопросом.
Выскакивает ворнинг "Compare string with number", А его не должно быть, по идее!
 
Код
   ST = getInfoParam("SERVERTIME") -- Время сервера
   if #ST == 7 then ST = "0"..ST end
   
   if ST > "10:00:00" and ST < "14:00:00" then
      ...
   end
Как вариант
Status это работает ?
 
Цитата
dimka написал:
function main()
     Status =  getParamEx("SPBFUT",  "SiZ0", "STATUS ").param_value
     message("!!!"..Status)
end

Вот так = 1

Код
function main()
   Status = getParamEx("SPBFUT", "SiZ0", "STATUS").param_value
   message("!!!"..Status)
end
Status это работает ?
 
Поддержу вопрос. В Открытии статус фьючерсов и опционов - проблем нет - все работает, а в БКС например фьючи - работает, а опционы к вечеру статус = 0, хотя все торгуется.
Программисты на LUA, Требуются LUA программисты
 
Цитата
nikolz написал:
(как правило за символическую плату)
От себя добавлю - бесплатно - там же всего то надо чтобы было вот так и так, а сейчас просто на просто как то оно не так работает. Там все просто - "пару строк поправить" - делов то)))
Время ММВБ, Servertime не предлагать
 
Цитата
Незнайка написал:
У всех сегодня параметр "Начало вечерней сессии" показывает 19:00:00 ?
У всех
Цитата
Незнайка написал:
Во время клиринга поменяли на 19:05:00
Не обратил внимания, во сколько точно поменяли
Оно так всегда и меняется, а вот во сколько не могу сказать точно, где-то около 19:03:00 - приблизительно
Lua-таблицы. Интерфейс. Управление свойствами lua-таблиц., Как тонко настроить lua-таблицу? Механизмы взаимодействия пользователя с lua-таблицами.
 
Здесь кое что есть
Зависает скрипт QLua из примера, хотя даже убраны все коллбэки (v.8.8.4.3)
 
Код
   while is_run do
      ---
      sleep(100)
   end
Как убрать нуль после точки?, .0
 
Вот так можно
Код
function round(num, n) -- Функция округляет до указанного количества знаков
   local n = (n or 0)
   return tonumber(string.format("%."..n.."f", num))
end
Функция возвращает код класса по коду инструмента
 
Вот так работает
Код
function GetClassBySec(code) -- Функция возвращает код класса по коду инструмента
   --------------------------------------------------------------------------------------------------------------------------
   for class in string_gmatch("STOCK_USA,SPBXM,FQBR,TQBR,QJSIM,SPBFUT,", "(%P*_*%P*),") do
      for sec in string_gmatch(getClassSecurities(class), "(%P*%.*%P*-*%P*),") do
         if sec == code then return class end
      end
   end
   --------------------------------------------------------------------------------------------------------------------------
end
Функция возвращает код класса по коду инструмента
 
Спасибо
Функция возвращает код класса по коду инструмента
 
Код
function GetClassBySec(code) -- Функция возвращает код класса по коду инструмента
   --------------------------------------------------------------------------------------------------------------------------
   for class in string_gmatch("STOCK_USA,SPBXM,FQBR,TQBR,QJSIM,SPBFUT,", "(%P*),") do
      for sec in string_gmatch(getClassSecurities(class), "(%P*_*%P*_*%P*),") do
         if sec == code then return class end
      end
   end
   --------------------------------------------------------------------------------------------------------------------------
end

Здравствуйте. Функция не возвращает код класса: "STOCK_USA" и "FQBR" ("SPBXM" - не проверял). В чем подвох?

Ошибка в отрисовки таблиц
 
Вероятно таблица создается
function OnInit(script_path) -- Функция вызывается терминалом QUIK перед вызовом функции main()
  здесь
end
Создайте ее вот
function main() -- Функция, реализующая основной поток выполнения в скрипте
  здесь
end
Как отловить когда сработал стоп
 
Цитата
xorax написал:
Перечитайте мои сообщения.
А может ответы на ваши вопросы внимательнее изучать?)))
Цитата
В какой лимитной заявке? Когда выставляется стоп, ни какой лимитной заявки нет. Лимитная заявка выставляется только после того, как  условия выполнились согласно указанным условиям  в стоп заявке или в тейке.
Все верно. Теперь нам нужно
Цитата
Всё бы хорошо, но я не могу отловить сам результат выполнения стоп заявки, когда стоп исполнился.
В моём понимании когда срабатывает стоп, создаётся новая заявка с новым номером заявки которая не равна номеру стопа.
Хотелось бы увидеть схему OnStopOrder -> ...  -> ...  -> здесь признак того что стоп сработал.
Сработала стоп-заявка - нужно это действие отследить, так?
В таблице стоп-заявок есть поля: Номер и Номер заявки. Поле Номер - это номер нашей стоп-заявки, поле Номер заявки - это номер лимитной заявки - данное поле при выставлении стоп-заявки пустое, как только наша стоп-заявка превратится в лимитную - это поле заполнится - номер лимитной заявки - все.
контроль исколнения многоконтрактовой заявки в quik 8.6
 
Через Таблица сделок
Как отловить когда сработал стоп
 
Цитата
Демидков Юрий написал:
Дальше где-то откопать номер выставленной лимитированной заявки.
Пример для таблицы заявок.
linkedorder - в таблице стоп-заявок и есть номер лимитки.
Код
function CheckOrders() -- Функция проверяет таблицу заявок
   local gNOf = getNumberOf("orders")-1 -- Номер последней строки в таблице заявок
   for i = NumLineTO+1, gNOf, 1 do -- Перебирает строки в таблице заявок начиная от NumLineTO+1
      local orders = getItem("orders",i) -- Параметры заявки

      ...
   
      local num = 0 -- Номер заявки
      if bit.test(orders.flags, 0) then -- Заявка активна
         num = orders.order_num -- Контроль заявки
      end
      local stopNum = orders.linkedorder -- Номер стоп-заявки

      ...

   end
end
TRANS_ID, Значение на сегодня?
 
Цитата
Sergey Gorokhov написал:
2 147 483 647
Для id = 3 333 333 333 - транзакция уходит - и в таблице транзакций видим не 3 333 333 333, а присваивается № 2 147 483 647. Для id = 4 444 444 444 - ошибка - Неправильно указан идентификатор транзакции: "4444444444". По этому и возник вопрос. Ладно формат ххх ххх ххх - будет достаточно. Всем спасибо.
TRANS_ID, Значение на сегодня?
 
Из описания QLUA.chm: TRANS_ID -- Уникальный идентификационный номер заявки, значение от «1» до «2 147 483 647»
Реальное максимально допустимое значение на сегодня?
Работа с опционами, Где взять данные по дельте и временной стоимости опционов?
 
Цитата
Демидков Юрий написал:
Не могу найти, как получить данные, которые отображаются в доске опционов.
Эти данные не транслируются - надо рассчитывать в скрипте
Как отследить событие - перерыв в торгах на фортс
 
Цитата
Дмитрий написал:
Не знаю, может что делаю не правильно, но код выдает ошибку
Код
function Round(num, n) -- Функция округляет до указанного количества знаков
   local n = (n or 0)
   return tonumber(string_format("%."..n.."f", num))
end
Эту функцию еще добавить надо.
В принципе то можно без нее. Но тогда вот так
Код
Status = tonumber(getParamEx(CLASS_CODE, SEC_CODE , "status").param_value)
но опять результат будет = 1.0 например (8.5 квик). А функция Round - .0 уберет, это у меня бзик - по "феншую" должно быть и все))). А так эта функция в основном то нужна сейчас для объема и цены - приходит объем 3.0, цена по РТС например 100 000.0 - не порядок.
Страницы: 1 2 3 След.
Наверх