S# 4.3.8 проблемы с Quik Lua (Samples\Quik\Sample)
Atom
31.07.2015


Den

Фотография
Уважаемые разработчики и коллеги!

Quik 6.16.1.15


Решил попробовать Quik с Lua.
Скачал релиз S# 4.3.8.

Взял info_lua.wnd из Samples\Quik\
Запустил в quik'e StockSharp.Quik.lua из References\

И запустил пример из Samples\Quik\Sample\

В логе вроде все прилично:

2015/07/31 16:13:45.839| |LuaServer |OnInit
2015/07/31 16:13:45.840| |FixServer |Server 0.0.0.0:5001 started.
2015/07/31 16:13:45.841| |FixServer |FixServer (outgoing) stopped.
2015/07/31 16:13:45.841| |FixServer |FixServer started.
2015/07/31 16:13:45.841| |LuaServer |OnInit done
2015/07/31 16:13:45.845| |LuaServer |Main
2015/07/31 16:14:35.285| |FixServer |Connected '127.0.0.1:1236' to '0.0.0.0:5001'.
2015/07/31 16:14:35.285| |FixServer |Received first byte from '127.0.0.1:1236'.
2015/07/31 16:14:35.285| |FixServer |From : Logon
2015/07/31 16:14:35.285| |FixServer |Клиент quik (127.0.0.1:1236) авторизован.
2015/07/31 16:14:35.285| |FixServer |Отправка Logon клиенту.
2015/07/31 16:14:35.285| |FixServer |Сессия запущена.
2015/07/31 16:14:35.290| |FixServer |Connected '127.0.0.1:1237' to '0.0.0.0:5001'.
2015/07/31 16:14:35.290| |FixServer |Received first byte from '127.0.0.1:1237'.
2015/07/31 16:14:35.290| |FixServer |From : Logon
2015/07/31 16:14:35.291| |FixServer |Клиент quik (127.0.0.1:1237) авторизован.
2015/07/31 16:14:35.291| |FixServer |Отправка Logon клиенту.
2015/07/31 16:14:35.291| |FixServer |Сессия запущена.

Но в примере, нет ни инструментов, ни сделок, ни заявок (все это присутствует в квике).
Проверял Verifier'ом - не ругается.

Но данные (инструменты, сделки, заявки) в пример не попадают.

Помогите, плиз, разобраться, что я делаю не так.

Или это баг?

Теги:


Спасибо:


< 1 2 3 4  >
Den

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


COBRA Перейти
ничего не понимаю то логи выводите, то в логах нет ничего

если не приходит событие NewPortfolios то и других событий не будет

сам не собираю


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

Код
                    Trader.NewPortfolios += portfolios =>
                    {
                        _portfoliosWindow.PortfolioGrid.Portfolios.AddRange(portfolios);
                         Console.WriteLine("Protfolios.....");
                    };
                    Trader.NewPositions += positions =>
                    {
                        _portfoliosWindow.PortfolioGrid.Positions.AddRange(positions);
                         Console.WriteLine("Positions.....");
                    };


т.е. Lua Server их посылает, а до трейдера они не доходят...
Спасибо:

COBRA

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


Den Перейти


т.е. Lua Server их посылает, а до трейдера они не доходят...


я уже писал у меня такое-же было пока брокера не поменял.

может это БАГ стокшарп с нестыковкой с сервером QUIK
(там же идет завязка с кодом клиента, обычно код клиента цифровой, а Цериха был с МАЛЕНЬКОЙ буквой
может быть поэтому стокшарп не формирует событие )

в samples.exe код клиента не учитывается, подключается по умолчанию. Это умолчание настраивается
где то в QUIK(наверно).
я анализирую еще и список доступных кодов клиента (portfolios.name).

бывает по умолчанию подключен не тот код клиента. тогда и событий не будет.

вообщем пробуй других брокеров. Или изучай настройки QUIK

кстати у меня тоже нет событий security (инструменты) если в имени инструмента есть маленькая буква
например Si5 у меня - нет событий, а RIH5 - есть. Такой же БАГ наверно и кодом клиента или настройкой
windows или .NET c преобразованием маленьких и больших букв (как версия)
Спасибо: Den

Mikhail Sukhov

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


Den Перейти
т.е. Lua Server их посылает, а до трейдера они не доходят...


https://github.com/Stock...r_ProcessMessage.cs#L302
Спасибо:

Den

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


Mikhail Sukhov Перейти
Den Перейти
т.е. Lua Server их посылает, а до трейдера они не доходят...


https://github.com/Stock...r_ProcessMessage.cs#L302


Сделал так:

Код

    public class MyQuikTrader : QuikTrader
	{
        protected override void OnProcessMessage(Message message)
        {
            if (message.Type != MessageTypes.Time)
                Console.WriteLine(message.Type);
            base.OnProcessMessage(message);
        }
    }

и использую его в sample.

НИ ОДНОГО сообщения отличного от Time не приходит.



В логах луа вижу:

|FixServer |Connected '127.0.0.1:2483' to '0.0.0.0:5001'.
|FixServer |Received first byte from '127.0.0.1:2483'.
|FixServer |From : Logon
|FixServer |Клиент quik (127.0.0.1:2483) авторизован.
|FixServer |Отправка Logon клиенту.
Debug |FixServer |To client quik (127.0.0.1:2483): 8=FIX.4.0^9=59^35=A^49=quik^56=StockSharpTS^52=20150804-16:01:42.531^34=1^10=069^
|FixServer |Сессия запущена.
Debug |FixServer |Сессия ''. Получено: 'FIX.4.4^9=95^35=A^49=quik^56=StockSharpTS^52=20150804-16:01:42.531^34=1^98=0^108=60^141=Y^553=quik^554=quik^10=189^'
|FixServer |Connected '127.0.0.1:2484' to '0.0.0.0:5001'.
|FixServer |Received first byte from '127.0.0.1:2484'.
|FixServer |From : Logon
|FixServer |Клиент quik (127.0.0.1:2484) авторизован.
|FixServer |Отправка Logon клиенту.
Debug |FixServer |To client quik (127.0.0.1:2484): 8=FIX.4.0^9=59^35=A^49=quik^56=StockSharpMD^52=20150804-16:01:42.531^34=1^10=047^
|FixServer |Сессия запущена.
Debug |FixServer |Сессия ''. Получено: 'FIX.4.4^9=95^35=A^49=quik^56=StockSharpMD^52=20150804-16:01:42.531^34=1^98=0^108=60^141=Y^553=quik^554=quik^10=167^'


Debug |LuaServer |Out. Position,T(L)=0001.01.01 00:00:00.000,Sec=S#:SiU5@FORT................
Debug |LuaServer |Out. PositionChange,T(L)=0001.01.01 00:00:00.000,T(S)=2015.0
Debug |LuaServer |OnFutPos done
Debug |LuaServer |OnFutLimit
Debug |LuaServer |Out. Portfolio,T(L)=0001.01.01 00:00:00.000,Name=...........................
Debug |LuaServer |Out. PortfolioChange,T(L)=0001.01.01 00:00:00.000,T(S)=2015.
Debug |LuaServer |OnFutLimit done


Уважаемый Михаил,

мне кажется не правильным, что sample не работает out-of-the box для одного из самых крупных брокеров (БКС).

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

Mikhail Sukhov

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


Den Перейти

мне кажется не правильным, что sample не работает out-of-the box для одного из самых крупных брокеров (БКС).


Думаю, что тут виноваты настройки. ЧТо-то забыли, что-то не так сделали... Приведите логи под дебаг сервера и клиента. Я их гляну и смогу сказать, виноваты ли настройки или стокшарп.

Den Перейти

Выше коллега писал, что есть зависимость от маленьких и больших букв в имени клиента.
Где это используется в коде, как настроить?


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

Den

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


Mikhail Sukhov Перейти
Den Перейти

мне кажется не правильным, что sample не работает out-of-the box для одного из самых крупных брокеров (БКС).


Думаю, что тут виноваты настройки. ЧТо-то забыли, что-то не так сделали... Приведите логи под дебаг сервера и клиента. Я их гляну и смогу сказать, виноваты ли настройки или стокшарп.


А может быть проблема в том, что я компилляю sample под .Net 4.5.2?
Спасибо:

Mikhail Sukhov

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


Den Перейти

А может быть проблема в том, что я компилляю sample под .Net 4.5.2?


Подобные вопросы только в саппорт. Я же могу ответить по разработке - ошибка коннектора или ваша.
Спасибо:

Den

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


Mikhail Sukhov Перейти
Den Перейти

А может быть проблема в том, что я компилляю sample под .Net 4.5.2?


Подобные вопросы только в саппорт. Я же могу ответить по разработке - ошибка коннектора или ваша.


Уважаемый, Михаил,
прилагаю логи, как Вы просили.

StockSharp.QuikLua.log

2015/08/11 20:15:12.105| |LuaServer |OnInit
2015/08/11 20:15:12.116| |FixServer |Server 0.0.0.0:5001 started.
2015/08/11 20:15:12.118| |FixServer |FixServer (outgoing) stopped.
2015/08/11 20:15:12.118| |FixServer |FixServer started.
2015/08/11 20:15:12.119| |LuaServer |OnInit done
2015/08/11 20:15:12.124| |LuaServer |Main
2015/08/11 20:15:25.830| |FixServer |Connected '127.0.0.1:1179' to '0.0.0.0:5001'.
2015/08/11 20:15:25.833| |FixServer |Received first byte from '127.0.0.1:1179'.
2015/08/11 20:15:25.837| |FixServer |From : Logon
2015/08/11 20:15:25.845| |FixServer |Клиент quik (127.0.0.1:1179) авторизован.
2015/08/11 20:15:25.901| |FixServer |Отправка Logon клиенту.
2015/08/11 20:15:25.908|Debug |FixServer |To client quik (127.0.0.1:1179): 8=FIX.4.0^9=59^35=A^49=quik^56=StockSharpTS^52=20150811-17:15:25.905^34=1^10=079^
2015/08/11 20:15:25.908| |FixServer |Сессия запущена.
2015/08/11 20:15:25.908|Debug |FixServer |Сессия ''. Получено: 'FIX.4.4^9=95^35=A^49=quik^56=StockSharpTS^52=20150811-17:15:25.827^34=1^98=0^108=60^141=Y^553=quik^554=quik^10=202^'
2015/08/11 20:15:26.236| |FixServer |Connected '127.0.0.1:1180' to '0.0.0.0:5001'.
2015/08/11 20:15:26.236| |FixServer |Received first byte from '127.0.0.1:1180'.
2015/08/11 20:15:26.237| |FixServer |From : Logon
2015/08/11 20:15:26.237| |FixServer |Клиент quik (127.0.0.1:1180) авторизован.
2015/08/11 20:15:26.243| |FixServer |Отправка Logon клиенту.
2015/08/11 20:15:26.243|Debug |FixServer |To client quik (127.0.0.1:1180): 8=FIX.4.0^9=59^35=A^49=quik^56=StockSharpMD^52=20150811-17:15:26.249^34=1^10=059^
2015/08/11 20:15:26.243| |FixServer |Сессия запущена.
2015/08/11 20:15:26.243|Debug |FixServer |Сессия ''. Получено: 'FIX.4.4^9=95^35=A^49=quik^56=StockSharpMD^52=20150811-17:15:25.827^34=1^98=0^108=60^141=Y^553=quik^554=quik^10=180^'
2015/08/11 20:15:48.890|Debug |LuaServer |OnParam
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam
2015/08/11 20:15:48.896|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam done
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam
2015/08/11 20:15:48.902|Debug |LuaServer |OnParam done

Дальше куча таких же строк и еще куча таких:

2015/08/11 20:15:51.031|Debug |LuaServer |OnAllTrade done
2015/08/11 20:15:51.031|Debug |LuaServer |OnAllTrade

quik_logs.txt:

0001/01/01 00:00:00.000| |QuikTrader|Connect
2015/08/11 20:15:25.888|Debug |FIX |To server: 8=FIX.4.4^9=95^35=A^49=quik^56=StockSharpTS^52=20150811-17:15:25.827^34=1^98=0^108=60^141=Y^553=quik^554=quik^10=202^
2015/08/11 20:15:25.930|Debug |FIX |To server: 8=FIX.4.4^9=95^35=A^49=quik^56=StockSharpMD^52=20150811-17:15:25.827^34=1^98=0^108=60^141=Y^553=quik^554=quik^10=180^


А вот потом, через пару минут, я нажал в Sample дисконнект и появилась инфа, проясняющая, кое-что:

2015/08/11 20:17:39.000| |QuikTrader|Disconnect
2015/08/11 20:17:39.000|Warning|QuikTrader|Невозможно отключиться, так как подключение находится в состоянии Connecting.
2015/08/11 20:17:59.212| |QuikTrader|Connect
2015/08/11 20:17:59.212|Warning|QuikTrader|Невозможно подключиться, так как подключение находится в состоянии Connecting.


Т.е. почему-то подключение не завершилось и висит в стадии Connecting.

Что можно с этим сделать и куда копать?






Спасибо:

Mikhail Sukhov

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


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

COBRA

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


во последнем логе нет самого главного инфы про портфолио
типа
Debug |LuaServer |Out. Position,T(L)=0001.01.01 00:00:00.000,Sec=S#:SiU5@FORT................
Debug |LuaServer |Out. PositionChange,T(L)=0001.01.01 00:00:00.000,T(S)=2015.0
Debug |LuaServer |OnFutPos done
Debug |LuaServer |OnFutLimit
Debug |LuaServer |Out. Portfolio,T(L)=0001.01.01 00:00:00.000,Name=...........................
Debug |LuaServer |Out. PortfolioChange,T(L)=0001.01.01 00:00:00.000,T(S)=2015.
Debug |LuaServer |OnFutLimit done

поэтому у вас все висит в состоянии Connecting
есть или нет инфа про портфолио?
Спасибо:
< 1 2 3 4  >

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

loading
clippy