niko
|
Дата: 14.08.2014
|
|
|
|
Спасибо за совет. Настроил через Lua. Событие NewOrders - заработало, NewMyTrades - нет. Все делаю на примере Sample. Во вложении скрин 2х выполненных заявок, Статус заявки в программе = Регистрация. Подскажите, что еще можно сделать для решения проблемы? Прикрепляю кусок лога от начала соединения, потом получения Level1, затем покупка и продажа Роснефти. Код
2014/08/14 18:30:09.436| |FixServer |Клиент quik (127.0.0.1:9242) авторизован.
2014/08/14 18:30:11.048| |FixServer |Отправка Logon клиенту.
2014/08/14 18:30:11.048| |FixServer |Сессия запущена.
2014/08/14 18:30:11.061| |FixServer |From client quik: SecurityListRequest
2014/08/14 18:30:11.066| |None |Lookup (SecurityLookup, 66552702, , )
2014/08/14 18:30:11.077| |None |GetSecurities
2014/08/14 18:30:11.306|Error |None |Пустой код инструмента для класса EQOB.
2014/08/14 18:30:11.307|Error |None |Пустой код инструмента для класса EQDB.
2014/08/14 18:30:11.312|Error |None |Пустой код инструмента для класса INDX.
2014/08/14 18:30:11.312|Error |None |Пустой код инструмента для класса AUCT.
2014/08/14 18:30:11.312|Error |None |Пустой код инструмента для класса AUCT_BND.
2014/08/14 18:30:11.449|Error |None |Пустой код инструмента для класса TQBR.
2014/08/14 18:30:11.454|Error |None |Пустой код инструмента для класса TQOB.
2014/08/14 18:30:11.475|Error |None |Пустой код инструмента для класса RTSIDX.
2014/08/14 18:30:11.819|Error |None |Пустой код инструмента для класса EQRP_INFO.
2014/08/14 18:30:12.033|Error |None |Пустой код инструмента для класса BQUOTE.
2014/08/14 18:30:12.033|Error |None |Пустой код класса для getClassesList.
2014/08/14 18:30:12.189| |None |GetSecurities done
2014/08/14 18:30:30.221| |FixServer |From client quik: MarketDataRequest
2014/08/14 18:30:30.430| |FixServer |From client quik: MarketDataRequest
2014/08/14 18:30:30.443| |None |Lookup (Level1Change, 0, ROSN, TQBR)
2014/08/14 18:30:30.448| |None |Lookup (Execution, 0, ROSN, TQBR)
2014/08/14 18:30:30.454| |None |GetAllTrades
2014/08/14 18:30:30.457| |None |All trades count: 53409
2014/08/14 18:30:39.206| |None |GetAllTrades done
2014/08/14 18:31:06.413| |FixServer |From client quik: NewOrderSingle
2014/08/14 18:31:06.517| |None |SendTransaction: t = {}
t["ACCOUNT"] = "L01+00000F00"
t["CLASSCODE"] = "TQBR"
t["SECCODE"] = "ROSN"
t["QUANTITY"] = "10"
t["CLIENT_CODE"] = "22685"
t["EXPIRY_DATE"] = "GTC"
t["OPERATION"] = "B"
t["TYPE"] = "M"
t["ACTION"] = "NEW_ORDER"
t["PRICE"] = "0"
t["EXECUTION_CONDITION"] = "PUT_IN_QUEUE"
t["TRANS_ID"] = "66552709"
sendTransaction(t)
2014/08/14 18:31:07.657| |FixServer |From client quik: TestRequest
2014/08/14 18:31:11.075| |FixServer |From client quik: TestRequest
2014/08/14 18:32:07.361| |FixServer |From client quik: NewOrderSingle
2014/08/14 18:32:07.368| |None |SendTransaction: t = {}
t["ACCOUNT"] = "L01+00000F00"
t["CLASSCODE"] = "TQBR"
t["SECCODE"] = "ROSN"
t["QUANTITY"] = "10"
t["CLIENT_CODE"] = "22685"
t["EXPIRY_DATE"] = "GTC"
t["OPERATION"] = "S"
t["TYPE"] = "M"
t["ACTION"] = "NEW_ORDER"
t["PRICE"] = "0"
t["EXECUTION_CONDITION"] = "PUT_IN_QUEUE"
t["TRANS_ID"] = "66552712"
sendTransaction(t)
2014/08/14 18:32:07.668| |FixServer |From client quik: TestRequest
2014/08/14 18:32:11.090| |FixServer |From client quik: TestRequest
2014/08/14 18:32:14.114| |FixServer |From client quik: Logout
2014/08/14 18:32:14.118|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
в #=ql9_au8kab0rmcAoNTRhOSs7YscS5M3$MI$1wnLxJoUI=.#=qfscWplxk7YA56pRqa19eyI$VxtUmCl8c2nlCUiNmnP0=.#=qCHvnvj0Xrst8Y1YXfHghyg==(IAsyncResult #=q2qtot$Osf0PIOum42vSQDw==)
2014/08/14 18:32:16.112| |FixServer |From client quik: MarketDataRequest
2014/08/14 18:32:16.113| |FixServer |From client quik: MarketDataRequest
2014/08/14 18:32:16.122| |None |Lookup (Level1Change, 0, ROSN, TQBR)
2014/08/14 18:32:16.126| |None |Lookup (Execution, 0, ROSN, TQBR)
2014/08/14 18:32:16.126| |None |GetAllTrades
2014/08/14 18:32:16.126| |None |All trades count: 53519
2014/08/14 18:32:16.189| |FixServer |From client quik: Logout
2014/08/14 18:32:16.190|Error |FixServer |System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.Sockets.NetworkStream".
в System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
в #=ql9_au8kab0rmcAoNTRhOSs7YscS5M3$MI$1wnLxJoUI=.#=qfscWplxk7YA56pRqa19eyI$VxtUmCl8c2nlCUiNmnP0=.#=qCHvnvj0Xrst8Y1YXfHghyg==(IAsyncResult #=q2qtot$Osf0PIOum42vSQDw==)
2014/08/14 18:32:21.209| |None |GetAllTrades done
И еще один лог из файла StockSharp.QuikLua.FatalError.log: Код
[14.08.2014 18:27:26] UnhandledException: System.IO.IOException: Процесс не может получить доступ к файлу "C:\Users\user\Desktop\Торговля\StockSharp_Sources\StockSharp.QuikLua.log", так как этот файл используется другим процессом.
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
в System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
в StockSharp.Logging.FileLogListener.OnCreateWriter(String fileName)
в StockSharp.Logging.FileLogListener.#=qmXaOWPnE2xLIaIBW2mSzr6fgqZLGrk17BH5SrlFrBdM=.#=q_byiiwUtM2cMAXp_nE3zyGVYTTDcJLO9pGtdTOzoMpY=.#=qLd07Kujuh2WC6GoxnSWDIkbC8v35Za63VzDn4YZDnw4=(Tuple`2 #=qF_p5QZx6ON$wPLKhtyhDbA==)
в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler, Boolean& isNew)
в StockSharp.Logging.FileLogListener.#=qmXaOWPnE2xLIaIBW2mSzr6fgqZLGrk17BH5SrlFrBdM=.#=qPGEj0jKIR8fJ$_$P9x5Rei2TZh40psP05FUJQKFx41c=(LogMessage #=ql5e9TlyZDTdID1Vem2_y$w==)
в System.Linq.Lookup`2.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
в System.Linq.GroupedEnumerable`3.GetEnumerator()
в System.Linq.Parallel.ParallelEnumerableWrapper`1.GetEnumerator()
в StockSharp.Logging.FileLogListener.OnWriteMessages(IEnumerable`1 messages)
в StockSharp.Logging.LogListener.WriteMessages(IEnumerable`1 messages)
в StockSharp.Logging.LogManager.#=qs7Jb8YGGj$nL5bU60TIUXKIm1JKxwQ93_f1L0XEuutA=.#=qrOg6OFX9V93RiOoLrhYIDA==(ILogListener #=qw3Vnjhv6Vq0CPnka$J2UaQ==)
в MoreLinq.MoreEnumerable.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Logging.LogManager.#=qfEavWAa7PiPrnn2E4n_bvA==()
в Ecng.Common.ThreadingHelper.<>c__DisplayClass1.<Timer>b__0(Object s)
в System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.TimerQueueTimer.CallCallback()
в System.Threading.TimerQueueTimer.Fire()
в System.Threading.TimerQueue.FireNextTimers()
в System.Threading.TimerQueue.AppDomainTimerCallback()
[14.08.2014 18:27:26] UnhandledException: System.IO.IOException: Процесс не может получить доступ к файлу "C:\Users\user\Desktop\Торговля\StockSharp_Sources\StockSharp.QuikLua.log", так как этот файл используется другим процессом.
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
в System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
в StockSharp.Logging.FileLogListener.OnCreateWriter(String fileName)
в StockSharp.Logging.FileLogListener.#=qmXaOWPnE2xLIaIBW2mSzr6fgqZLGrk17BH5SrlFrBdM=.#=q_byiiwUtM2cMAXp_nE3zyGVYTTDcJLO9pGtdTOzoMpY=.#=qLd07Kujuh2WC6GoxnSWDIkbC8v35Za63VzDn4YZDnw4=(Tuple`2 #=qF_p5QZx6ON$wPLKhtyhDbA==)
в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler, Boolean& isNew)
в StockSharp.Logging.FileLogListener.#=qmXaOWPnE2xLIaIBW2mSzr6fgqZLGrk17BH5SrlFrBdM=.#=qPGEj0jKIR8fJ$_$P9x5Rei2TZh40psP05FUJQKFx41c=(LogMessage #=ql5e9TlyZDTdID1Vem2_y$w==)
в System.Linq.Lookup`2.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
в System.Linq.GroupedEnumerable`3.GetEnumerator()
в System.Linq.Parallel.ParallelEnumerableWrapper`1.GetEnumerator()
в StockSharp.Logging.FileLogListener.OnWriteMessages(IEnumerable`1 messages)
в StockSharp.Logging.LogListener.WriteMessages(IEnumerable`1 messages)
в StockSharp.Logging.LogManager.#=qs7Jb8YGGj$nL5bU60TIUXKIm1JKxwQ93_f1L0XEuutA=.#=qrOg6OFX9V93RiOoLrhYIDA==(ILogListener #=qw3Vnjhv6Vq0CPnka$J2UaQ==)
в MoreLinq.MoreEnumerable.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Logging.LogManager.#=qfEavWAa7PiPrnn2E4n_bvA==()
в Ecng.Common.ThreadingHelper.<>c__DisplayClass1.<Timer>b__0(Object s)
в System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.TimerQueueTimer.CallCallback()
в System.Threading.TimerQueueTimer.Fire()
в System.Threading.TimerQueue.FireNextTimers()
в System.Threading.TimerQueue.AppDomainTimerCallback()
[14.08.2014 18:29:20] StockSharp.Fix.resources, Version=4.2.14.0, Culture=ru-RU, PublicKeyToken=null: System.IO.FileNotFoundException: Не удается найти указанный файл. (Исключение из HRESULT: 0x80070002)
в System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
в System.Reflection.Assembly.LoadFile(String path)
в CurrentDomain_AssemblyResolve(Object sender, ResolveEventArgs args)
[14.08.2014 18:29:20] StockSharp.Fix.resources, Version=4.2.14.0, Culture=ru, PublicKeyToken=null: System.IO.FileNotFoundException: Не удается найти указанный файл. (Исключение из HRESULT: 0x80070002)
в System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
в System.Reflection.Assembly.LoadFile(String path)
в CurrentDomain_AssemblyResolve(Object sender, ResolveEventArgs args)
|