Михаил Филимонов (Все сообщения пользователя)

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

Страницы: 1 2 3 След.
Пара вопросов Lua trans2quik и два счёта
 
Цитата
Павел Bosco написал:
Немного лень тестить самому и хочется чуть пообщаться.
Всё хочу сделать отправку транзакций через Lua. Сейчас у меня отдельно стоящий робот общается с lua через pipe, но заявки шлёт через trans2quik. Знаю что trans2quik тоже через pipe работает.
недавно перешел с 32 bit на 64 bit, вроде никаких проблем, всё "бесшовно".
у кого есть опыт интеграции без trans2quik, даёт ли это какой-то выигрыш в скорости?

ещё мне казалось что всякая заявка из lua будет отображаться в окне сообщений, подобно тому как там отображаются сообщения по заявкам поставленным вручную, так ли это?

и третий вопрос из пары. пробовал ли кто-нибудь отправлять одновременно две заявки в одной строке в trans2quik, по одному инструменту но двум счетам (в одном терминале, одно физлицо) - будет ли это работать?
опять же чуток лень самому программить, плюс нет тестового полигона под рукой, может кто-то уже делал?

сейчас когда отправляю две заявки по разным счетам друг за другом, то вижу что они иногда выставляются на заметном расстоянии по номеру друг от друга, т.е. между ними могут влезть ещё 10 заявок. хотелось бы этого избежать.
1. думается, что выйгрыша в скорости не будет
2. Не знаю
3. Используйте ассинхронную отправку ордеров (в одной строке не получится отправить 2 ордера)
Время исполнения ордеров на ФОРТС и Фондовой секциях
 
Цитата
Imersio Arrigo написал:
Цитата
Михаил Филимонов написал:
Я предоставил свои данные, что бы что-то доказать, покажите Ваши.
Ну, что и требовалось доказать
Вы ктверждали, что OnTrade быстрее OnOrder , я говорил, что почти одинаково
У Вас в таблицах время OnOr der = OnTrade
На этом можно закончить!
Время исполнения ордеров на ФОРТС и Фондовой секциях
 
Цитата
Imersio Arrigo написал:
Цитата
Михаил Филимонов написал:
Не имеет значения (onOrder и onTrade) пробовал так и так - разницы почти нет,
Да сколько можно говорить, по onOrder нельзя понять время исполнения! Потому что реальное время исполнения и время вызова колбека - разное!!!
Да, в хороших условиях оно близкое, но фактически время вызова и время сделки - это разное время.

Измерять время выставлена-исполнена можно только по соотв.полям в таблице заявок и таблице сделок. Ну или время в стуктуре сделки, которая приехала в вызове onTrade.
Только разница этих отметок времени имеет смысл. И только потому что это время проставляет биржа.
Поэтому я и говорю что нужен скриншот таблиц (как вариант конечно подойдет и текстовый вывод их же) где видно номера заявок, сделок и время выставления и исполнения. в т.ч. в мкс.
Зачем так "распинаться"?
Ваши умозаключения - просто набор фраз, я пробовал на реале - практически нет разницы onOrder и onTrade.
Я предоставил свои данные, что бы что-то доказать, покажите Ваши.
Время исполнения ордеров на ФОРТС и Фондовой секциях
 
Цитата
Imersio Arrigo написал:
Цитата
Михаил Филимонов написал:
Т.е ордер должен исполнится мгновенно
Бгг. Кто-то тут мне только что говорил что "ордер не может исполнится мгновенно" когда я предложил такую ситуацию )))

Еще раз: время между чем и чем вы замеряете? Между возвратом из onOrder и onTrade?
Больше делать нечего, как цепляться к словам?
Не имеет значения (onOrder и onTrade) пробовал так и так - разницы почти нет,
но использую OnOrder.  
импорт транзакций, Время исполнения
 
Цитата
Imersio Arrigo написал:
Цитата
Не, зачем это мне. Я только советы на форуме раздаю. Бесплатные.

Еще раз: скриншоты таблиц с ценами на которых видна описываемая ситуация?
Без них продолжать дискурс считаю бессмысленным.
Я не сохранил скрины полностью таблиц.
Фьючерс выставлялся лимитником (т.е цена не могла изменится).
outStr:= 'ACCOUNT=' + ExpData.FutAccaunt + '; TYPE=L; TRANS_ID=' + id +
          '; CLASSCODE=' + ExpData.FutData.ClassCode + '; SECCODE=' +
          ExpData.FutData.SecCode + '; ACTION=NEW_ORDER; OPERATION=' + s +
          '; EXECUTION_CONDITION=KILL_BALANCE' + '; PRICE=' + FloatToStr(price) +
          '; QUANTITY=' + FloatToStr(Qnty) + ';';
Время исполнения ордеров на ФОРТС и Фондовой секциях
 
Цитата
Egor Zaytsev написал:
Цитата
Михаил Филимонов написал:
 
Цитата
Egor Zaytsev  написал:
Выше или ниже? Если все таки выше, то все верно на фондовом будет быстрее заключаться сделки.  
Добрый день!
На фондовой секции (у моего брокера Открытие) нет рыночных ордеров.
Поэтому я отсылаю лимитный ордер, цена которого формируется так:
Если покутка, то SellPrice(из стакана минимальная) + 10 * шаг цены, и для продажи
BuyPrice(из стакана максимальная) - 10 * шаг цены.
Т.е ордер должен исполнится мгновенно
Время исполнения ордеров на ФОРТС и Фондовой секциях
 
Цитата
Egor Zaytsev написал:
Добрый день.

Михаил, здесь нужно понимать, что вы имеете ввиду под "время исполнения ордеров".
Речь идет о регистрации заявки или заключении сделки? Если первое, то опишите подробней, каким образом вы получили данные цифры и конечно в этом случае лучше обратиться к брокеру. Если второе, то как уже написали выше - возможно из-за ликвидности на рынке.  
Добрый день, Егор!
Если бы вопрос стоял о выставлении ордера, то я бы написал "время исполнения"
Конечно речь идет о сделках.
Ликвидность фондового рынка в разы выше срочного....
Trans2QuikAPI перестает работать после снятия неактивной заявки
 
Да и вообще, через месяц ГОД будет с последнего изменения вообще во всем разделе
"Утилиты и документация"
импорт транзакций, Время исполнения
 
Цитата
Imersio Arrigo написал:
Цитата
Михаил Филимонов написал:
Если посмотреть время выставления ордеров (ассинхронные ордера) и время их исполнения, то из этих данныхвообще ничго понять не возможно (время одинаковое)
Заявки рыночные? (Или по цене сильно хуже стакана?)
Если да, то нормально, что выставленная заявка была мгновенно исполнена. не?

Покажите эти же таблицы, но где видно цену заявки.

И эта, время ответа колбека, в общем случае, не равно времени выставления/исполнения.
Т.е. заявка может быть исполнена мгновенно, а колбек вызван через полсекунды.

Это происходит потому что время выставления/исполнения выставляется биржей, а вызов колбека зависит от потока которым присылает сервер квик в термниал, и от того насколько собственно терминал тормозит.
Вы хоть когда-нибудь торговали?
Что значит мгновенно? Так вообще не бывает да же на FIX, Plaza II и пр.
Не фантазируйте, пожалуйста!
Время исполнения ордеров на ФОРТС и Фондовой секциях
 
Добрый день!

Скажите, уважаемые разработчики, почему время исполнения ордеров на ФОРТС в разы меньше, чем на Фондовой секции?
Ордер SRH9 отправлен: 15.02.19 20:30:12
Ордер SRH9 исполнился: 15.02.19 20:30:12 (62 мс)
Ордер SBER отправлен: 15.02.19 20:30:12
Ордер SBER исполнился: 15.02.19 20:30:13 (562 мс)

Ордер SRH9 отправлен: 15.02.19 20:30:13
Ордер SRH9 исполнился: 15.02.19 20:30:13 (250 мс)
Ордер SBER отправлен: 15.02.19 20:30:13
Ордер SBER исполнился: 15.02.19 20:30:14 (561 мс)

Ордер SRH9 отправлен: 15.02.19 20:30:14
Ордер SRH9 исполнился: 15.02.19 20:30:14 (125 мс)
Ордер SBER отправлен: 15.02.19 20:30:14
Ордер SBER исполнился: 15.02.19 20:30:15 (749 мс)

Ордер SRH9 отправлен: 15.02.19 20:30:16
Ордер SRH9 исполнился: 15.02.19 20:30:16 (124 мс)
Ордер SBER отправлен: 15.02.19 20:30:16
Ордер SBER исполнился: 15.02.19 20:30:17 (999 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:23
Ордер SRH9 исполнился: 15.02.19 20:31:23 (125 мс)
Ордер SBER отправлен: 15.02.19 20:31:23
Ордер SBER исполнился: 15.02.19 20:31:24 (1560 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:27
Ордер SRH9 исполнился: 15.02.19 20:31:27 (109 мс)
Ордер SBER отправлен: 15.02.19 20:31:27
Ордер SBER исполнился: 15.02.19 20:31:28 (1014 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:29
Ордер SRH9 исполнился: 15.02.19 20:31:29 (187 мс)
Ордер SBER отправлен: 15.02.19 20:31:29
Ордер SBER исполнился: 15.02.19 20:31:30 (1202 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:31
Ордер SRH9 исполнился: 15.02.19 20:31:31 (202 мс)
Ордер SBER отправлен: 15.02.19 20:31:31
Ордер SBER исполнился: 15.02.19 20:31:32 (796 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:32
Ордер SRH9 исполнился: 15.02.19 20:31:33 (109 мс)
Ордер SBER отправлен: 15.02.19 20:31:33
Ордер SBER исполнился: 15.02.19 20:31:34 (1435 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:36
Ордер SRH9 исполнился: 15.02.19 20:31:36 (203 мс)
Ордер SBER отправлен: 15.02.19 20:31:36
Ордер SBER исполнился: 15.02.19 20:31:37 (437 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:41
Ордер SRH9 исполнился: 15.02.19 20:31:41 (125 мс)
Ордер SBER отправлен: 15.02.19 20:31:41
Ордер SBER исполнился: 15.02.19 20:31:42 (873 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:42
Ордер SRH9 исполнился: 15.02.19 20:31:42 (109 мс)
Ордер SBER отправлен: 15.02.19 20:31:42
Ордер SBER исполнился: 15.02.19 20:31:43 (687 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:51
Ордер SRH9 исполнился: 15.02.19 20:31:51 (140 мс)
Ордер SBER отправлен: 15.02.19 20:31:51
Ордер SBER исполнился: 15.02.19 20:31:51 (312 мс)

Ордер SRH9 отправлен: 15.02.19 20:31:56
Ордер SRH9 исполнился: 15.02.19 20:31:56 (109 мс)
Ордер SBER отправлен: 15.02.19 20:31:56
Ордер SBER исполнился: 15.02.19 20:31:57 (1186 мс)
импорт транзакций, Время исполнения
 
Цитата
Михаил Филимонов написал:
Цитата
Imersio Arrigo написал:
 
Цитата
Михаил Филимонов  написал:
4 не было OnTradeTransaction() многое изменилось
 Я понимаю )) поэтому и спрашиваю.
Неохота самому разбираться и пробовать.
*)*)
MT5
2019.02.07 12:12:59.299 Trades 'ххххх': buy limit 2.00 LKOH-9.19 at 54273
2019.02.07 12:12:59.308 Trades 'ххххх': accepted buy limit 2.00 LKOH-9.19 at 54273
2019.02.07 12:12:59.309 Trades 'ххххх': buy limit 2.00 LKOH-9.19 at 54273 placed for execution in 10.614 ms

Советник
Print(__FUNCTION__, " Ордер ", trans.order, " размещен за ", DoubleToString(NormalizeDouble(MathAbs((stop_time_test - start_time_test) /1000), 3)));

2019.02.07 12:12:59.316 FCS_Trader (LKOH-6.19,M1) OnTradeTransaction Ордер 99220131 размещен за 17.00000000
Сегодня попробовал сделать то же самое в КВИКе
Вот что получилось

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

Но самое интересное не в этом. У меня в Открывашке на реале стоит квик 7.19.0.51
Если посмотреть время выставления ордеров (ассинхронные ордера) и время их исполнения, то из этих данных
вообще ничго понять не возможно (время одинаковое)
Trans2QuikAPI перестает работать после снятия неактивной заявки
 
Цитата
DarlokAg написал:
Цитата
Уже месяц прошел, но проблема все еще актуальна. Когда ориентировочно ждать фикса проблемы?
Уже 5 месяцев прошло...
DDE и trans2quik.dll
 
Спасибо, разобрался.
Исправление ошибок в trans2quik.dll
 
Цитата
Alexey Ivannikov написал:
Цитата
Михаил Филимонов написал:
 
Цитата
Добрый день.

Во избежание недопонимания сразу поясним: не в ближайшем обновлении, а в одной из очередных версий. Как только такая версия выйдет - Вы будете уведомлены.
Добрый!
Спасибо, понятно.
импорт транзакций, Время исполнения
 
Цитата
новичок написал:
Цитата
Михаил Филимонов написал:
 
Цитата
новичок  написал:
 
Цитата
 Михаил Филимонов   написал:
   
вот именно!

пс: Мишаня, ты со мной примерно в одной временной линии, ткчт в зеркало глянь таки.
ппс: поменьше углеводов :))
Я, тебе хам, не Мишаня!
Поучи свою жену ЩИ варить, а я уж как-нибудь сам разбурусь куда мне
смотреть и что делать!
импорт транзакций, Время исполнения
 
Цитата
новичок написал:
Цитата
Михаил Филимонов написал:
 
Цитата
это выглядит как упоротость.

тебе говорят, что твой раундтрип до сервера около 10 мс

тебе говорят, что МТ пишет что-то, что не может происходить в реальности

адекватный технарь задумался бы, ты - машешь руками и брызгаешь слюнями

"выпей отвар их трав " (с)
Модераторы!
Немного странно, что Вы становитесь на сторону откровенного хама, удаляя сообщение одной из сторон.
Может быть Вам не нравятся не лестные отзывы о Вашем "детище"?
Исправление ошибок в trans2quik.dll
 
Вот, например, ответ Егора Зайцева, на найденую мной ошибку
"Добрый день,
     
     Действительно, в настоящее время терминал при получении подписки       от Trans2QUIK на получение заявок и сделок не проверяет валидность       указанных в подписке кодов классов и инструментов.
     Данная ошибка не может привести ни к каким серьёзным последствиям       и  будет исправлена в одной из очередных версий ПО.
     
     Приносим извинения за причиненные неудобства."
Исправление ошибок в trans2quik.dll
 
Цитата
Alexey Ivannikov написал:
Цитата
Добрый день.

О каких именно ошибках идёт речь, можете уточнить?
Добрый!
О тех ошибках, которые описаны, здесь, на форуме, которые Вы сами признали
и обещали испраить в ближайшем билде (обновлении).
импорт транзакций, Время исполнения
 
Цитата
Imersio Arrigo написал:
Цитата
Михаил Филимонов написал:
4 не было OnTradeTransaction() многое изменилось
Я понимаю )) поэтому и спрашиваю.
Неохота самому разбираться и пробовать.
*)*)
MT5
2019.02.07 12:12:59.299 Trades 'ххххх': buy limit 2.00 LKOH-9.19 at 54273
2019.02.07 12:12:59.308 Trades 'ххххх': accepted buy limit 2.00 LKOH-9.19 at 54273
2019.02.07 12:12:59.309 Trades 'ххххх': buy limit 2.00 LKOH-9.19 at 54273 placed for execution in 10.614 ms

Советник
Print(__FUNCTION__, " Ордер ", trans.order, " размещен за ", DoubleToString(NormalizeDouble(MathAbs((stop_time_test - start_time_test) /1000), 3)));

2019.02.07 12:12:59.316 FCS_Trader (LKOH-6.19,M1) OnTradeTransaction Ордер 99220131 размещен за 17.00000000
импорт транзакций, Время исполнения
 
Цитата
Imersio Arrigo написал:
Цитата
в 4. Но понятие о работе асинхронных вызовов имею.
в 4 не было OnTradeTransaction() многое изменилось...
импорт транзакций, Время исполнения
 
Цитата
Imersio Arrigo написал:
Цитата
Михаил Филимонов написал:
А что это Вам даст?
Понять хочу как ведётся замер.
в этом куске не вижу строк выдающих логи:
Цитата
Михаил Филимонов написал:
2019.02.06 18:27:25.902 Trades 'xxxxx': cancel order #99190769 sell limit 1.00 SNGR-6.19 at 285212019.02.06 18:27:25.908 Trades 'xxxxx': accepted cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521
я нехочу наехать или оскорбить, я хочу лишь понять.
Просто воплей о том что МТ работает супер быстро миллион а по факту оказывается что люди замеряют время возврата из OrderSendAsync :)

Забегая вперёд, хочу сказать что раунд-трип это не просто время ответа сервера. Это время маршрута тернимал-сервер-биржа-сервер-терминал.
И 7 мс мне кажутся очень подозрительными.
Если Вы программировали в МТ5 (тогда будет понятен смысл моих слов), то лично для Вас (из принципа) могу сделать коректный замер.
Т.е сделаю GetMicrosecondCount(); перед отправкой ассинхронного ордера, и GetMicrosecondCount(); когда придет ответ от cервера
в OnTradeTransaction(). Я раньше это делал (у меня получалось 5-9 мс)
импорт транзакций, Время исполнения
 
Цитата
Imersio Arrigo написал:
Цитата
Михаил Филимонов написал:
А что это Вам даст?
Понять хочу как ведётся замер.
в этом куске не вижу строк выдающих логи:
Цитата
Михаил Филимонов написал:
2019.02.06 18:27:25.902 Trades 'xxxxx': cancel order #99190769 sell limit 1.00 SNGR-6.19 at 285212019.02.06 18:27:25.908 Trades 'xxxxx': accepted cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521
я нехочу наехать или оскорбить, я хочу лишь понять.
Просто воплей о том что МТ работает супер быстро миллион а по факту оказывается что люди замеряют время возврата из OrderSendAsync :)

Забегая вперёд, хочу сказать что раунд-трип это не просто время ответа сервера. Это время маршрута тернимал-сервер-биржа-сервер-терминал.
И 7 мс мне кажутся очень подозрительными.
Да вообще по-барабану сколько мс 7-15 мс.
Я вообще не собирался что-то доказывать и измерять.
Просто к слову сказал, то что я сам вижу в обоих терминалах.
На мой взляд МТ5 работает гораздо быстрее, но он имеет очень много
"своих" недостатков (н-р только фьючерсы). К слову будет сказано, что лично
у меня больше претензий имеено к МТ5 нежели к квик, но последний (как платформа для роботов) ....
импорт транзакций, Время исполнения
 
Цитата
s_mike@rambler.ru написал:
не принимайте на веру циферки, что вам рисует метатрейдер. Они означают другое, чем вы думаете.
Что Вы хотите сказать (доказать)?
Что одна глюкавка лучше другой?
Мне ничего рассазывать (доказывать) не нужно я и программирую и торгую (на реале) в обоих
терминалах не один год. И как они работаю мне прекрано известно.
импорт транзакций, Время исполнения
 
И он спрашивал не про МТ5, а про КВИК
импорт транзакций, Время исполнения
 
Цитата
s_mike@rambler.ru написал:
Цитата
Михаил Филимонов написал:
 
Цитата
новичок  написал:
   пинг до сервера замерял? :)  
 
ну и как при этом может получиться отправка сигнала, обработка его на сервере и обратный возврат ответа за 7 миллисекунд?
Ну, а как пинг до роутера 1 мс?
Исправление ошибок в trans2quik.dll
 
Цитата
Alexey Ivannikov написал:
Цитата
Михаил Филимонов написал:
Добрый день.

Мы не оглашаем свои планы по срокам выпуска новых версий того или иного ПО, такова политика Компании.
Тогда вопрос прозвучит так:
А в какой срок собираетесь исправить ошибки?
импорт транзакций, Время исполнения
 
Цитата
Александр Копяткевич написал:
Здравствуйте, Михаил Филимонов.
Загрузить изображение можно перенеся файл изображение в поле под полем ввода сообщения.
Спасибо
импорт транзакций, Время исполнения
 
Цитата
новичок написал:
Цитата
пинг до сервера замерял? :)  
импорт транзакций, Время исполнения
 
Цитата
Imersio Arrigo написал:
Цитата
Приложите соответствующий тому логу кусок кода?
Можно в личку

А что это Вам даст?

//+------------------------------------------------------------------+
//| Place order                                                      |
//+------------------------------------------------------------------+
void COrder::Place(const double price, const double volume, const bool buy_sell)
{
 MqlTradeRequest request = {0};
 MqlTradeResult  result  = {0};
 ticket = 0;
 req_id = 0;
 mem_magic = magic_storage + 1;
 check_count = 0;
 if(magic_storage >= (magic_number + 65530)) mem_magic = magic_number;
//--- Fill structure
 request.action = TRADE_ACTION_PENDING;
 request.magic  = mem_magic;
 request.symbol = a_symbol;
 request.volume = volume;
 request.price  = price;
 if(buy_sell)
 {
   request.type = ORDER_TYPE_BUY_LIMIT;
 }
 else
 {
   request.type = ORDER_TYPE_SELL_LIMIT;
 }
 request.comment = "Отложенный ордер...";      
 request.type_filling = ORDER_FILLING_RETURN;
 request.type_time = ORDER_TIME_DAY;
//--- Send order
 if(OrderSendAsync(request, result) == true)
 {
   if((result.retcode == TRADE_RETCODE_PLACED) || (result.retcode == TRADE_RETCODE_DONE))
   {
     req_id = result.request_id;
     magic_storage = mem_magic;
     state = ORD_DO_SET;
     mem_time = GetMicrosecondCount();
     mem_start_time = TimeCurrent();
     SetTransCount();
   }
   else
   {
     mem_magic = 0;
     mem_time = 0;
     mem_start_time = 0;
     CheckError(result.retcode, "Place: Ордер не установлен! Причина: ", order_status, ticket);
   }
 }
 else
 {
   mem_magic = 0;
   mem_time = 0;
   mem_start_time = 0;
   CheckError(result.retcode, "Place: Ордер не отослан! Причина: ", order_status, ticket);
 }
}
импорт транзакций, Время исполнения
 
Цитата
s_mike@rambler.ru написал:
Михаил.

выше уже писали про замер пинга до сервера. Вряд ли время пинга будет 6 миллисекунд, если вы не медью с сервером соединены )

померьте и сделайте вывод.
У меня нет нужды сравнивать Квик с МТ5 - вывод очевиден (оба оставляют желать лучшего).
Но с точки зрения создания торговых роботов второй на несколько порядков выше первого, да и скорость
исполнения торговых приказов во втором гораздо выше.
Но ни в первом, ни во втором невозможно КАЧЕСТВЕННО торговать роботами на MOEX
Приходится из г...на шарики катать :)

P.S как на этом сайте вставить изображение?
Trans2Quik + Lua - нормально ли?
 
Цитата
Михаил Ершов написал:
Здравствуйте, вижу что очень популярно использовать Lua скрипт в квике
для экспорта данных в свои приложения, написанные на некотором языке - C++, C#, Python ...
Такой вопрос, можно ли технически в паре с Lua скриптом использовать trans2quik для заявок из программы,
а Lua - для поступления торговых данных?

Сталкиваюсь с проблемой иногда что в Lua не приходят транзакции с номером заявки,
хотя они выставляются, они теряются из виду у робота и т.д. Посоветовали trans2quik как "прямой API" к квику,
типа такой проблемы не будет, поэтому думаю попробовать его
если это нормальная и не устаревшая технология?
Михаил.
Как Вы тестируете, то, что написано на LUA?
Если текст срипта составляет 50-100 строк, то это как-то можно "пережить", отправляя сообщения,
а если 8000 строк, , да ещё если на 1 инструмент а 50, то как тестировать будете?
Исправление ошибок в trans2quik.dll
 
Уважаемые разработчики!

Понятно, что точный срок обновления trans2quik.dll невозможно огласить, но
хотелось бы знать ВАШИ планы по срокам выхода обновления.
импорт транзакций, Время исполнения
 
Цитата
s_mike@rambler.ru написал:
Цитата
8 мсек в метатрейдере - это время постановки транзакции в очередь на отправку от терминала к серверу. Транзакция ещё находится  у вас в терминале ожидает отправки, а управление снова отдано скрипту.
Не нужно фантазировать. В МТ5, 8 мс - это с момента время отправки транзакци  + время получения ответа от сервера:

Реал

2019.02.06 18:27:25.902 Trades 'xxxxx': cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521
2019.02.06 18:27:25.908 Trades 'xxxxx': accepted cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521
2019.02.06 18:27:25.909 Trades 'xxxxx': cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521 placed for execution in 7.386 ms
100% Открытие сделок, через *. tri файл, Импорт заявок по текущим ценам
 
Цитата
Алексей написал:
Цитата
Egor Zaytsev написал:
 
Цитата
Алексей  написал:
 
Цитата
 новичок   написал:
   
Цитата
TYPE  
Тип заявки, необязательный параметр. Значения: «L» – лимитированная (по умолчанию), «M» – рыночная
   
  По рыночной Quik не принимает заявки почему-то  
 Добрый день.
Просьба сообщить подробности. Если возникает ошибка, то просьба ее сообщить, также выложите текст транзакции, которую подаете через tri файл.
 CLASSCODE=TQBR;SECCODE=MTLR;ACTION=NEW_ORDER;ACCOUNT=L01-00000F00;CLIENT_CODE=187000;TYPE=M;OPERATION=B;QUANTITY=1;PRICE=80,7;TRANS_ID=10;

Не уже ли, может быть такое ограничение?  
     
Я звонил в Открывашку по этому вопросу.
Ответ:
"Рыночные заявки по фондовому рынку запрещены во избежании манипуляций на рынке"
:)
Оказывается это мы, маленькие частные инвесторы, двигаем рынок!  
QUIK Junior
 
Уважаемые разработчики!

"Почините" котировки в фондовой секции.
Например:
Шаг цены акции Роснефти - 0,05, а у Вас в стакане огромное кол-во котировок
не кратных шагу цены.
импорт транзакций, Время исполнения
 
Цитата
Алексей Смирнов написал:
Здравствуйте.
В каком случае время выполнения транзакции меньше: методом Trans2QuikAPI либо  используя текстовые файлы .tri, .tro, trr?
У меня ассинронная отправка ордеров через Trans2QuikAPI, посылая первый приказ, ожидается ответ и по приходу ответа
совершается вторая сделка. Интернет 100 Мб. Брокер - Открывашка
Задержка между сделками - 250 - 300 мс (для сравнения , с этого же компьютера, в МТ5 - 7-8 мс)
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
 
Цитата

К сожалению сейчас нет полного описания возможных кодов ошибок pnExtendedErrorCode.
ранее мы уже обсуждали эту проблему  https://forum.quik.ru/messages/forum8/message35147/topic4112/#message35147
А что из исходного кода Trans2quik.dll нельзя просто, ПОКА, скопировать существующие ошибки?
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
 
Вы, Павел, вероятно не ВСЁ читаете...

Вопрос не в том как коннектится, а что делать, если пришло RANS2QUIK_DLL_DISCONNECTED
Я нашел, пока 2 ошибки
109 - терминал был закрыт
233 - запрещен импорт внешних транзакций
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
 
Принудительно закрыл терминал.
В TRANS2QUIK_CONNECTION_STATUS_CALLBACK,
TRANS2QUIK_DLL_DISCONNECTED пришла ошибка 109

Техническая поддержка.
Каие варианты ещё возможны?
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
 
Добрый день!
Использую DDE + trans2quik.dll
Все нормально работает, но возник вопрос.
Установив коллбэк TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK,  
возможно получить в TRANS2QUIK_CONNECTION_STATUS_CALLBACK
следующие значения
TRANS2QUIK_DLL_DISCONNECTED
TRANS2QUIK_DLL_CONNECTED
TRANS2QUIK_QUIK_DISCONNECTED
TRANS2QUIK_QUIK_CONNECTED

А какие действия нужно предпринимать, получив эти сообщения?
Н-р:
TRANS2QUIK_DLL_DISCONNECTED - теряются ли коллбэки и другие настройки?
И т.д...
Какие сценарии возможны?
DDE и trans2quik.dll
 
Добрый день!

А не у кого небыло такой ситуации:

Если данные просто выводятся из трёх таблиц (Фьючерсы, Акции и состояние счёта) по DDE, то всё ноормально (проверял 3 суток),
НО, если отдаются торговые ассинхронные приказы через trans2quik.dll, то иногда, DDE приёмник "падает" "invalid pointer operation"
TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE
 
Привет!
Кто-нибудь пользовался этой функцией (trans2quik.dll)
TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE ,
intptr_t
 
Привет!

Как в Delphi объявить intptr_t ???  
TRANS2QUIK_SUBSCRIBE_ORDERS ()
 
В API есть такая строка
LPTSTR TRANS2QUIK_API __stdcall TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE (TransactionReplyDescriptor tradeDescriptor);

tradeDescriptor - это ПРАВИЛЬНО?
TRANS2QUIK_SUBSCRIBE_ORDERS ()
 
Квик и так еле "ползает", а тут еще нужно делать массивы по 52 инструментам и "бегать" по ним - очень высокая скорость работы
получается!
TRANS2QUIK_SUBSCRIBE_ORDERS ()
 
Цитата
Sergey Gorokhov написал:
Цитата
Михаил Филимонов написал:
Нет, нельзя!
Что мешает создать массив, в котором хранить номера уже полученных сделок и при появлении очередной записи сравнивать ее номер с тем который в массиве?
А что мешало Вам сделать это в trans2quik.dll?  
TRANS2QUIK_SUBSCRIBE_ORDERS ()
 
Добавлено
Т.к собирается портфель акций, невозиожно использовать (чтобы уровнять "ноги")
KILL_BALANCE или FILL_OR_KILL
TRANS2QUIK_SUBSCRIBE_ORDERS ()
 
Цитата
Egor Zaytsev написал
Добрый день.
Можно различать по номеру сделки.
Нет, нельзя!
Дело в том, что на Фондовом рынке нельзя посылать Рыночные ордера, а только Лимитные.
И потому возникает следующая проблема (видел сам, делал логирование):
Посылая лимитный ордер большого объема, он (очень часто) исполняется не сразу, а частями,
совершая множество сделок.

И часто бывает, что в в TRANS2QUIK_TRADE_STATUS_CALLBACK приходят сообщения о ПЕРВОЙ сделке
не сразу (подряд), а в разбежку. Н-р

1. Сообщение о ПЕРВОЙ сделке(номер сделки 101)
2. Сообщение о второй сделке(номер сделки 102)
3. Сообщение о второй сделке(номер сделки 102)
4. Сообщение о второй сделке(номер сделки 102)
5. Сообщение о ПЕРВОЙ сделке(номер сделки 101)
6. Сообщение о ТРЕТЬЕЙ сделке(номер сделки 103)
7. Сообщение о ПЕРВОЙ сделке(номер сделки 101)

Каким образом мониторить сделки в таком случае???
TRANS2QUIK_SUBSCRIBE_ORDERS ()
 
Круто! (продолжение к TRANS2QUIK_TRADE_STATUS_CALLBACK)

Допустим я продал фьючерс, и покупаю акции на объём фьючерса, но
в стакане аций нет нужного объёма для совершения одной сделки (Совкршаются 2 сделки с одинаковым объёмом).

Мне,  в TRANS2QUIK_TRADE_STATUS_CALLBACK, придёт 6 сообщений!
Как я буду различать в этих сообщениях две разные сделки?  
TRANS2QUIK_SUBSCRIBE_ORDERS ()
 
Спасибо
Страницы: 1 2 3 След.
Наверх