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

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/StockSharp/StockSharp/blob/master/Algo/Connector_ProcessMessage.cs#L302

Спасибо:

Den

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


Mikhail Sukhov:

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

https://github.com/StockSharp/StockSharp/blob/master/Algo/Connector_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.09=5935=A49=quik56=StockSharpTS52=20150804-16:01:42.53134=110=069
|FixServer |Сессия запущена.
Debug |FixServer |Сессия ''. Получено: 'FIX.4.49=9535=A49=quik56=StockSharpTS52=20150804-16:01:42.53134=198=0108=60141=Y553=quik554=quik10=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.09=5935=A49=quik56=StockSharpMD52=20150804-16:01:42.53134=110=047
|FixServer |Сессия запущена.
Debug |FixServer |Сессия ''. Получено: 'FIX.4.49=9535=A49=quik56=StockSharpMD52=20150804-16:01:42.53134=198=0108=60141=Y553=quik554=quik10=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.09=5935=A49=quik56=StockSharpTS52=20150811-17:15:25.90534=110=079 2015/08/11 20:15:25.908| |FixServer |Сессия запущена. 2015/08/11 20:15:25.908|Debug |FixServer |Сессия ''. Получено: 'FIX.4.49=9535=A49=quik56=StockSharpTS52=20150811-17:15:25.82734=198=0108=60141=Y553=quik554=quik10=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.09=5935=A49=quik56=StockSharpMD52=20150811-17:15:26.24934=110=059 2015/08/11 20:15:26.243| |FixServer |Сессия запущена. 2015/08/11 20:15:26.243|Debug |FixServer |Сессия ''. Получено: 'FIX.4.49=9535=A49=quik56=StockSharpMD52=20150811-17:15:25.82734=198=0108=60141=Y553=quik554=quik10=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.49=9535=A49=quik56=StockSharpTS52=20150811-17:15:25.82734=198=0108=60141=Y553=quik554=quik10=202^ 2015/08/11 20:15:25.930|Debug |FIX |To server: 8=FIX.4.49=9535=A49=quik56=StockSharpMD52=20150811-17:15:25.82734=198=0108=60141=Y553=quik554=quik10=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