Новый коннектор к Quik
Atom Ответить
09.07.2014


Мы сделали новый коннектор к Quik. Доступен начиная с версии 4.2.4.0

Коннектор обраладет следующими преимуществами:

1. Быстрее скорость транспортировки данных.
2. Значительно упрощена настройка таблиц в Quik (все колонки по умолчанию, нужно просто открыть таблицы в терминале, без дополнительных каких-либо настроек).
3. Возможность подключаться удаленно к Quik.
4. Робот может быть скомпилирован под 64 бита.

Подробнее, о настроках и миграции.

Коннектор сделан с использование протокола FIX 4.4. Поэтому появилась новая возможность - подключение к Quik не из StockSharp программ. Если у вас есть код или готовая программа, использующая FIX, то вы можете попробовать подключиться к Quik терминалу через FIX протокол.

Давайте попробуем данный тип подключения, и отпишемся здесь о своих замечаниях. А к осени воздадим почет DDE+Trans2Quik как самой старой технологии, и первому коннектору в S#. И отправим на заслуженный покой.

Теги:


Спасибо: Николай_Флёров




162 Ответов
<< < 3 4 5 6 7  >
Andrii

Фотография
Дата: 02.10.2014
Ответить


Михаил Сухов Перейти
Andrii Перейти

к чему это сказано?


К тому, что Lua не опирается на разметку таблиц (wnd)

стоп, это понятно, но так же было сказано, что все таблицы должны быть открыты, верно?
в целом и делал переход на луа из-за простоты настроек, верификацию проходит, все ок
но сегодня выполнил обновление quik до 6.15.0.122 и все, верификация не работает...
хорошо, что копия была старой 6.14 версии, копируем - работает, обновляем - нет. Вот такой нежданчик сегодня получил, хорошо, что не было открытых позиций, а то было бы вообще жуть.

так как твитера нет - решил просто поделился здесь
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.10.2014
Ответить


Andrii Перейти

но сегодня выполнил обновление quik до 6.15.0.122 и все, верификация не работает...
хорошо, что копия была старой 6.14 версии, копируем - работает, обновляем - нет. Вот такой нежданчик сегодня получил, хорошо, что не было открытых позиций, а то было бы вообще жуть.


http://quik.ru/forum/lua/121572/121572/ я не сотрудник Арки. Пишите им претензии. Я то что могу сделать?
Автор топика
Спасибо:

RomSunZ

Фотография
Программист
Дата: 02.10.2014
Ответить


esper Перейти
RomSunZ Перейти
А подскажите, почему трейдер LUA не возвращает статус заявки (null)?

Код

Order order = connector.Orders.FirstOrDefault(o => o.Id == oid);


Как воспроизвести?


Вот так:

Код

public void bla-bla-bla(string id, IConnector connector)
{
 Order order = connector.Orders.FirstOrDefault(o => o.Id == id);
//после этого order.status=null, на вход подается quiktrader с подключение через LUA
}
//В стратегии:
protected override void OnStarted()
{
            this.OrderRegistered += order =>
                {
//тут тоже order.Status == null
                };
}
Спасибо:

Enfernuz

Фотография
Дата: 06.10.2014
Ответить


Добрый день!

Я тут новичок, поэтому прошу сильно тапками не бить :)

Поясните, пожалуйста, по утверждению "Текущая версия Quik Lua коннектора не поддерживает работу со стоп-заявками и получение истории изменений."

Если со стоп-заявками понятно, то на что влияет история изменений? Ну, то есть, чего я без неё не могу делать/видеть?
И да, когда планируется наладить работу со стоп-заявками?

P.S. Спасибо за то, что вы делаете. Мне, как программисту, ваш проект понравился, в отличие от TS Lab и TradeMatic -- в плане возможностей, поддержки, документации :)
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 06.10.2014
Ответить


Enfernuz Перейти
"Текущая версия Quik Lua коннектора не поддерживает работу со стоп-заявками"


Уже поддерживаем. Вот было бы интересно их проверить, так как внесени недавно.
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 07.10.2014
Ответить


RomSunZ Перейти
Вот так:

Код

public void bla-bla-bla(string id, IConnector connector)
{
 Order order = connector.Orders.FirstOrDefault(o => o.Id == id);
//после этого order.status=null, на вход подается quiktrader с подключение через LUA
}
//В стратегии:
protected override void OnStarted()
{
            this.OrderRegistered += order =>
                {
//тут тоже order.Status == null
                };
}

В Lua коннекторе поле Status не транслируется, используется только State. Для чего оно необходимо?
Спасибо:

Enfernuz

Фотография
Дата: 07.10.2014
Ответить


Михаил Сухов Перейти
Enfernuz Перейти
"Текущая версия Quik Lua коннектора не поддерживает работу со стоп-заявками"


Уже поддерживаем. Вот было бы интересно их проверить, так как внесени недавно.


Это хорошо.

А что насчёт исторических данных? Я так понял, это значит, что через коннектор алгоритм не может запрашивать у QUIK данные (свечки) по предыдущим торговым сессиям, и, тем самым, при запуске алгоритма в боевом режиме [пока] нет возможности рассчитать какие-то параметры по прошлым данным (к примеру, суммарный объём сделок за конкретный период до начала работы алгоритма)?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 07.10.2014
Ответить


Enfernuz Перейти



Сначала стопы, затем история.
Автор топика
Спасибо:

RomSunZ

Фотография
Программист
Дата: 08.10.2014
Ответить


esper Перейти
RomSunZ Перейти
Вот так:

Код

public void bla-bla-bla(string id, IConnector connector)
{
 Order order = connector.Orders.FirstOrDefault(o => o.Id == id);
//после этого order.status=null, на вход подается quiktrader с подключение через LUA
}
//В стратегии:
protected override void OnStarted()
{
            this.OrderRegistered += order =>
                {
//тут тоже order.Status == null
                };
}

В Lua коннекторе поле Status не транслируется, используется только State. Для чего оно необходимо?


У меня используется для восстановления состояния стратегии (подгружать только исполненные или активные заявки, подключать котирование к активным и т.п.). А т.к. в Квике state=Done для все заявок, независимо от того, отменена она или исполнена, то по-другому проверить состояние заявки не получается, и в этом случае логичнее транслировать не state, а status.
Спасибо:

RomSunZ

Фотография
Программист
Дата: 09.10.2014
Ответить


А еще было-бы здорово, если в свойствах инструмента тоже добавили его текущий статус (колонка "Статус" в таблице "Инструменты"), чтобы не заморачиваться со свойством Security.Board.WorkingTime и последующими приведениями временных зон, проверками попадает ли текущее время в торгуемое и т.п. Там-то сразу указано торгуется этот инструмент или нет.
Спасибо:

longtrades

Фотография
Дата: 19.10.2014
Ответить


У меня вот такая проблема с коннектором Луа, подключаюсь к квику , регистрирую стакан фьюча, все ок, начинаю регистрировать стаканы опционов ( около 20 инструментов), квик зависает на глухо.
квик 6.15.1.17 , стокшарп 4.2.31

По логу такое впечатление что после регистрации стакана идет перезагрузка всех трейдов полностью.
Спасибо:

RomSunZ

Фотография
Программист
Дата: 20.10.2014
Ответить


В 4.2.30 Security.LastTrade.Time = Security.LastChangeTime, хотя первое должно считаться по последней сделке, а второе по последней сделке или последнему изменению стакана, сейчас оба значения меняются по изменению стакана
Спасибо:

longtrades

Фотография
Дата: 03.11.2014
Ответить


Скажите, пожалуйста, нормальной ли является такай ситуация :

Открыл два квика , с темже аккаунтом для торговли, к одному подключился по ДДЕ и совершаю там сделки , к другому подключился по Луа , в другом вижу сделки что совершаю в первом через ДДе , но вот робот который подключен через Луа этих сделок не видит ? почему ? что нужно изменить в коде что-бы видел ?

trader.SupportManualOrders = true; включено.
Спасибо:

longtrades

Фотография
Дата: 03.11.2014
Ответить


Оказывается через Луа я вообще не видел никаких сделок из квика , после откытия таблицы всех сделок сделки в программе подключенной через луа пошли .
Закрываю таблицу всех сделок , в Луа сделки перестают идти :(

Вопрос : неужели чтобы коннектор луа видел сделки нужно открывать таблицу всех сделок ?

Своих сделок я так и не увидел..
Спасибо:

RomSunZ

Фотография
Программист
Дата: 09.11.2014
Ответить


Версия 4.2.35 ошибка при котировании:
Цитата:

17:08:51.865|Error |S_SBER@TQBR_10097|Заявка 61532105 (0x2D61DCD) не была отменена по причине System.InvalidOperationException: Ошибка снятия заявки 703072745. Текст ' ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".'..
17:08:51.865|Debug |S_SBER@TQBR_10097|Правило 'Ошибка снятия заявки 61532105/703072745 (0x3EE6409)'. Активация.
17:08:51.865|Error |PS_SBER@TQBR_10097|Заявка 61532110 (0x152F52F) не была зарегистрирована по причине ' ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".'.
17:08:51.865|Error |S_SBER@TQBR_10097|Заявка 61532110 (0x152F52F) не была зарегистрирована по причине ' ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".'.
17:08:51.865|Debug |S_SBER@TQBR_10097|Правило 'Ошибка регистрации заявки 61532110/ (0x3231231)'. Активация.
17:08:51.865|Error |S_SBER@TQBR_10097|Заявка 61532110 (0x152F52F) не была зарегистрирована по причине ' ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".'.
17:08:51.865| |S_SBER@TQBR_10097|Текущее кол-во ошибок 1. Максимальное 100.


LUA:

Цитата:

2014/11/09 17:08:51.452|Debug |Quik |Out. Execution,T(L)=2014.11.09 17:08:51.452,(Tick),Sec=S#:VTBR@TQBR, Native:,Type:,Ord=0/0/0,Fail=,TId=419465230,Pf=,TPrice=0.041,UId=,OPrice=0,Volume=645
2014/11/09 17:08:51.452|Debug |None |OnAllTrade done
2014/11/09 17:08:51.455|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|From client 8=FIX.4.49=18035=G34=11249=quik52=20141109-11:08:51.87056=StockSharpTS1=1009711=6153211037=70307274538=040=241=6153210544=76.7255=SBER60=20141109-17:08:51.862167=CS207=TQBR461=E10=225
2014/11/09 17:08:51.456| |#=qaBez6xggl2OPiHwxjqwmKg==|From client quik: OrderCancelReplaceRequest
2014/11/09 17:08:51.456|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|From client 8=FIX.4.49=18035=G34=11349=quik52=20141109-11:08:51.87156=StockSharpTS1=1009711=6153211137=70307274638=040=241=6153210744=76.7255=SBER60=20141109-17:08:51.863167=CS207=TQBR461=E10=232
2014/11/09 17:08:51.456| |#=qaBez6xggl2OPiHwxjqwmKg==|From client quik: OrderCancelReplaceRequest
2014/11/09 17:08:51.456|Debug |Quik |In. OrderReplace,T(L)=2014.11.09 17:08:51.456,Sec=S#:SBER@TQBR, Native:,Type:Stock,TransId=635511382840369034,Price=76.72,Side=Buy,OrdType=Limit,Vol=0,Sec=S#:SBER@TQBR, Native:,Type:Stock,OldTransId=635511382840369031,OldOrdId=703072745,NewTransId=635511382840369034
2014/11/09 17:08:51.456|Debug |Quik |In. OrderReplace,T(L)=2014.11.09 17:08:51.456,Sec=S#:SBER@TQBR, Native:,Type:Stock,TransId=635511382840369035,Price=76.72,Side=Buy,OrdType=Limit,Vol=0,Sec=S#:SBER@TQBR, Native:,Type:Stock,OldTransId=635511382840369033,OldOrdId=703072746,NewTransId=635511382840369035
2014/11/09 17:08:51.456| |None |SendTransaction: t = {}
t["ACTION"] = "MOVE_ORDERS"
t["CLASSCODE"] = "TQBR"
t["SECCODE"] = "SBER"
t["MODE"] = "0"
t["FIRST_ORDER_NUMBER"] = "703072745"
t["FIRST_ORDER_NEW_PRICE"] = "76.72"
t["FIRST_ORDER_NEW_QUANTITY"] = "0"
t["TRANS_ID"] = "61532110"
return sendTransaction(t)

2014/11/09 17:08:51.456| |None |Result: Указанная транзакция по указанному классу не найдена: "TQBR".
2014/11/09 17:08:51.456|Debug |Quik |Out. Execution,T(L)=2014.11.09 17:08:51.456,(Order),Sec=S#:@, Native:,Type:,Ord=0/0/635511382840369034,Fail=System.Exception: Указанная транзакция по указанному классу не найдена: "TQBR".,TId=0,Pf=,TPrice=0,UId=61532110,Price=0,Volume=0
2014/11/09 17:08:51.456| |None |SendTransaction: t = {}
t["ACTION"] = "MOVE_ORDERS"
t["CLASSCODE"] = "TQBR"
t["SECCODE"] = "SBER"
t["MODE"] = "0"
t["FIRST_ORDER_NUMBER"] = "703072746"
t["FIRST_ORDER_NEW_PRICE"] = "76.72"
t["FIRST_ORDER_NEW_QUANTITY"] = "0"
t["TRANS_ID"] = "61532111"
return sendTransaction(t)

2014/11/09 17:08:51.456| |None |Result: Указанная транзакция по указанному классу не найдена: "TQBR".
2014/11/09 17:08:51.456|Debug |Quik |Out. Execution,T(L)=2014.11.09 17:08:51.456,(Order),Sec=S#:@, Native:,Type:,Ord=0/0/635511382840369035,Fail=System.Exception: Указанная транзакция по указанному классу не найдена: "TQBR".,TId=0,Pf=,TPrice=0,UId=61532111,Price=0,Volume=0
2014/11/09 17:08:51.456|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|Sending to 127.0.0.1:10924: 8=FIX.4.49=19835=934=25649=quik52=20141109-11:08:51.87256=StockSharpTS37=70307274539=841=6153211058= ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".60=00010101-00:00:00.000102=99434=110=053
2014/11/09 17:08:51.456|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|Sending to 127.0.0.1:10924: 8=FIX.4.49=23635=834=25749=quik52=20141109-11:08:51.87256=StockSharpTS1=11=014=037=038=039=840=241=6153211044=054=155=58= ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".59=160=00010101-00:00:00.000150=8151=0207=10=024
2014/11/09 17:08:51.457|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|Sending to 127.0.0.1:10924: 8=FIX.4.49=19835=934=25849=quik52=20141109-11:08:51.87256=StockSharpTS37=70307274639=841=6153211158= ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".60=00010101-00:00:00.000102=99434=110=057
2014/11/09 17:08:51.457|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|Sending to 127.0.0.1:10924: 8=FIX.4.49=23635=834=25949=quik52=20141109-11:08:51.87256=StockSharpTS1=11=014=037=038=039=840=241=6153211144=054=155=58= ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".59=160=00010101-00:00:00.000150=8151=0207=10=027
2014/11/09 17:08:52.422|Debug |None |OnParam
2014/11/09 17:08:52.423|Debug |Quik |Out. Level1Change,T(L)=2014.11.09 17:08:52.423,T(S)=0001.01.01 00:00:00.000,Sec=S#:GAZP@TQBR, Native:,Type:,Changes=[PriceStep, 0.01],[BestBidPrice, 152.16],[BestAskPrice, 152.26],[ClosePrice, 150],[LastTradePrice, 152.25]
2014/11/09 17:08:52.423|Debug |None |OnParam done

Спасибо:

sazon

Фотография
Дата: 10.11.2014
Ответить


Здравствуйте. Решил воспользоваться новым коннектором для скачивания свечных данных и столкнулся с проблемой. Во-первых, происходит дублирование свечей в сериях, которые приходят в "CandleManager.Processing". Во-вторых, свечи на один и тот же временной отрезок в каждой серии отличаются как минимум объемом, и с каждой новой серией эта величина увеличивается, и ,в конце концов, после нескольких повторений объем принимает свое окончательное верное значение. Мне кажется это поведение некорректным. Можно ведь сразу все свечи, которые уже прошли, выдавать в конечном виде и не повторять их каждый раз.
Спасибо:

esper

Фотография
Программист
Дата: 10.11.2014
Ответить


RomSunZ Перейти
Версия 4.2.35 ошибка при котировании:

Как временное решение можно сделать ExchangeBoard.MicexTqbr.IsSupportAtomicReRegister = false
Спасибо:

esper

Фотография
Программист
Дата: 10.11.2014
Ответить


sazon Перейти
Здравствуйте. Решил воспользоваться новым коннектором для скачивания свечных данных и столкнулся с проблемой. Во-первых, происходит дублирование свечей в сериях, которые приходят в "CandleManager.Processing". Во-вторых, свечи на один и тот же временной отрезок в каждой серии отличаются как минимум объемом, и с каждой новой серией эта величина увеличивается, и ,в конце концов, после нескольких повторений объем принимает свое окончательное верное значение. Мне кажется это поведение некорректным. Можно ведь сразу все свечи, которые уже прошли, выдавать в конечном виде и не повторять их каждый раз.


Что-то ничего не понял, ни по описанию, ни по логам.
Спасибо:

sazon

Фотография
Дата: 10.11.2014
Ответить


esper Перейти
sazon Перейти
Здравствуйте. Решил воспользоваться новым коннектором для скачивания свечных данных и столкнулся с проблемой. Во-первых, происходит дублирование свечей в сериях, которые приходят в "CandleManager.Processing". Во-вторых, свечи на один и тот же временной отрезок в каждой серии отличаются как минимум объемом, и с каждой новой серией эта величина увеличивается, и ,в конце концов, после нескольких повторений объем принимает свое окончательное верное значение. Мне кажется это поведение некорректным. Можно ведь сразу все свечи, которые уже прошли, выдавать в конечном виде и не повторять их каждый раз.


Что-то ничего не понял, ни по описанию, ни по логам.

Вот, что я получаю в обработчике свечного менеджера:

11/10/2014 10:00:00;101000;101000;101000;101000;0
11/10/2014 10:00:00;101000;101000;101000;101000;2
11/10/2014 10:00:00;101000;101000;101000;101000;4
11/10/2014 10:00:00;101000;101000;101000;101000;5
11/10/2014 10:00:00;101000;101000;101000;101000;6
11/10/2014 10:00:00;101000;101000;101000;101000;10
11/10/2014 10:00:00;101000;101000;101000;101000;11
11/10/2014 10:00:00;101000;101000;101000;101000;12
11/10/2014 10:00:00;101000;101000;101000;101000;13
11/10/2014 10:00:00;101000;101000;101000;101000;14
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;101000;101000;101000;0
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;101000;101000;101000;1
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;101000;101000;101000;2
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;101000;101000;101000;3
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;101010;101000;101010;4
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;101010;101000;101010;5
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;101010;101000;101010;7
11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;101020;101000;101020;8

Как мы видим, у нас происходит постоянное наращивание объема свечи , например, с временем "11/10/2014 10:00:00". В какой-то момент, после очередного срабатывание обработчика я получаю значение окончательное "11/10/2014 10:00:00;101000;101000;101000;101000;15".

( ...
11/10/2014 10:00:00;101000;101000;101000;101000;11
11/10/2014 10:00:00;101000;101000;101000;101000;12
11/10/2014 10:00:00;101000;101000;101000;101000;13
11/10/2014 10:00:00;101000;101000;101000;101000;14
11/10/2014 10:00:00;101000;101000;101000;101000;15
...
)

Затем начинается аналогичный процесс для следующей свечи с временем 11/10/2014 10:00:01...Почему сразу нельзя выдать всю серию так:

11/10/2014 10:00:00;101000;101000;101000;101000;15
11/10/2014 10:01:00;101000;102000;100800;102000;1343
11/10/2014 10:02:00;101770;102020;101760;101910;567
...
,без дублирования. Или это такая задумка? Черт с ним, с дублированием, зачем выдавать свечи с каким-то промежуточным значением объема. Конечно, это все можно обойти, но разве это логично. Могу Скинуть код.
Спасибо:

esper

Фотография
Программист
Дата: 10.11.2014
Ответить


Нет никакого дублирования, свечка меняется и вы получаете каждое изменение. Здесь.
Спасибо: sazon

sazon

Фотография
Дата: 10.11.2014
Ответить


esper Перейти
Нет никакого дублирования, свечка меняется и вы получаете каждое изменение. Здесь.

Тогда понятно. Спасибо.
Спасибо:

RomSunZ

Фотография
Программист
Дата: 10.11.2014
Ответить


Вот еще проблема более серьезная:
В примере sample добавляем для открытия орддера котированием
Код

            var quoting = new MarketQuotingStrategy(Sides.Buy, 1)
            {
                Security = SecurityPicker.SelectedSecurity,
                Portfolio = pf,
                WaitAllTrades = true,
                Connector = MainWindow.Instance.Trader,
                Volume = 1,
                PriceType = MarketPriceTypes.Following,//.Opposite,//.Middle,//
                LogLevel = LogLevels.Debug,
                PriceOffset = 1,
                BestPriceOffset = 3,
            };
            quoting.Start();

В результате работы в систему выставляются "неэффективные" ордера с нулевым объемом:
Код

20:17:02.352|       |QuikTrader|Инструмент GZZ4@FORTS зарегистрирован на получение рыночных данных для MarketDepth.
20:17:02.403|       |QuikTrader|RegisterOrder: 0/ Покупка Цена=14595 Объем=1 Сост=None Бал=0 
20:17:02.403|       |QuikTrader|New order: 72980119/ Покупка Цена=14595 Объем=1 Сост=Pending Бал=1 
20:17:02.808|       |QuikTrader|Order changed: 72980119/2500263988 Покупка Цена=14595 Объем=1 Сост=Active Бал=1 
20:17:02.809|       |QuikTrader|Order changed: 72980119/2500263988 Покупка Цена=14595 Объем=1 Сост=Active Бал=1 
20:17:34.654|       |QuikTrader|New order: 72980122/ Покупка Цена=14599 Объем=0 Сост=Pending Бал=0 
20:17:35.001|       |QuikTrader|Order changed: 72980119/2500263988 Покупка Цена=14595 Объем=1 Сост=Done Бал=1 
20:17:35.001|       |QuikTrader|Order changed: 72980122/2500265916 Покупка Цена=14599 Объем=1 Сост=Active Бал=1 
20:17:35.002|       |QuikTrader|Order changed: 72980122/2500265916 Покупка Цена=14599 Объем=1 Сост=Active Бал=1 
20:17:36.301|       |QuikTrader|New order: 72980123/ Покупка Цена=14607 Объем=0 Сост=Pending Бал=0 
20:17:36.587|       |QuikTrader|Order changed: 72980122/2500265916 Покупка Цена=14599 Объем=1 Сост=Done Бал=1 
20:17:36.588|       |QuikTrader|Order changed: 72980123/2500266028 Покупка Цена=14607 Объем=1 Сост=Done Бал=0 


В приложении лог MQS и LUA.
Спасибо:

esper

Фотография
Программист
Дата: 11.11.2014
Ответить


RomSunZ Перейти
В результате работы в систему выставляются "неэффективные" ордера с нулевым объемом:

Не вижу здесь ни одной ошибки.
Спасибо:

RomSunZ

Фотография
Программист
Дата: 11.11.2014
Ответить


esper Перейти
RomSunZ Перейти
В результате работы в систему выставляются "неэффективные" ордера с нулевым объемом:

Не вижу здесь ни одной ошибки.


А это:
Код

Лог трейдера:
20:17:36.301|       |QuikTrader|New order: 72980123/ Покупка Цена=14607 Объем=0 Сост=Pending Бал=0 

лог ЛУА:
2014/11/10 20:17:36.026|Debug  |#=qaBez6xggl2OPiHwxjqwmKg==|From client 8=FIX.4.49=18735=G34=749=quik52=20141110-14:17:36.30556=StockSharpTS1=SPBFUT0009711=7298012337=250026591638=040=241=7298012244=1460755=GZZ460=20141110-20:17:36.302167=FUT207=FORTS461=F10=053
2014/11/10 20:17:36.026|       |#=qaBez6xggl2OPiHwxjqwmKg==|From client quik: OrderCancelReplaceRequest
2014/11/10 20:17:36.026|Debug  |Quik      |In. OrderReplace,T(L)=2014.11.10 20:17:36.026,Sec=S#:GZZ4@FORTS, Native:,Type:Future,TransId=635512397476400279,Price=14607,Side=Buy,OrdType=Limit,Vol=0,Sec=S#:GZZ4@FORTS, Native:,Type:Future,OldTransId=635512397476400278,OldOrdId=2500265916,NewTransId=635512397476400279
2014/11/10 20:17:36.026|       |None      |SendTransaction: t = {}
t["ACTION"] = "MOVE_ORDERS"
t["CLASSCODE"] = "SPBFUT"
t["SECCODE"] = "GZZ4"
t["MODE"] = "0"
t["FIRST_ORDER_NUMBER"] = "2500265916"
t["FIRST_ORDER_NEW_PRICE"] = "14607"
t["FIRST_ORDER_NEW_QUANTITY"] = "0"
t["TRANS_ID"] = "72980123"
return sendTransaction(t)


зачем в систему выставляется заявка с нулевым объемом или это нормально?
Спасибо:

longtrades

Фотография
Дата: 15.12.2014
Ответить


Здравствуйте,

скачал последнюю версию дистрибутива, пример Quik Sample, подключаюсь через Lua -- нету ни одной сделки. Level1 и стаканы идут, только сделки не транслируются.
Открываю таблицу всех сделок в квик -- сделки начинають транслироватся .
Теперь в Sample --> MainWindow исправляю:
Trader.NewSecurities += securities => {
foreach (var sec in securities)
Trader.RegisterTrades(sec);
_securitiesWindow.SecurityPicker.Securities.AddRange(securities);
};

Тоесть хочу получать все сделки по всем инструментам, причем и в заказе всех сделок и в таблице всех сделок выбираю только фьюч и опционы на индекс РТС.
Стартую сампле --> Quik тупо зависает...

Прошу проверить.

Спасибо.
Спасибо:
<< < 3 4 5 6 7  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy