Когда-то еще на сборке 4.12.20 успешно написал робота, и вроде бы не новичок в программировании на C# с использование библиотеки S#.
Но сейчас, после долгого перерыва работы со S#, не могу даже нормально заставить работать примеры в связке с Quik. То одна ошибка вылазит, то другая.
Настройку таблиц Квика открываю из сборки S#: StockSharp_4.3.13\Samples\Quik\info_lua.wnd
Запускаю проверку из Tools\VerifierPublic из S# (сборка 4.3.13). Нажимаю "проверить" и получаю сообщения:
Ошибка. Таблица все сделки. Окно не найдено.
Ошибка. Таблица заявки. Окно не найдено.
Ошибка. Таблица стоп-заявки. Окно не найдено.
Ошибка. Таблица мои сделки. Окно не найдено.
Ошибка. Таблица портфель по бумагам. Окно не найдено.
Ошибка. Таблица портфель по деривативам. Окно не найдено.
Ошибка. Таблица позиции по бумагам. Окно не найдено.
Ошибка. Таблица позиции по деривативам. Окно не найдено.
Хотя все эти окна в Квике открыты.
В StockSharp.QuikLua.log сообщения об ошибке типа:
2016/04/15 18:09:50.127|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
в System.IO.Stream.ReadByte()
в StockSharp.Fix.Native.BaseFixReader.ReadByte()
в StockSharp.Fix.Native.TextFixReader.ReadString()
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=q0YtWR8xddc5pKZiW8hz2XA==(IFixReader #=qOorF40kbUw5v5ERqKTTKgg==, Boolean #=qyzk0Wrs7K_mCdAnbX8eQs3rNFXBF$goJALOVLQI8SSw=, String #=qa7ctjrNjdLhGYt9kv6m68M4YD75v02cRPELMUIWgl_E=, ILogReceiver #=qwpDGcdSat6wSUY8AispMCA==, String #=q90aLTXETm57qF6inAuYd3A==, Func`3 #=qstBAGW8iNj3TzWpAQdhAUQ==, Action`1 #=qh0c7dFAaugN_JwXq2wk52Q==)
Может быть проблема в том что называются они немножко по другому? например:
"Таблица заявки", называется в кивке "таблица заявок";
"Таблица стоп-заявки", называется в кивке "Таблица стоп-заявок"
итп.
Полный лог StockSharp.QuikLua.log:
2016/04/15 18:04:43.538| |LuaServer |OnInit
2016/04/15 18:04:43.558| |FixServer |Server 0.0.0.0:5001 started.
2016/04/15 18:04:43.559| |FixServer |FixServer started.
2016/04/15 18:04:43.560| |LuaServer |OnInit done
2016/04/15 18:04:43.560| |FixServer |FixServer outgoing thread started.
2016/04/15 18:04:43.566| |LuaServer |Main
2016/04/15 18:09:49.036| |FixServer |Connected '127.0.0.1:41978' to '0.0.0.0:5001'.
2016/04/15 18:09:49.048| |FixServer |Received first byte from '127.0.0.1:41978'.
2016/04/15 18:09:49.068| |FixServer |From : Logon
2016/04/15 18:09:49.091| |FixServer |Клиент quik (127.0.0.1:41978) авторизован.
2016/04/15 18:09:49.095| |FixServer |Connected '127.0.0.1:41979' to '0.0.0.0:5001'.
2016/04/15 18:09:49.095| |FixServer |Received first byte from '127.0.0.1:41979'.
2016/04/15 18:09:49.095| |FixServer |From : Logon
2016/04/15 18:09:49.095| |FixServer |Клиент quik (127.0.0.1:41979) авторизован.
2016/04/15 18:09:50.059| |FixServer |Отправка Logon клиенту.
2016/04/15 18:09:50.059| |FixServer |Отправка Logon клиенту.
2016/04/15 18:09:50.062| |FixServer |Сессия запущена.
2016/04/15 18:09:50.062| |FixServer |Сессия запущена.
2016/04/15 18:09:50.085| |FixServer |From quik 127.0.0.1:41978: RequestForPositions
2016/04/15 18:09:50.086| |FixServer |From quik 127.0.0.1:41979: SecurityListRequest
2016/04/15 18:09:50.102| |FixServer |From quik 127.0.0.1:41978: OrderMassStatusRequest
2016/04/15 18:09:50.102| |LuaServer |Request: Type = PortfolioLookup TrId = 65388535 Value = SecId = OrdType = IsSubscribe = False DataType = Level1
2016/04/15 18:09:50.103| |LuaServer |LookupPortfolios
2016/04/15 18:09:50.110| |FixServer |From quik 127.0.0.1:41978: Logout
2016/04/15 18:09:50.111| |FixServer |Disconnect quik (127.0.0.1:41978)
2016/04/15 18:09:50.112| |LuaServer |LookupPortfolios done
2016/04/15 18:09:50.117| |LuaServer |LookupPositions
2016/04/15 18:09:50.119| |LuaServer |LookupPositions done
2016/04/15 18:09:50.119| |LuaServer |Request: Type = OrderStatus TrId = 65388536 Value = SecId = OrdType = IsSubscribe = False DataType = Level1
2016/04/15 18:09:50.119| |FixServer |From quik 127.0.0.1:41979: Logout
2016/04/15 18:09:50.119| |FixServer |Disconnect quik (127.0.0.1:41979)
2016/04/15 18:09:50.119| |LuaServer |LookupStopOrders
2016/04/15 18:09:50.119| |LuaServer |Stop orders count: 0
2016/04/15 18:09:50.119| |LuaServer |LookupStopOrders done
2016/04/15 18:09:50.120| |LuaServer |LookupOrders
2016/04/15 18:09:50.120| |LuaServer |Orders count: 0
2016/04/15 18:09:50.120| |LuaServer |LookupOrders done
2016/04/15 18:09:50.121| |LuaServer |LookupTrades
2016/04/15 18:09:50.121| |LuaServer |Own trades count: 0
2016/04/15 18:09:50.121| |LuaServer |LookupTrades done
2016/04/15 18:09:50.121| |LuaServer |Request: Type = SecurityLookup TrId = 65388537 Value = SecId = S#:@, Native:,Type: OrdType = IsSubscribe = False DataType = Level1
2016/04/15 18:09:50.127|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
в System.IO.Stream.ReadByte()
в StockSharp.Fix.Native.BaseFixReader.ReadByte()
в StockSharp.Fix.Native.TextFixReader.ReadString()
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=q0YtWR8xddc5pKZiW8hz2XA==(IFixReader #=qOorF40kbUw5v5ERqKTTKgg==, Boolean #=qyzk0Wrs7K_mCdAnbX8eQs3rNFXBF$goJALOVLQI8SSw=, String #=qa7ctjrNjdLhGYt9kv6m68M4YD75v02cRPELMUIWgl_E=, ILogReceiver #=qwpDGcdSat6wSUY8AispMCA==, String #=q90aLTXETm57qF6inAuYd3A==, Func`3 #=qstBAGW8iNj3TzWpAQdhAUQ==, Action`1 #=qh0c7dFAaugN_JwXq2wk52Q==)
2016/04/15 18:09:50.127|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
в System.IO.Stream.ReadByte()
в StockSharp.Fix.Native.BaseFixReader.ReadByte()
в StockSharp.Fix.Native.TextFixReader.ReadTag()
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=qA9h963H6a2_at4By9OtoFA==(IFixReader #=q6LDgwIUmPZCzltoJTEa9FA==, FixTags #=qQkzPjAO5R5oNzYtEvWGqGA==)
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=q0YtWR8xddc5pKZiW8hz2XA==(IFixReader #=qOorF40kbUw5v5ERqKTTKgg==, Boolean #=qyzk0Wrs7K_mCdAnbX8eQs3rNFXBF$goJALOVLQI8SSw=, String #=qa7ctjrNjdLhGYt9kv6m68M4YD75v02cRPELMUIWgl_E=, ILogReceiver #=qwpDGcdSat6wSUY8AispMCA==, String #=q90aLTXETm57qF6inAuYd3A==, Func`3 #=qstBAGW8iNj3TzWpAQdhAUQ==, Action`1 #=qh0c7dFAaugN_JwXq2wk52Q==)
2016/04/15 18:09:50.127|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
в System.IO.Stream.ReadByte()
в StockSharp.Fix.Native.BaseFixReader.ReadByte()
в StockSharp.Fix.Native.TextFixReader.SkipValue()
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=q0YtWR8xddc5pKZiW8hz2XA==(IFixReader #=qOorF40kbUw5v5ERqKTTKgg==, Boolean #=qyzk0Wrs7K_mCdAnbX8eQs3rNFXBF$goJALOVLQI8SSw=, String #=qa7ctjrNjdLhGYt9kv6m68M4YD75v02cRPELMUIWgl_E=, ILogReceiver #=qwpDGcdSat6wSUY8AispMCA==, String #=q90aLTXETm57qF6inAuYd3A==, Func`3 #=qstBAGW8iNj3TzWpAQdhAUQ==, Action`1 #=qh0c7dFAaugN_JwXq2wk52Q==)
2016/04/15 18:09:50.127| |FixServer |Disconnect quik (127.0.0.1:41978)
2016/04/15 18:09:50.127|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
в System.IO.Stream.ReadByte()
в StockSharp.Fix.Native.BaseFixReader.ReadByte()
в StockSharp.Fix.Native.TextFixReader.ReadString()
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=q0YtWR8xddc5pKZiW8hz2XA==(IFixReader #=qOorF40kbUw5v5ERqKTTKgg==, Boolean #=qyzk0Wrs7K_mCdAnbX8eQs3rNFXBF$goJALOVLQI8SSw=, String #=qa7ctjrNjdLhGYt9kv6m68M4YD75v02cRPELMUIWgl_E=, ILogReceiver #=qwpDGcdSat6wSUY8AispMCA==, String #=q90aLTXETm57qF6inAuYd3A==, Func`3 #=qstBAGW8iNj3TzWpAQdhAUQ==, Action`1 #=qh0c7dFAaugN_JwXq2wk52Q==)
2016/04/15 18:09:50.127|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
в System.IO.Stream.ReadByte()
в StockSharp.Fix.Native.BaseFixReader.ReadByte()
в StockSharp.Fix.Native.TextFixReader.ReadTag()
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=qA9h963H6a2_at4By9OtoFA==(IFixReader #=q6LDgwIUmPZCzltoJTEa9FA==, FixTags #=qQkzPjAO5R5oNzYtEvWGqGA==)
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=q0YtWR8xddc5pKZiW8hz2XA==(IFixReader #=qOorF40kbUw5v5ERqKTTKgg==, Boolean #=qyzk0Wrs7K_mCdAnbX8eQs3rNFXBF$goJALOVLQI8SSw=, String #=qa7ctjrNjdLhGYt9kv6m68M4YD75v02cRPELMUIWgl_E=, ILogReceiver #=qwpDGcdSat6wSUY8AispMCA==, String #=q90aLTXETm57qF6inAuYd3A==, Func`3 #=qstBAGW8iNj3TzWpAQdhAUQ==, Action`1 #=qh0c7dFAaugN_JwXq2wk52Q==)
2016/04/15 18:09:50.127|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
в System.IO.Stream.ReadByte()
в StockSharp.Fix.Native.BaseFixReader.ReadByte()
в StockSharp.Fix.Native.TextFixReader.SkipValue()
в #=qvuqj58cZwcf7eXybFOcm6u5ZNuyg4rDHdTqIVDu5WCgVs$KX0tVVNlUrbGKXfN4j.#=q0YtWR8xddc5pKZiW8hz2XA==(IFixReader #=qOorF40kbUw5v5ERqKTTKgg==, Boolean #=qyzk0Wrs7K_mCdAnbX8eQs3rNFXBF$goJALOVLQI8SSw=, String #=qa7ctjrNjdLhGYt9kv6m68M4YD75v02cRPELMUIWgl_E=, ILogReceiver #=qwpDGcdSat6wSUY8AispMCA==, String #=q90aLTXETm57qF6inAuYd3A==, Func`3 #=qstBAGW8iNj3TzWpAQdhAUQ==, Action`1 #=qh0c7dFAaugN_JwXq2wk52Q==)
2016/04/15 18:09:50.127| |FixServer |Disconnect quik (127.0.0.1:41979)
2016/04/15 18:09:50.127| |LuaServer |LookupSecurities
2016/04/15 18:09:50.140|Error |FixServer |Клиент quik (ошибок 1/1). Ошибка 'System.IO.IOException: Не удается записать данные в транспортное соединение: Программа на вашем хост-компьютере разорвала установленное подключение. ---> System.Net.Sockets.SocketException: Программа на вашем хост-компьютере разорвала установленное подключение
в System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
в System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- Конец трассировки внутреннего стека исключений ---
в System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
в StockSharp.Fix.FixServer.#=qyT9uoOFOm9tnjW8xAkcvGw==()'.
2016/04/15 18:09:50.140|Error |FixServer |Клиент quik был ранее отключен.
2016/04/15 18:09:50.140|Error |FixServer |Клиент quik был ранее отключен.
2016/04/15 18:09:50.140|Error |FixServer |Клиент quik был ранее отключен.
2016/04/15 18:09:50.140|Error |FixServer |Клиент quik был ранее отключен.
2016/04/15 18:09:50.209| |LuaServer |LookupSecurities done
Помогите пожалуйста разобраться.
Возникают мысли, может просто примеры на этой версии не работают? или Квики у меня версии с которой не работает связка?