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

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

Страницы: Пред. 1 ... 30 31 32 33 34 35 36 37 38 39 40 ... 46 След.
Спрэд в стакане и цены совершённых сделок (Таблица всех сделок), Проблема понимания изменения спрэда в стакане и цены совершённых сделок в Таблице всех сделок
 
Цитата
Фёдор Сухов пишет:
В том то и дело, что я беру время биржевое у стакана и у сделок, и оно совпадает.
Цитата
Фёдор Сухов пишет:
заявки в стакан попадают в текущее биржевое время с временем прошлым
У стакана есть время? Где вы его берёте?
Надо делать так, как надо. А как не надо - делать не надо.
заявки с переносом на следующий день
 
К тому же, при условии
Цитата
Imersio Arrigo пишет:
выбрасываем лимитку по, например, 95, если цена <=90.
можно никогда не дождаться его выполнения, даже если бумага торгуется по нужной цене 94.
Надо делать так, как надо. А как не надо - делать не надо.
заявки с переносом на следующий день
 
Ну, во-первых,
Цитата
minimen456 пишет:
Я хочу купить какую-то облигацию по 94.
А во-вторых: если спрэд шире? Или предложения нет?
На рынке никто не даст стопроцентной гарантии.
Надо делать так, как надо. А как не надо - делать не надо.
заявки с переносом на следующий день
 
Цитата
Imersio Arrigo пишет:
Дык надо ставить цены так, чтобы если уж сработала стоп-заявка, то порожденная ей лимитка - стопроцентно исполняется.
Это как? Пример - в студию  ;-)
Надо делать так, как надо. А как не надо - делать не надо.
заявки с переносом на следующий день
 
Если лимитированная заявка, выставленная при исполнении стоп-заявки, не исполнится, повторного перевыставления стоп-заявки не произойдёт. Не так ли?
Надо делать так, как надо. А как не надо - делать не надо.
Редактор кода QLUA и прочее
 
Цитата
Михаил Филимонов пишет:
1. Неужели разработчикам трудно было написать для новичков кратко
что потребуется для написания скриптов и программ(роботов)
2. Вкратце описать "скелет" индикаторов и роботов
3. Как отлаживать созданные скрипты и роботов
Николай Камынин, что из этого есть по приведённым вами ссылкам?
Надо делать так, как надо. А как не надо - делать не надо.
платформа для создания роботов, создание роботов без знаний LUA и QPILE
 
Цитата
Фёдор Сухов пишет:
а вот, если надо вот такой немножко посложней
Эту стратегию можно проще записать
Надо делать так, как надо. А как не надо - делать не надо.
Изменение цвета линии индикатора на "лету"-возможно?
 
Зарегистрируйте пожелание на добавление функционала:
1) изменение цвета линии индикатора на заданном участке
2) добавление флага, запрещающего соединять точки, если между ними есть nil значение
Надо делать так, как надо. А как не надо - делать не надо.
Таблица всех сделок, Проблема при считывании направлении сделок ("Купля" или "Продажа")
 
Цитата
Imersio Arrigo пишет:
Цитата
Старатель пишет:
*Вернее, установлены 0-й (для 1025) и 1-й (для 1026) биты соответственно.
вообще-то в 1025 установлен только 0й бит, а в 1026 только 1й.
так что все нормально
Кто-то утверждал обратное?
Вопрос в том, что означают старшие биты в обезличенных сделках? (В документации информации нет.)
Надо делать так, как надо. А как не надо - делать не надо.
Таблица всех сделок, Проблема при считывании направлении сделок ("Купля" или "Продажа")
 
*Вернее, установлены 0-й (для 1025) и 1-й (для 1026) биты соответственно.
Надо делать так, как надо. А как не надо - делать не надо.
Таблица всех сделок, Проблема при считывании направлении сделок ("Купля" или "Продажа")
 
Иногда сделки приходят с параметром flags, равным 1025 (установлен 1-й бит) или 1026 (установлен 2-й бит).
А вот, что значат эти биты - вопрос к техподдержке.
Надо делать так, как надо. А как не надо - делать не надо.
Take Profit, Как правильно выставить величину отступа и спрэда
 
Цитата
Sergey Gorokhov пишет:
Если интересует развернутый ответ, у нас есть документ описывающий стоп заявки на 16 страницах, могу отправить по письменному запросу на quiksupport@arqatech.com
Есть какое-нибудь логическое объяснение тому, что развёрнутое описание стоп-заявок нельзя найти в общем доступе и/или официальной документации?
Какие ещё документы, описывающие работу с ИТС QUIK, можно запросить по quiksupport@arqatech.com?
Надо делать так, как надо. А как не надо - делать не надо.
Как сделать так, чтобы файлы подгружались сами?
 
Указывайте полные пути к модулям (файлам).
Надо делать так, как надо. А как не надо - делать не надо.
Привязка кнопок
 
Цитата
Сергей пишет:
function f_cb(t_id,msg,par1,par2) --событие на нажатие клавиш
if (msg==QTABLE_CHAR) and (par2==19) then --сохранить в CSV файл текущее состояние таблицы нужно нажать комбинацию клавиш Ctrl+S
CSV(t_id)
end
if (msg==QTABLE_CLOSE) then --закрытие окна
Stop()
end
end
А где вы взяли этот кусок кода?
Надо делать так, как надо. А как не надо - делать не надо.
Привязка кнопок
 
Код
local bRun, hID = true

local _Callback = function(t_id, msg, par1, par2)
  if msg == QTABLE_CLOSE then bRun = nil
  elseif msg == QTABLE_CHAR then
    SetCell(hID, 1, 1, GetCell(hID, 1, 1).image..string.char(par2))
  end
end

function main()
  hID = AllocTable()
  AddColumn(hID, 1, 'Введите тект:', true, QTABLE_STRING_TYPE, 32)
  CreateWindow(hID)
  SetWindowPos(hID, 600, 300, 200, 60)
  SetTableNotificationCallback(hID, _Callback)
  SetWindowCaption(hID, "Окно ввода текста")
  InsertRow(hID, -1)
  while bRun do sleep(100) end
end

function OnStop()
  bRun = nil
end
Надо делать так, как надо. А как не надо - делать не надо.
Паузы 15 мске при отправке TRANS2QUIK_SEND_ASYNC_TRANSACTION, обнаружил странные паузы
 
Это не задержка в 15 мс. Это разность между двумя событиями, которая в Windows при стандартном таймере вычисляется кратно 15.6 мс.
Соответственно, для промежутка времени менее таймера будет отображаться либо 0 либо 15 (15.6 мс).
Надо делать так, как надо. А как не надо - делать не надо.
Расчёт индекса РТС
 
Наверное, рассчитать согласно
Цитата
Старатель пишет:
Методика расчета Индексов Московской Биржи
Методика расчета индикативных валютных курсов
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Дмитрий пишет:
То есть если график не открыт, то CreateDataSource вообще не выдаст нам свечи, сохраненные в кэше?
Нет, не так. Конечно, CreateDataSource вернёт нам свечи из кэша (я не совсем верно написал выше). Но, если график открыт, то значения свечей мы можем получить сразу.
Если же график не открыт, то сначала ds:Size() = 0. Свечи придут позже.
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Николай Камынин пишет:
действительно,
нет надобности обновлять историю которая уже есть в терминале.
Было бы хорошо,
если бы история в терминале в начале сессии не обновлялась,
а добавлялась.
Специально проверил:
На выходных с помощью QMinEditor изменил значение одной свечи на графике. Сегодня подключился к серверу, и свеча не обновилась.

Причём, если график не открыт в терминале, то значения "старых" свечей мы получаем только в колбеке (не зависимо, сохранён кэш графиков или нет). Если график открыт, то "старые" свечи возвращаются в CreateDataSource. Эту информацию можно добавить в документацию.

Но в любом случае, значение изменённой свечи не обновляется.
Надо делать так, как надо. А как не надо - делать не надо.
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
Контекстное меню графика - "Параметры текущего окна" - появится окно "Настройка параметров диаграммы" - вкладка "Диаграмма" - " Показывать графики" есть пункт "выбрать с" - можно выбрать на определённый день, но только до 18:45
Там можно выбрать любое время. Это поле редактируемое.
Цитата
Некто пишет:
Цитата
Старатель пишет:
есть настройка Intra-day, где указывается нужное время.
Видимо, это может подойти тем, кто каждый день будет сохранять историю после 23:49 . Приятного им времяпрепровождения.
Сохранять историю с помощью getCandlesByIndex, изменяя каждый раз дату-время графика в настройках, - в любом случае не самое приятное времяпрепровождение   :D  
Проще сохранять историю с помощью CreateDataSource: написал скрипт, запустил один раз и забыл. Остальное он сам сделает.
Надо делать так, как надо. А как не надо - делать не надо.
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
В своём скрипте сначала вызываю getNumCandles(), потом getCandlesByIndex(), потом сравниваю кол-во свечей, которые они вернули.
Для графика Сбера периодов 1 и 2 мин они равны. Для Si getNumCandles() в 21:30 возвращает бОльшее число.
Код
nNumCandles = getNumCandles(sTag)
tChart, nNumCandles = getCandlesByIndex(sTag, 0, 0, nNumCandles)
В обоих случаях должно возвращаться одинаковое число свечей. Если это не так, - ищите ошибку у себя.

Цитата
Некто пишет:
Вопрос: можно ли как-то настроить в Квике отбражение минутных графиков фьючерсов с 10:00 до 23:49?
В настройках графика нет пункта "отображать данные за один день", но есть настройка Intra-day, где указывается нужное время.
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
а как отличить что это не одно и тоже?
Вопрос не понятен.
Цитата
Старатель пишет:
Size() возвращает текущее количество свечек на локальном месте
- это факт. Нужны какие-либо доказательства?
Цитата
Sergey Gorokhov пишет:
Цитата
Старатель пишет:
TIME возвращает время последней сделки, но не дату, не так ли?
На графике есть
Пока последняя свечка не загрузится, мы об этом не узнаем.

Но ваш спор не понятен:
Вас просят, сказать сколько свечек на сервере. Вы предлагаете считать свечки на рабочем месте.
Вас спрашивают о дате-времени последней сделки, чтобы узнать загрузился ли график. Вы предлагаете дождаться загрузки графика, чтобы узнать дату-время последней сделки.
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
Такая функция уже есть называется Size, однако она ведь не решает проблему не так ли?
Size() возвращает текущее количество свечек на локальном месте, а не на сервере, не так ли?
Цитата
Sergey Gorokhov пишет:
Это уже есть, смотрите параметр time из ТТП, однако и она не решает проблему не так ли?
TIME возвращает время последней сделки, но не дату, не так ли?
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
Цитата
"Passport пишет:
Цитата
Sergey Gorokhov пишет:
Здравствуйте,
Вопрос уже многократно поднимался на форуме.
Ответ: никак.
Прошу понять, что прочитать весь форум довольно затруднительно, а поиском не всегда находится нужное.
Поэтому ещё вопрос - а планируется ли добавление срабатывания callback'а в такой ситуации? Ведь это решило бы проблему.
Вы не совсем понимаете. Дело в том, что нет такого критерия который позволил бы отличить ситуацию "продолжения ожидания" от "отсутствия данных", а значит и решить эту проблему нельзя.
Вопрос действительно многократно поднимался на этом форуме. И в этой теме было показано, что есть решение, которое "позволило бы отличить ситуацию "продолжения ожидания" от "отсутствия данных" при наличии этих данных на сервере. Вы не смогли аргументированно опровергнуть данное решение.
Поэтому, правильней было бы говорить не об отсутствии критерия, как такового, а об отсутствии желания что либо делать в этом месте.
Надо делать так, как надо. А как не надо - делать не надо.
getInfoParam is not a string?
 
Цитата
DronGO пишет:
А почему дата меняется только утром? а не в 00:00:00?
Потому, что ночью торги ещё не начались. И в выходные торгов также нет. Вполне логично, что дата торгов меняется только в торговый день. Ключевое слово здесь "торгов".
Надо делать так, как надо. А как не надо - делать не надо.
Управление индикатором из Lua-скрипта
 
Добрый день.

Не помню, было такое пожелание или нет...
Сделайте возможным из QLUA-скрипта, если не добавлять индикатор на диаграмму, то хотя бы управлять уже созданным индикатором:
вызывать функцию Refresh, ту самую, которая вызывается при нажатии на кнопку "Сохранить" в настройках индикатора,
а также изменить значения параметров таблицы Settings.
Надо делать так, как надо. А как не надо - делать не надо.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Реже-чаще... Предлагаю сделать запись изменений стакана в QUIK и ITInvest в одно и то же время и сравнить.
Надо делать так, как надо. А как не надо - делать не надо.
Обмен данными между Lua-скриптами
 
Я не знаю как там в Metatrader, но представляю себе следующим образом:
В любом из скриптов создаётся переменная и обозначается как глобальная в общем "пространстве имён", доступ к которой возможен из любого скрипта.
Обращение к этой переменной должно осуществляться по ссылке (без создания нового объекта) по аналогии с таблицами в Lua.
Возможно ли это сделать?
Надо делать так, как надо. А как не надо - делать не надо.
Обмен данными между Lua-скриптами
 
Зарегистрируйте пожелание на доработку такого функционала.
Надо делать так, как надо. А как не надо - делать не надо.
Динамическое изменение верхней/нижней границы вертикальной оси
 
Регистрируйте.
Но мне хотелось решить ещё одну задачу: приведение к одному масштабу на нескольких диаграммах, где границы оси изменяются в зависимости от определённых условий..
Надо делать так, как надо. А как не надо - делать не надо.
Обмен данными между Lua-скриптами
 
Добрый день.

Возможно ли сделать в QUIK общее хранилище данных для обмена информацией между скриптами?

Я знаю, что есть стороннее решение. Но оно не удобно тем, что при обращении к объекту из общего "пространства имён" создаётся новый экземпляр объекта (вместо ссылки), что негативно сказывается на ресурсах.
Надо делать так, как надо. А как не надо - делать не надо.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Цитата
Николай Камынин пишет:
Просто сервер биржи не транслирует стакана, пока не урегулирует очередь.
Но обновление очереди на сервере QUIK или в терминале может проходить без запрета и мы видим промежуточное состояние стакана.
"Без запрета" чего? Что такое "промежуточное состояние стакана". Откуда оно появилось, если первоисточником для QUIK является биржа?
Надо делать так, как надо. А как не надо - делать не надо.
Конфигурация квика 2014 в 2015 год, Быстрое изменение конфигурации квика.
 
Egor Zaytsev, у вас, вроде, была утилита, меняющая коды бумаг в info.wnd. Не подойдёт?
Надо делать так, как надо. А как не надо - делать не надо.
Динамическое изменение верхней/нижней границы вертикальной оси
 
Чтобы иметь возможность самостоятельно указывать границы оси и не зависеть от автомасштабирования.
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
Динамическое изменение верхней/нижней границы вертикальной оси
 
Добрый день.

Добавьте возможность из кода Lua-индикатора задавать и динамически изменять верхнюю и нижнюю границы вертикальной оси.
Надо делать так, как надо. А как не надо - делать не надо.
Останавливается скрипт
 
Один код бумаги может содержаться в разных классах. В результате вы можете получить не тот класс, который ожидали.
Надо делать так, как надо. А как не надо - делать не надо.
Про метки
 
Цитата
Egor Zaytsev пишет:
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа.
Опять?! Уже рассмотрели его:
Цитата
Alexey Ivannikov пишет:
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной.
Переходите на следующий уровень.
Надо делать так, как надо. А как не надо - делать не надо.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Цитата
user пишет:
Ту информацию, что ближе к спреду надо бы обновлять более приоритетно.
При чём тут приоритетное обновление?!
Есть правила торгов, согласно которым исполняются ордера. Согласно этим правилам, ордера всегда исполняются последовательно (пусть даже по несколько штук в единицу времени) в порядке очереди.
Исполнение ордеров приводит к изменению стакана таким же образом в строгой последовательности.
Если соблюдать эту последовательность изменений при отображении "стакана", то никогда даже при частичном обновлении "ценовых уровней" не возникнет пересечения котировок. Отсюда вытекает вывод, что в QUIK эта последовательность изменений строк в "стаканах" нарушается.
Надо делать так, как надо. А как не надо - делать не надо.
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
А вот "r+" работает
Пишу одно, думаю другое... Конечно же "r+"
Надо делать так, как надо. А как не надо - делать не надо.
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Он дописывает в конце файла
Вы код запускали? Или вы поспорить пришли сюда?
Надо делать так, как надо. А как не надо - делать не надо.
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Еще раз пишу: режим "а+" не подойдет: это cfg-файл, мне нужно заменять определенные значения в строго определенном месте, а не дописывать, а потом объяснять при следующем цикле оператором что же им считывать.
Вообще-то режим "a+" как раз предназначен, чтобы заменять "определенные значения в строго определенном месте":
Код
local file = io.open(ImyaCFGFaila, "w")
file:write('---------------33---------------')
file:close()

file = io.open(ImyaCFGFaila, "r+") 
file:seek("set", 15) 
file:write("22") 
file:close() 
Надо делать так, как надо. А как не надо - делать не надо.
Добавить новый вид графика
 
Добавьте новый вид графика, типа гистограммы, только полностью закрашенный:
Надо делать так, как надо. А как не надо - делать не надо.
Рекламный баннер в ИТС QUIK, Как убрать рекламный баннер в ИТС QUIK
 
Соответственно, и покажет терминал рекламу сразу после подключения.
Надо делать так, как надо. А как не надо - делать не надо.
Рекламный баннер в ИТС QUIK, Как убрать рекламный баннер в ИТС QUIK
 
Баннер скачивается при подключении к серверу.
Надо делать так, как надо. А как не надо - делать не надо.
Почему не переносится «Со связанной заявкой»?
 
C одной стороны, перенос лимитированной заявки через клиринг осуществляется путём её снятия и выставления новой. С другой стороны, можно ведь и реализовать механизм перевыставления стоп-заявки на новую заявку.
Надо делать так, как надо. А как не надо - делать не надо.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Michael Bulychev, тогда тем более не понятно, почему за основу потокобезопасных функций вы взяли table.insert/table.remove, а не свой вариант.
Надо делать так, как надо. А как не надо - делать не надо.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Цитата
DronGO пишет:
Сравнил количество сохранённый сделок/в секунду первым способом и вторым.
Видимо, идут накладные расходы на заморозку/разморозку параллельного потока. Кроме того, параллельный поток при использовании потокобезопасных функций просто простаивает.

Цитата
Michael Bulychev пишет:
Вот простой тест:
Ваш тест показывает, что создание большой очереди в колбеке для её последующей обработки в main нецелесообразно, т.к. изымание элементов из большой очереди может занять больше времени, чем обработка колбеков сразу по факту их прихода. А в случае использования потокобезопасных функций в main основной поток терминала будет "заморожен", в результате мы не получим того, для чего собственно и использовали эту очередь: освобождение основного потока.
Надо делать так, как надо. А как не надо - делать не надо.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
Цитата
Николай Камынин пишет:
Самый быстрый способ удалить элемент таблицы - присвоить ему nil.
Забыли добавить: если удаление идёт с правого края.
Надо делать так, как надо. А как не надо - делать не надо.
Купонная доходность
 
Цитата
Михаил Иванов пишет:
Есть допустим ОФЗ с купоном в 7% годовых, и стоит она 85 % от номинала.
Невысокий купон - одна из причин, почему бумага торгуется ниже номинала. И наоборот.
Чтобы знать истинную доходность к погашению в терминале и транслируется значение доходности с учётом дисконта/надбавки.
Надо делать так, как надо. А как не надо - делать не надо.
Ошибки в функции getQuoteLevel2!!!, Возвращаемый стакан котировок не всегда соответствует (нормальным) условиям...
 
DronGO, в этой теме обсуждалась работа потокобезопасных функций.

Цитата
DronGO пишет:
Кстати table.sinsert table.sremove, работают очень медленно, в сотни раз медленнее, чем lock-free системы.
Как вы это проверяли?
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: Пред. 1 ... 30 31 32 33 34 35 36 37 38 39 40 ... 46 След.
Наверх