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

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

Страницы: 1
Дневки не совпадают с биржей., Есть ли решение?
 
Добрый день.
Дневные бары имею немного другую форму нежели те, которые шлет в своем датафиде биржа.

Квик:



Биржа:



Причина понятна. Хотелось бы узнать, есть ли возможность добиться совпадения хоть каким-нибудь способом на клиентской стороне (настройки, скрипты и тд)?
Не приходят данные по обезличенным сделкам, версия 7.16.1.36, тестовый сервер
 
Sergey Gorokhov, SetEmptyCallback решил проблему. Спасибо.

Не ясно только, зачем нужна возможность редактировать список инструментов для заказа обезличенных сделок вручную? Он просто обновляется автоматически и мои изменения в нем ни на что не влияют.
Не приходят данные по обезличенным сделкам, версия 7.16.1.36, тестовый сервер
 
1. Ставлю настройки:

2. Создаю таблицу:

3. Данные приходят:

4. Закрывают таблицу, настройки данных сбрасываются, данные перестают приходить:


Проблема в том, что lua скрипты, запущенные в пустом терминале без таблиц, не получают событие OnAllTrade(). Как решить эту проблему? Если настроить получение обезличенных сделок, и запустить скрипт, не открывая таблицу (2), то колбек в lua скрипт также не прилетает. С открытой активной таблицей обезличенных сделок колбек в скрипт прилетает.

Настройки получения данных:


Скрипт для тестирования:
Код
local __stopped = false

function OnAllTrade(trade)
 PrintDbgStr("OnAllTrade()")
end

function OnStop(signal)
    __stopped = true
end

function main()
    while not __stopped do
        sleep(333)
    end
end
Но, похоже, проблема не только в lua, а затрагивает весь терминал.

Еще летом такой проблемы не наблюдалось.
Возможность реализации события on_idle()
 
Цитата
А чем вам не нравятся локальные часы?  
Либо сделать отдельно иконку часов прозрачную и повесить впереди всех.
Локальные часы я синхронизирую по серверу точного времени . погрешность при длительной синхронизации 10-100 мс.
Я использовал локальные часы. Субъективно не достаточно удобно для меня. Метки с ключевыми значениями висят на ласте. Поэтому и решил попробовать разрешить данную задачу.
Цитата
Давно ставил таймеры из IUPLUA.
Но мне привычнее  добавлять свои dll на основе API C for Lua.
Таким же способом обеспечиваю синхронизацию потоков, если надо.
Ради одних часов сомнительно притягивать космолет. Плюс деплоится все на боевой сервак с линаксом очень часто. Тут тоже не хотелось бы дополлнительного гемороя. Требования из первого поста пока не планируется менять.
Возможность реализации события on_idle()
 
Цитата
Николай  Камынин написал:
aidan1387   написал:
Возникла следующая задача: хочется на чарте видеть текущее локальное время.

Не очень понятно, как обеспечить его стабильное обновление, например, в клир, когда поток данных не такой плотный.

Есть  ли какая-то возможность сэмулировать ивент, который будет прилетать в  том же потоке через определенный промежуток времени, что и все остальные  ивенты во избежания гонки? Из main не хотелось бы апдейтить гуй, чтобы  не вылавливать потом не понятные хипкарапшены. Так же, необходимо  обойтись только средствами скрипта lua (без каких-либо сторонних  бинарей, данное требование нельзя отменить).

Может кто сталкивался, или разработчики что посоветуют?Много можно сделать вариантов.

Например,
1) в момент совершения сделки по любому ликвидному инструменту.
2) В момент обновления ТТП
3) В момент изменения стакана и т д
т е в момент вызова любого колбека.
----------------------
Кроме того можно добавить средствами луа таймер.
-------------------
Да, в момент вызова любого колбека - это понятно. Проблема, что не всегда эти колбеки есть. Хочется, чтобы часы тикали нормально, например, в клир. И на 100500 символов подписываться ради этого тоже не хочется. Интересно, как в вашей версии выглядит идея таймера стандартными средствами? Известные мне варианты мне не очень нравятся.

Цитата
swerg написал:
А какими средствами вы рисуете на чарте?
AddLabel(). По-моему, там нет больше вариантов. Сопутствующие - я имел ввиду, которые в гуе что-то меняют. Не обязательно на чарте. Думаю, что они все одинаковые проблемы могут иметь.

На самом деле, сейчас меня уже больше интересует вопрос о безопасности вызова функций, которые что-то в гуе меняют, из main(). Не с проста же колбеки в гуевом потоке. Я написал таймер через main(), и день вот уже апдейт метки по нему работает вместе с остальной логикой. Единственный по-ходу вариант без гемороя.
Возможность реализации события on_idle()
 
Я смотрю, в хелпе тут из main() massage() в качестве примера вызывается. На сколько безопасно будет вызвать там AddLabel() и сопутствующие функции?
Возможность реализации события on_idle()
 
Возникла следующая задача: хочется на чарте видеть текущее локальное время.

Не очень понятно, как обеспечить его стабильное обновление, например, в клир, когда поток данных не такой плотный.

Есть ли какая-то возможность сэмулировать ивент, который будет прилетать в том же потоке через определенный промежуток времени, что и все остальные ивенты во избежания гонки? Из main не хотелось бы апдейтить гуй, чтобы не вылавливать потом не понятные хипкарапшены. Так же, необходимо обойтись только средствами скрипта lua (без каких-либо сторонних бинарей, данное требование нельзя отменить).

Может кто сталкивался, или разработчики что посоветуют?
Дефолтные параметры стоп-заявки, Можно ли изменить дефолтные значения?
 
Понятно, спасибо. Попробую..
Дефолтные параметры стоп-заявки, Можно ли изменить дефолтные значения?
 


На данный момент интересуют конкретно 2 этих параметра. Необходимо, чтобы при открытии диалога для выставления стопа сразу были выбраны "стоп-лимит" и "до отмены". Запаривает каждый раз делать лишние клики.
Какая часть апдейтов попадает в бд из таблицы Qotes при выводе по ODBC?
 
Не очень понятна реализация механизма экспорта данных в бд. Мне необходимы для экспорта абсолютно все реалтаймовые квоты. Возможно, я хочу сделать это не через подходящую таблицу. Экспорт происходит по приходу каждой новой квоты? Что происходит, если приходит несколько квот, значения в таблице у которых одинаковые? Есть ли какое-то поле, которое уникально для каждой квоты?
Как вести разработку скриптов, когда сервер оффлаин?, Не понятно, как производить отладку.
 
Приветствую. Собственно, не очень понятно, как мне отлаживать свои скрипты после 00:00 часов и на выходных? Может быть есть какие-то тестовые сервера с доступом 24х7? У моего брокера абсолютно все сервера в это время выключены. Нужен какой-то реалтайм хотя бы.
Недоступны параметры для символов FORTS, Проблема с получением данных
 
Решило. Спасибо.
Недоступны параметры для символов FORTS, Проблема с получением данных
 
скрины


Брокер виноват? С тестового сервера эти параметры есть от этого же брокера. Или в настройках квика дело? Или баг?

Брокер - БКС.
Синхронизация состояния клиента TRANS2QUIK.dll с рабочим местом
 
Да, моя ошибка была в том, что я подумал, что у вас одинаковые примеры на всех языках.
Цитата

Мне может отписываться надо когда есть соединение?
В этом была проблема. Нельзя отписываться при отсутствии связи с сервером. Что естественно должно быть хоть как-то отражено в мануале. Теперь с 1.1 все работает.
Синхронизация состояния клиента TRANS2QUIK.dll с рабочим местом
 
Так, окей. Что вы подразумеваете под "после разрыва и установления связи, если отписать от заявок а потом подписаться и вызвать старт"? В вашем примере вы на старте приложения подписываетесь, на завершении - отписываетесь. Перезапуск приложения? Другого способа у вас там в примере нет. И, естественно, там без перезапуска ничего никуда не перезапрашивается.

Когда я перезапускаю свой клиент, мне при первом запросе история заявок и сделок тоже приходит. Но, это бесполезно в рамках вашего интерфейса. Я хочу понять, так должно быть, или я что-то делаю не так. Я пытаюсь у вас узнать контракт для работы с вашим интерфейсом. В какой момент он должен присылать мне историю? Только при первом вызове после старта нового процесса? Ни в хелпе, ни в примерах у вас это абсолютно никак не показано.
Синхронизация состояния клиента TRANS2QUIK.dll с рабочим местом
 
Цитата

Если произошел разрыв связи, то считаем что это форс мажор, то есть аварийная ситуация. А значит лучше всего отписаться и заказать все по новой.
Вот я и пытаюсь у вас узнать, как мне правильно это сделать через ваше апи. А вы мне отвечаете, что "да, это нужно сделать"... Я заказываю по новой после разрыва связи, и мне ничего не приходит. Это баг?
Цитата

Все существующие примеры поставляются вместе с библиотекой. Ссылка была приведена выше.
Если б там был рабочий пример касательно моего вопроса, я б тут не писал.
Цитата

Рекомендация обновить библиотеку никак не связана с описанной проблемой. Просто добрый совет, всегда использовать актуальные версии программ.
К сожалению, при современных тенденциях разработки ПО этот совет далеко не добрый. Новые не известные заранее баги - это дополнительные потери денег, которые мне ни к чему.
Синхронизация состояния клиента TRANS2QUIK.dll с рабочим местом
 
Спасибо за ответ. Напишу подробней, вижу, возникло недопонимание.
Код
void OnStart()
{
   API.TRANS2QUIK_SUBSCRIBE_ORDERS("", "");
   API.TRANS2QUIK_START_ORDERS(m_orderStatusCallback);
}

void OnDisconnect()
{
   API.TRANS2QUIK_UNSUBSCRIBE_ORDERS();
}

void OnReconnect()
{
   API.TRANS2QUIK_SUBSCRIBE_ORDERS("", "");
   API.TRANS2QUIK_START_ORDERS(m_orderStatusCallback);
}

Первый subscribe-start на старте клиента присылает мне всю историю за текущий день (Тут возникает еще вопрос: как получить историю более чем за день? Но, хотя бы с первым разобраться...). После повторной подписки при восстановлении соединения с рабочим местом мне история уже не приходит. Колбеки приходят только по новым заявкам. Как мне после переподключения получить историю? Мне может отписываться надо когда есть соединение? Или вообще отписываться не надо? Можно мне рабочий пример перезапроса без перезапуска моего приложения на псевдокоде хотя бы?

По поводу версии 1.1 и 1.2. Я смотрел интерфейсы и ченджлог. В 1.2 добавилось несколько бесполезных функций и все. По поводу каких-то фиксов не сказано ничего. 1.2 исправит мою проблему?
Синхронизация состояния клиента TRANS2QUIK.dll с рабочим местом
 
Здравствуйте.

Для отправки заявок использую свой .NET привод, использующий TRANS2QUIK.dll. Возник вопрос по поводу синхронизации информации о заявках и сделках с рабочим местом.

Главным образом меня интересует получение актуальной информации о позиции, так как из-за дисконнекта я могу пропустить часть коллбеков. Соответственно, стейт моего привода будет неактуальным. Два варианта, которые пришли на ум, не работают.

Первый - запросить текущий стейт у рабочего места. Но, функции запроса текущей позиции или списка заявок и сделок нет.

Второй. Пробовал махинации с переподпиской на заявки и сделки, чтобы получить весь список. Но в этом случае историю мне рабочее место присылает только после первой подписки с помощью TRANS2QUIK_SUBSCRIBE_ORDERS.

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

Спасибо.

Версия рабочего места: 6.16.1.15
Версия TRANS2QUIK.dll: 1.1
Страницы: 1
Наверх