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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 19 След.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Ну да  Квик хранит свечи в виде массивов данных и разработчики предлагают  чтоб получить свечу с ее данными нужно найти вначале индекс в массиве.
И начинаются пляски с бубнами ::
Но часто нужно ответить на вопрос какой была цена в 1200 на такую то дату?
Да, предполагается, что надо этот индекс найти. Двоичный поиск вполне быстро найдет его, надо просто перейти на числовое представление времени (unix time).
Почему найти, потому что когда у Вас уже 65000 тыс. бар, то при переподключении к серверу удивительным образом нумерация баров "съедет", т.к. произойдет сдвиг, чтобы не выходить за пределы доступного объема массива.
Поэтому индекс сегодня не обязательно будет тот же, что и вчера.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Не очень понятен вопрос. Как получить бар, зная дату и время?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Попытаться привести к стационарному виду Вы, конечно, можете. Правда не забудьте потом работу написать...

А  что касается тестов, то на истории подгоните показатели - это не  сложно, но, из-за выше сказанного, жить эти показатели будут неизвестно  сколько. Поэтому, кстати, стратегии основанные на статистических  аномалиях "как бы" лучше, т.к. это аномалии. Но и здесь "толстые хвосты"  легко приведут в чувство. Так что если тестируете, то либо это надо делать часто (не скатившись в переобучение), либо должно быть самообучение с коротким горизонтом.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Достаточно просто сказать, что временной ряд биржевых котировок нестационарен и имеет слабую автокорреляцию.
Не работают флаги ["Дата экспирации"] и ["Expiration date"] в SendTransaction
 
Не надо полностью все поля писать кириллицей. Напишите только это поле так.
Создать таблицу. Получить данные из таблицы другим скриптом., Создать таблицу. Получить данные из таблицы другим скриптом.
 
Наверно, все же, стоит прочитать документацию. Методы getIem, getNumberOf и SearchItems из этого раздела не предназначены для работы с таблицами, созданными через метод AllocTable.

Чтобы было понятнее - раздел документации 3.1 Функции для обращения к строкам произвольных таблиц QUIK.
Функции из этой группы предназначены для доступа к данным, содержащимся в таблицах Рабочего места QUIK. Т.е. это встроенные таблицы терминала.

В методах есть параметр TableName. Список возможных значений этого параметра в документации тоже представлен.

Не тратьте свое и чужое время попусту.
Получить sec_code из метки индикатора, Получить sec_code из метки индикатора
 
Цитата
Alexey89 написал:
Так понятнее, спасибо. А такой вариант. Создается табличка и туда пишутся значения мэсседжей или меток. И из этой таблички скрипт берет самую последнюю информацию. Такое в теории возможно?  
Перечитал сообщение - нет. Если таблица создается на одной стороне, то другая сторона он ней не узнает ничего. Поэтому необходимо то, что можно найти по какому-то признаку. Текст метки, имя файла и т.д.
Получить sec_code из метки индикатора, Получить sec_code из метки индикатора
 
Цитата
Alexey89 написал:
Так понятнее, спасибо. А такой вариант. Создается табличка и туда пишутся значения мэсседжей или меток. И из этой таблички скрипт берет самую последнюю информацию. Такое в теории возможно?  
И такое возможно. Также можно просто писать в файл. Просто нужен любой прокси.
Получить sec_code из метки индикатора, Получить sec_code из метки индикатора
 
Я Вам уже в прошлый раз написал, что прямого способа нет. И это отбрасывая вопрос зачем это вообще надо делать. В метку Вы можете сохранить text (текст), hint( подсказку) - это строки, цену, дату-время. Т.е. метка может дать информацию о том где она находится на графике и какой текст в ней сохранен. Что потом можно и прочитать, ЗНАЯ ЧИСЛОВОЙ ИДЕНТИФИКАТОР ЭТОЙ МЕТКИ, который, к слову, может произвольно изменится.
Что касается документации, то она может не идеальна, но как минимум дает представление о том какой формат вызова у метода, какой тип данных метод возвращает. Прочитав это, отпадут вопросы о том почему не работает передача в параметре метода, например, строки вместо числа.
Получить sec_code из метки индикатора, Получить sec_code из метки индикатора
 
Вы упорно, по какой-то причине не хотите читать документацию, даже пример, что был приведен выше.

В методе AddLabel передается таблица параметров метка в определенном формате. И там нет такого параметра как secCodeLabel.
Получить sec_code из метки индикатора, Получить sec_code из метки индикатора
 
Может Вы все прочитаете документацию по синтаксису языка, по методам qlua.
Код
label_params = {
      
        local labelSize = 300 -- размер метки
        local labelX = 50 -- координата X метки (посередине графика)
        local labelY = 50 -- координата Y метки (посередине графика)
        local secCodeLabel = tostring(info.sec_code)
      
         }

Зачем при объявлении переменных в таблице label_params используете ключевое слово local?

Далее, вызов NUMBER AddLabel(STRING chart_tag, TABLE label_params)

Как видно из сигнатуры, метод возвращает число - это идентификатор добавленной метки на графике. Если вернулось nil, то метка не добавилась. Вот Вам пример https://luaq.ru/AddLabel.html

Далее, GetLabelParams("goodmode1", "Метка")
Читаем документацию: TABLE GetLabelParams(STRING chart_tag, NUMBER label_id)                        

Т.е. метод возвращает параметры метки - таблица, а принимает идентификатор графика - строка, идентификатор метки (тот, что вернул метод AddLabel) - число.

Можно, конечно, и так пробовать, но потратить 10 минут на чтение - быстрее.
Получить sec_code при выборе бумаги в ТТТ., Получить sec_code при выборе бумаги в ТТТ.
 
Конечно, если на каждый бар, тик выводить message и не это еще будет. OnCalculate вызывается минимум два раза при добавлении индикатора на график. И столько же будет выведено сообщений.
Если баров на графике, например 30 тыс., то не удивительно.

Кажется Вам уже отвечали (может и не Вам, но была похожая тема), что метод getDataSourceInfo предназначен для индикаторов, а не скриптов. Это разные концепции в контексте терминала.

Ваша задача - из скрипта по назначенному графику идентификатору получить код инструмента, который на данный момент назначен на график.
Ответ - прямого такого метода нет.

Можно решать косвенно:
1. Метод getCandlesByIndex возвращает легенду графика. Это подпись графика, которая может содержать код инструмента, но чаще его краткое имя. Так что это не очень надежно.
2. Можно написать индикатор, добавляющий и обновляющий метку на график, где в тексте или подсказке добавить всю нужную информацию. А уже из скрипта прочитать данные этой метки.
"KILL_ALL_FUTURES_ORDERS", Снятие всех активных заявок на FORTS
 
Елена, это следует из синтаксиса языка. Когда Вы пишите, инициализируя ключ в таблице (или просто в коде):

local trans = {
...

BASE_CONTRACT = GAZR,
...

}

Это означает, что необходимо объявить переменную BASE_CONTRACT и инициализировать её значением, содержащееся в другой переменной GAZR.
Т.е. в таком виде GAZR - это переменная. А если она не была инициализирована, то будет nil.

В результате BASE_CONTRACT становился nil.

А вот в таком виде
BASE_CONTRACT = "GAZR"

Уже означает, что переменной необходимо присвоить значение типа строка = "GAZR". Что и следует из того, что все коды инструментов и классов - это строки.
"KILL_ALL_FUTURES_ORDERS", Снятие всех активных заявок на FORTS
 
В таблице текущих торгов выведите информацию об инструменте и увидите код базового актива. Также его можно получить через метод getSecurityInfo.
Скрипт для выставления завки по валюте, Возможно ли?
 
Все как обычно. Просто класс инструмента CETS код инструмента USD000UTSTOM

А вот с учетом позиции уже есть особенность, т.к. размер лота = 1000.

Откройте демо-счет и сможете все детально проверить.
Узнать точное время скриптом
 
Я бы понял синхронизацию, если бы было прямое подключение к бирже. А если все идет через сервер брокера, то все будет по его часам. Пока у него на сервере не сменится статус сессии, то можно сколько угодно говорить, что торги уже идут по атомным часам.
SearchItems не успевает обновить данные по заявкам при вызове в OnTrade
 
Цитата
Cyber написал:
Хах, но появилась другая проблема. Если заявка недавно выставлена, то она не находится в системе через SearchItems.
Какой же этот Квик мееедленный((.
Скорость здесь вообще не важна. Колбек - это сигнал, что что-то произошло и передается запись из таблицы об этом изменении. Т.е. изменилась одна конкретная запись. Вы же пытаетесь по этому событию найти все записи, удовлетворяющие некому условию. И это не считая того, что колбеки - это не гарантированные события. Поэтому надо просто изменять подход. Хотите продолжать использовать колбеки - можно, но только как факт события, устанавливающий флаг признака, что что-то изменилось. А уже в основном потоке искать по все таблице. Можно и без колбеков вовсе, просто самому опрашивая таблицу по некому алгоритму, что будет намного надежней, но многими считается как некрасивый подход.
Нет документации на некоторые функции в индикаторе
 
Не очень понятно что Вы хотите услышать? Глобальный контекст используется не только для публичных методов, но и для приватных, технических. Раз нет в документации, то и использовать их не стоит.
А вот то, что все это открыто в глобальном контексте - это плохо, неаккуратно, конечно. Убрать все это вполне можно было. А то любители инициализировать свои глобальные переменные могут получить неприятные эффекты.
Для писателей роботов
 
Я, конечно, не знаю давность информации и конфигурацию оборудования, но вот это: "Пропускная способность не сильно производительного mssql сервера примерно 1500-2000 транзакций в секунду" вызывает сомнения.
20-30к в секунду - это нормально. Бывает и 200к.

А если взять другие базы данных, то там 100-200к - это просто норма, не говоря уже про документные базы. Если бы, для примера Quik был на NYSE, то при 1,5к - просто все встало бы.
И, кстати, оставаться сейчас на транзакционной базе данных для прокси сервера, уже выглядит странно.

Так что, если это так, то все настолько печально, что даже уже не вызывает никаких эмоций прибитая гвоздями кодировка win-1251.
TrustManager
 
Если ли доступ к таблицам, создаваемым модулем TrustManager из qlua?
При подключении модуля появляется тип транзакции NEW_GROUP_ORDER, судя по экспорту. Поэтому и возникает вопрос - как сформировать команду, читать данные и т.д.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Нет идеальных решений. Я Питон и его колхоз терпеть не могу, но полмира пользуется и довольно.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
написал:
Задача такая. Есть график или стакан по одной акции. Нужно запустить скрипт и он должен отправить заявку по этой акции. Для заявки нужен sec_code. sec_code должен браться автоматом от графика или стакана. Графики и стаканы привязаны якорем к таблице с акциями. Тоесть я постоянно выбираю бумагу, она всегда разная. Какую выбрал хочу нажать кнопку скрипта и по этой бумаге пошла заявка. все параметры заявок знаю с этим все ок. А вот sec_code чтоб брался это проблема.  
Нет, так не выйдет. Точнее это можно сделать, если дополнительно сделать индикатор на этот график.
При смене настроек на графике (изменение инструмента), простой индикатор определить через getDataSourceInfo какой в текущий момент инструмент и запишет эту информацию в какое-то хранилище (не важно какое, например метка на графике).
Тогда скрипт прочитает это хранилище и получит информацию. Но надо решать вопрос синхронизации, т.к. смена инструмента не мгновенна.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Наверно, проще озвучить решаемую проблему. Но прежде надо определится, что и где используется - индикатор, скрипт. Для них используются совершенно разные походы.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Если Вы, действительно, хотите разобраться, то, наверно, все же стоит прочитать сообщения, что были написаны. А еще лучше документацию. В ней указаны все методы и, что важно, - сигнатуры вызова методов.
Уже было сказано, что метод getDataSourceInfo вызывается без параметров. Этот метод доступен в контексте индикатора.
Метод же getSecurityInfo - получает данные по переданным параметрам класс инструмента, код инструмента. Кои Вы и хотите узнать, а значит и использовать getSecurityInfo не получится.

И еще раз - по идентификатору графика можно узнать значения линий этого графика, а что это за график (и какого инструмента) нет.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
getDataSourceInfo выдает информацию о графике, в котором он вызывается. Т.е. есть индикатор, нанесенный на график, в нем есть метод getDataSourceInfo. Вот по этому графику и будет информация.
В руководстве показана сигнатура вызова:

TABLE info getDataSourceInfo()

Никаких параметров. Т.е. метод не предназначен для получения данных о другом графике по идентификатору. Такой вызов некорректен.

getDataSourceInfo - это метод qlua.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
написал:
Идентификатор назначен на Price. Тоесть именно на график. Хочу сделать сделку по этому графику. Для отправки ордера на сделку нужен  sec_code. Как я могу его получить? Не задавать же его вручную.  Знаю что можно из таблицы заявок вытащить local sec_code = last_order.sec_code. Должен же быть способ с графика открытого получить sec_code для заявки.  
График предоставляет данные о линиях, выведенных на него. Раз это Price, то и будет выдана информация о барах этой цены. А чья эта цена метод getCandlesByIndex (если используется он) не предоставляет.

Читать данные с графика - это самый неудачный вариант получения данных. Его разумно использовать только если алгоритм вывода линий, на основании которых строится логика, неизвестен.
В остальных случая проще и, главное, быстрее, надежней, получить данные через CreateDataSource (если используются дискретные свечи) и рассчитать алгоритмом некие значения. В этом случае вся информация известна изначально.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Нет, так сделать нельзя. Можно получить информацию только с того графика, на который этот индикатор выведен.
В  документации, файл "Интерпретатор языка Lua", раздел "Функции и  глобальные переменные скрипта индикатора" описаны все доступные методы в  индикаторе и список функций, доступных из контекста индикатора.
Можно попробовать добавить метку на график с нужным текстом и считать данные. Но тогда графики должны быть уникальными.
Обновление пользовательской таблицы/окна
 
Цитата
nikolz написал:
Посмотрите Выше мое сообщение от 29.12.2022 20:34:14 относительно Вашего теста.
Он работает без проблем.
Если что-то не так, то выложите скрипт для теста проверю еще раз.
Я уже все выложил. Даже видео работы записал. Разработчики его увидели. Зачем мне что-то еще доказывать для Вас. Вы говорите что нет проблем, у меня же тот же скрипт на чистом демо квике выдает обратное. Себе я верю больше.
Тем более, что Вы видоизменили процесс вывода, убрав подсветку, убрав заполнение значения в ячейку, оставив только его представление.
Если разработчики скажут, что у нас есть проблема с выводом числовых значений, то да.
Обновление пользовательской таблицы/окна
 
Цитата
Владимир написал:
Alexander, Проблема В СКРИПТЕ! У всех данные прекрасно обновляются, а у Вас нет. Квик тот же, скрипты - разные. Точка.
Не у всех. Проблема в особенностях скрипта. Скрипт может быть корректным, но будет воспроизводиться проблема. Переписав скрипт по-другому, проблема уйдет.
Но это не отменяет факт разного поведения в разных темах, различиях в поведении в зависимости от места вызова SetSell. Впрочем, с Вами спорить бесполезно. Тестовые скрипты уже были предоставлены, поддержка написала "Проблема изучается" и "Будет исправлена" https://forum.quik.ru/messages/forum10/message49120/topic3777/#message49120.

Я решил вопрос для светлой темы. Кто-то так и не смог из-за особенностей их скриптов.
Обновление пользовательской таблицы/окна
 
Пять аргументов передается если тип колонки таблицы число.

Вы я  приводил простейший пример, приводящий к замедлению обновления таблицы  для светлой темы терминала. На темной теме тот же скрипт работает  плавно.
Уже давно добавил Highlite при выводе в светлой теме, т.к. ждать решения разработчиков долго. Ну и отказался от частых обновлений таблиц. Затратное это дело в терминале.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Посмотрел Вашу идею более внимательно. Не понял вот здесь "написать свой колбек на приход нового индекса" Вы говорите про исторические данные?
Да. Перебираем бары и когда надо перейти на новый индекс, вызывается функция.
Также это будет работать и для текущих данных. Так что код становится однотипным.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Мало найти общую т. для входа нужен универсальный  итератор.  
Я ничего не говорю про точки входа, алгоритмы и т.д. Я говорил про написание своего итератора (https://www.lua.org/pil/7.1.html) , позволяющего писать что-то типа такого:

while ds_list:Next() do

При этом у каждого ds в списке можно написать свой колбек на приход нового индекса. Тогда код становится еще более простой, в функциональном стиле.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Nikolay, Работает. Я написал небольшую утилиту, которая переводит исторические данные (тиковый массив) в секундные свечи - это и есть LAST, а "настоящие" свечи скрипт считает уже сам, раз в секунду опрашивая LAST из ТТТ, а в режиме работы по историческим данным получая его из очередной строки файла исторических данных. Там нет, конечно, BID/OFFER, но я их тупо приравниваю LAST. Вся остальная обработка одинакова для всех режимов.
Да, пока Вы это делали на том временном отрезке и только. А если это новый инструмент или данные 2008 года, то у Вас уже нет данных.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Завязывайте вы с этим кретинизмом, господа, и считайте свечи сами - это в миллион раз проще, быстрее, надёжнее, чем ковыряться "в этом во всём". Я это сделал почти сразу после первого же знакомства с Квиком, и ни разу об этом не пожалел.
Вопрос был про исторические данные, на которых ваша методика уже не работает, т.к. никаких LAST нет год назад. Отдельный вопрос целесообразности этого, но он не имеет отношения к техническому решению.
не закрывает вовремя позицию!
 
Судя по всему Вы в алгоритме используете индекс, как факт прихода нового бара. А он увеличивается не по времени, а при совершении первой сделки в новом временном интервале.
Поэтому новый бар может появится когда угодно, может даже не прийти вовсе, если сделок не будет.

Закрытие же бара - это цена последней сделки в временном интервале бара из таблицы обезличенных сделок. Можете отслеживать время сделки из ТОС, можете просто, при факте наступления нового интервала, принимать, что бар закрылся.
Т.е. надо переходить на контроль времени, а не появления нового индекса бара.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Я не использую данные с графиков, только потоки данных и расчет на них.
Да и спрятать можно все, написав свой итератор. Тогда вызов станет универсальным, простым в конечной точке вызова.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Алгоритм синхронизация разных ТФ достаточно прост.
Синхронизация идет по времени бара, т.к. время это общее что связывает ТФ.
Надо определить наименьший ТФ.
Далее есть точка отсчета как отметка времени. Необходимо установить младший ТФ и все старшие на эту начальную точку, т.е. найти тот индекс в каждом ТФ, который соответствует этой отметке.

Теперь необходим итератор по индексам младшего ТФ, от начальной точки.

Переходим на следующий индекс. Проверяем старшие ТФ: новая отметка времени требует увеличения индекса старшего ТФ? Если да, то увеличить.

Таким образом, на каждой итерации текущий индекс каждого ТФ будет  соответствовать текущему времени итерирования.


Для примера ТФ 1 мин, 5 минут.

Стартуем от 10:00.

Увеличиваем индекс ТФ1 на 1. Это будет 10:01. Для ТФ 5 минут все еще длится бар 10:00. Значит по нему увеличения индекса нет.
Так доходим до 10:05. В этот момент для ТФ 5 минут выполнится условие нового бара. Значит по нему увеличиваем индекс на 1.
QLua — Получить время возобновления торгов, "Старт торгов ... установлен с хх:хх:00 мск."
 
Цитата
Игорь М написал:
Причем здесь какой-то мой алгоритм? Подняли тему и я написал,что TRADINGSTATUS криво работал раньше, написал что проверю снова. Вот проверил, ничего не поменялось. Написал сюда, чтобы люди, которые будут потом читать, не тестировали заново. Резюмируя: TRADINGSTATUS - бесполезная мура, 10-15 секунд это перебор для любых систем. За эксклюзивную информацию о том, что "система торговли Квик - это не тот инструмент, что стоит использовать" для "мгновенной реакции", низкий поклон, конечно.  ::  

Вы же говорите, что задержка в 15 секунд для Вас критическая. Я пока не видел с этим проблем, для любых торговых систем. Совершенно разные мнения.
QLua — Получить время возобновления торгов, "Старт торгов ... установлен с хх:хх:00 мск."
 
Цитата
Игорь М написал:
Для информации: проверил снова за эти два дня, как были раньше неадекватные задержки, так и остались. Значения писались в лог при их изменении (SiU3):
140514.690: status: 1

Вчера статус на 11-ой секунде после возобновления торгов поменялся, а сегодня на 15-й.
Если Ваш алгоритм требует мгновенной реакции, то, видимо, стоит задуматься, что система торговли Квик - это не тот инструмент, что стоит использовать. Хотя, конечно, можно дополнить получение статуса косвенными методами. Получите статус по тому, какой сработает быстрее.
QLua — Получить время возобновления торгов, "Старт торгов ... установлен с хх:хх:00 мск."
 
Цитата
nikolz написал:
Определяете, что торги идут в принципе (был такой магазин )
Потом проверяете объем торгов по данному инструменту. Если ноль, то не торгуется.
Можете еще проверять наличие предложений. Если инструмент не торгуется то и предложений нет
Все косвенные методы не отвечают на вопрос о статусе торгов конкретного инструмента. То что торгуется Сбербанк, не значит что торгуется фьючерс.
То что торгуется один инструмент, не значит, что по другому нет стоп торгов. А по третьему планка и остановка торгов.
Так что если вопрос: узнать состояние торговой сессии по конкретному инструменту, то этот статус транслируется.
Все остальные методы косвенные, и не факт, что задержка будет не больше.
QLua — Получить время возобновления торгов, "Старт торгов ... установлен с хх:хх:00 мск."
 
Цитата
Kolossi написал:
Некоторые брокеры TRADINGPHASE вообще в терминал не транслируют.
Как и STATUS
QLua — Получить время возобновления торгов, "Старт торгов ... установлен с хх:хх:00 мск."
 
Цитата
Игорь М написал:
По поводу TRADINGSTATUS: Я когда-то тестировал его и, если не ошибаюсь, он криво работал. Он в 14:05:10 показывал 0, хотя торги уже 10 секунд шли, и лишь на 11-ой секунде он стал 1. Такая же история и с вечерней сессией. Надо в понедельник проверить снова.
Возможно. Но другого способа достоверно узнать, что сессия открыта, нет. Хотя, конечно, можно использовать косвенные способы, например - отправить транзакцию и посмотреть ответ. Но это просто пример экстремального способа.
Что касается изменения цены, то это, конечно, не даст ответ о состоянии сессии по инструменту, а просто покажет активность участников.
QLua — Получить время возобновления торгов, "Старт торгов ... установлен с хх:хх:00 мск."
 
Цитата
airat написал:
Здравствуйте,

18.08.2032 торги на срочном рынке FORTS после проведения дневной клиринговой сессии возобновились в 14:27:00.

Известен ли кому-нибудь способ получать информацию о "необычных" временах начала/возобновления торгов? Насколько я понял, доступа к таблице системных сообщений нет.
Здесь  предлагают использовать поле TRADINGSTATUS ответа getParamEx, но, судя по обсуждению, не до конца ясно, можно ли на него полагаться.

Есть ли другие варианты, в т.ч. костыльные?

Благодарю за ваши предложения.
Да, именно этот параметр даст состояние сессии. И он вполне корректно отработал в этот день, как в другие дни, когда статус торговой сессии по там или иным причинам по инструменту изменяется.
Задержка при зачислении бумаг
 
Цитата
Сергей С. написал:
Да, это реальный торговый счет. Сначала этот вопрос я адресовал брокеру. На что он сказал, что это проблемы на стороне клиента Квик. Брокер ФИНАМ. У других брокеров есть такая особенность первой сделки?
Клиент Квик не может приводить к задержкам, т.к. он клиент. Его задача просто получать данные с сервера брокера. Правда проверьте, что у Вас просто не установлен период получения данных. Иногда ставят период 10 секунд который задан по умолчанию, что и приведет к таким задержкам.

Проверить же можете просто. Пишите скрипт, фиксирующий в логе, сообщениях (не важно) время отправки транзакции, время прихода колбека о ордере, сделках и, главное, время прихода колбеков
OnDepoLimit или OnFuturesClientHolding. Сразу будет видно как сколько времени тратится на полный цикл.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Свою позицию Вы знаете. Размер лота и цену последней сделки получите из потока данных (условно Таблицы текущих торгов) через метод getParamEx.
В документации все методы qlua описаны.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Нет я про реальную цену контракта на рынке, чтоб рычаг считать.
Формализуйте термин "Реальная цена контракта". Есть цена в момент времени в валюте цены контракта. Если речь про это. В чем проблема ее получить?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Что то я совсем не могу понять, что средствами qlua нельзя получить стоимость контракта на fut?
Вы про какую стоимость спрашиваете? Про размер ГО, уплаченный по сделке или стоимость в в валюте цены?
Если про ГО, то это величина, рассчитываемая по формуле, зависящей от многих параметрах, спецификации контракта. На этом форуме уже обсуждалось и приводился пример такого метода.
Задержка при зачислении бумаг
 
Это Вы про реальный торговый счет спрашиваете? На демо счете ARQA это такая особенность. На реальных счетах разных брокеров особой задержки не наблюдал. Впрочем, от брокера зависит, конечно.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Nikolay, Да, похоже на явную опечатку, но ведь ни ACCOUNT, ни CLIENT_CODE, ни CLASSCODE вообще не нужны.
Я предпочитаю их задавать для целей контроля.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Думаю что просто опечатка, возможно здесь
CLASSCODE = ord.cllas_code

Как и ранее советую в проблемных местах выводить в лог аргументы, результаты. Тогда и будет видно структуру передаваемой таблицы.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 19 След.
Наверх