наблюдаю разницу в поведении RealTimeEmulationTrader от 4.1.6 к 4.1.8

наблюдаю разницу в поведении RealTimeEmulationTrader от 4.1.6 к 4.1.8
Atom
26.02.2013
kahuna


В таблице заявок имеются две старые совершенные вручную сделки. Когда собираю проект с 4.1.6 то сразу при установлении соединения с Quik в журнал приходят два сообщения: 2013.02.26 18:28:33.745| |QuikTrader|New order: 56501936/10003651138 Продажа Цена=152740 Объем=1 Сост=Done Бал=0 2013.02.26 18:28:33.753| |QuikTrader|New order: 56501937/10003787314 Покупка Цена=152600 Объем=1 Сост=Done Бал=0 2013.02.26 18:28:50.035| |QuikTrader|Экспорт запущен.

И далее программа работает нормально. Если то-же проделываю с библиотекой 4.1.8 то прилетает еще и ошибка: 2013/02/26 18:31:44.151| |QuikTrader|New order: 56501936/10003651138 Продажа Цена=152740 Объем=1 Сост=Done Бал=0 2013/02/26 18:31:44.174| |QuikTrader|New order: 56501937/10003787314 Покупка Цена=152600 Объем=1 Сост=Done Бал=0 2013/02/26 18:31:44.382|Error |QuikTrader|System.InvalidOperationException: Ордер с transactionId=56501936 не найден в StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=qoYen7SIGXXIHC5yDoBmtakvI8ajVk$YMRTG2hIXiflw=(Int64 #=qO9iU2Mv29dcXgUc$4EMffw==) в StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=qW_NOGPO8hUy5l8I2xNZCL$oRPjjivnoDpJ2KizA3TPo=(IEnumerable1 #=qA0Q6xXtG5Oyta7t6dDl7yg==) в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable`1 items) 2013/02/26 18:31:44.675| |QuikTrader|Экспорт запущен. И далее ордера не выставляются. Может кто понимает что бы это значило? По моему разумению коннектор в версии 4.1.8 запрашивает из какой-то таблицы еще данные про ордер номер 56501936 и не получает. Как бы узнать из какой?


Теги:


Спасибо:


pyhta4og

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


kahuna: В таблице заявок имеются две старые совершенные вручную сделки. Когда собираю проект с 4.1.6 то сразу при установлении соединения с Quik в журнал приходят два сообщения: 2013.02.26 18:28:33.745| |QuikTrader|New order: 56501936/10003651138 Продажа Цена=152740 Объем=1 Сост=Done Бал=0 2013.02.26 18:28:33.753| |QuikTrader|New order: 56501937/10003787314 Покупка Цена=152600 Объем=1 Сост=Done Бал=0 2013.02.26 18:28:50.035| |QuikTrader|Экспорт запущен.

И далее программа работает нормально. Если то-же проделываю с библиотекой 4.1.8 то прилетает еще и ошибка: 2013/02/26 18:31:44.151| |QuikTrader|New order: 56501936/10003651138 Продажа Цена=152740 Объем=1 Сост=Done Бал=0 2013/02/26 18:31:44.174| |QuikTrader|New order: 56501937/10003787314 Покупка Цена=152600 Объем=1 Сост=Done Бал=0 2013/02/26 18:31:44.382|Error |QuikTrader|System.InvalidOperationException: Ордер с transactionId=56501936 не найден в StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=qoYen7SIGXXIHC5yDoBmtakvI8ajVk$YMRTG2hIXiflw=(Int64 #=qO9iU2Mv29dcXgUc$4EMffw==) в StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=qW_NOGPO8hUy5l8I2xNZCL$oRPjjivnoDpJ2KizA3TPo=(IEnumerable1 #=qA0Q6xXtG5Oyta7t6dDl7yg==) в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable`1 items) 2013/02/26 18:31:44.675| |QuikTrader|Экспорт запущен. И далее ордера не выставляются. Может кто понимает что бы это значило? По моему разумению коннектор в версии 4.1.8 запрашивает из какой-то таблицы еще данные про ордер номер 56501936 и не получает. Как бы узнать из какой? поставьте пожалуйста quikTrader.LogLevel=LogLevels.Debug и пришлите дебаг-лог эмулятора, воспроизводящий проблему. также было бы неплохо увидеть полный коллстек ошибки. Для этого можно поставить брекпойнт в обработчик ProcessError и посмотреть на InvalidOperationException call stack

Спасибо:

kahuna

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


Поставьте пожалуйста quikTrader.LogLevel=LogLevels.Debug и пришлите дебаг-лог эмулятора, воспроизводящий проблему. также было бы неплохо увидеть полный коллстек ошибки. Для этого можно поставить брекпойнт в обработчик ProcessError и посмотреть на InvalidOperationException call stack

очевидно вот это, (стек вызовов) tryBot1.exe!test.MainWindow..ctor.AnonymousMethod__1(System.Exception ex) Строка 72 C# Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<System.Exception>(System.Action<System.Exception> handler, System.Exception arg) + 0x39 байт StockSharp.Algo.dll!StockSharp.Algo.Testing.RealTimeEmulationTrader<StockSharp.Quik.QuikTrader>.#=qNHN4D9UbsthHTSGTNWi6$PZlIrGZFf9gC2mMJ8oqHqw=(System.Exception #=ql43C9O7pgKYIntyjdNWa9Q==) + 0x36 байт Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<System.Exception>(System.Action<System.Exception> handler, System.Exception arg) + 0x39 байт StockSharp.Algo.dll!StockSharp.Algo.BaseTrader.RaiseProcessDataError(System.Exception exception) + 0x94 байт StockSharp.Quik.dll!#=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qB09_IBYvsxLb_dLzMi2NWQ==(StockSharp.Quik.DdeTable #=qOgXoydWCvsq2gXlddKoo0w==, System.Collections.Generic.IList<System.Collections.Generic.IList> #=qMeYWUEb44NrXcAvbPuNfiQ==, System.Action<System.Collections.Generic.IList,System.Func<StockSharp.Quik.DdeTableColumn,object>> #=qolGBgTssErk3vXo538xxsQ==, System.Action<System.Exception> #=qIfmNdbFGgLtG9ybpXuosbQ==, bool #=qe3W9$GyIKMHUi59wvLuQeA==) + 0x33b байт StockSharp.Quik.dll!StockSharp.Quik.QuikTrader.#=qjrOBFov$lIae$ZMCQLx7P1fQAe2X2s16$DxZRnv$aqU=.#=qu4gTMGq$3yH4Axl_FWkd5w==() + 0x7db байт StockSharp.Algo.dll!StockSharp.Algo.BaseTrader.ProcessEvents(System.Action handler) + 0x8a байт StockSharp.Quik.dll!StockSharp.Quik.QuikTrader.#=qaeR2In9bHSqL$9RTYB7mZA==(string #=qBWEHmyjqnbDFkS_RzrY$OQ==, System.Collections.Generic.IList<System.Collections.Generic.IList> #=q5vWveEpgNMvDr0v17vxoxw==) + 0xdd байт Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<string,System.Collections.Generic.IList<System.Collections.Generic.IList>>(System.Action<string,System.Collections.Generic.IList<System.Collections.Generic.IList>> handler, string arg1, System.Collections.Generic.IList<System.Collections.Generic.IList> arg2) + 0x3c байт StockSharp.Quik.dll!#=qO4H$vUMUtJxte1FDOGqs6k1o3v9rH9VhPKcrarKCJ_E=.#=q69jrzP3kyHkClZEeDaigUAUJGm6I9zoC7WsTE1$ILs8=.#=q8A8iEPic6wzTjce69NwpoQ==() + 0x71 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventDispatcher.Add.AnonymousMethod__0() + 0x40 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventDispatcher.CreateNewThreadQueuePair.AnonymousMethod__3() + 0x49 байт Ecng.Common.dll!Ecng.Common.ThreadingHelper.Thread.AnonymousMethod__f() + 0x23 байт mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x63 байт mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0xb0 байт mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x2c байт mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 байт

вот Debug Log: 2013/02/27 17:34:31.690|Debug |RealTimeEmulationTrader1|Соединились 2013/02/27 17:34:33.489|Error |QuikTrader|System.InvalidOperationException: Данные для таблицы 'стоп-заявки' экспортировались в меньшем формате. Не было найдено значение для колонки 'ID транзакции'. Количество колонок равно '15', индекс колонки '34'. в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qDJWMM5YENO97pQ4kvVrxSwXaehCKqmhRhAgzkT7Jsf8=.#=qhv7A9IuBu4a_njQh_JmFbSgY0uixyYvMCIXx7TWY5EQ=(DdeTableColumn #=q4pnTK3SfN8gkjMJpZFnaRw==) в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qV4zHdEkojhf6pdjo6vaz8w==(Func2 #=qy9KqBxWU5kgs33RYn7ZxjA==, DdeTableColumn #=qQWUnmuZ9JkNca$ApBYluAA==) в StockSharp.Quik.QuikTrader.#=qjrOBFov$lIae$ZMCQLx7P1fQAe2X2s16$DxZRnv$aqU=.#=q$lSEIT5LexsQlwc6F31I_w==(IList1 #=q$0V_COkA0ZnIxo4oiZ38PQ==, Func2 #=qlUb9wQhsWgLV82TCbkBodQ==) в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qB09_IBYvsxLb_dLzMi2NWQ==(DdeTable #=qOgXoydWCvsq2gXlddKoo0w==, IList1 #=qMeYWUEb44NrXcAvbPuNfiQ==, Action2 #=qolGBgTssErk3vXo538xxsQ==, Action1 #=qIfmNdbFGgLtG9ybpXuosbQ==, Boolean #=qe3W9$GyIKMHUi59wvLuQeA==) 2013/02/27 17:34:43.083|Debug |RealTimeEmulationTrader1|тут поставлена точка остановки по ошибке 2013/02/27 17:34:43.391| |QuikTrader|Экспорт запущен.

В реальном режиме похожая картинка: DebugLog: 2013/02/27 17:23:10.334|Debug |QuikTrader|Соединились 2013/02/27 17:23:27.664|Error |QuikTrader|System.InvalidOperationException: Данные для таблицы 'стоп-заявки' экспортировались в меньшем формате. Не было найдено значение для колонки 'ID транзакции'. Количество колонок равно '15', индекс колонки '34'. в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qDJWMM5YENO97pQ4kvVrxSwXaehCKqmhRhAgzkT7Jsf8=.#=qhv7A9IuBu4a_njQh_JmFbSgY0uixyYvMCIXx7TWY5EQ=(DdeTableColumn #=q4pnTK3SfN8gkjMJpZFnaRw==) в#=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qV4zHdEkojhf6pdjo6vaz8w==(Func2 #=qy9KqBxWU5kgs33RYn7ZxjA==, DdeTableColumn #=qQWUnmuZ9JkNca$ApBYluAA==) в StockSharp.Quik.QuikTrader.#=qjrOBFov$lIae$ZMCQLx7P1fQAe2X2s16$DxZRnv$aqU=.#=q$lSEIT5LexsQlwc6F31I_w==(IList1 #=q$0V_COkA0ZnIxo4oiZ38PQ==, Func2 #=qlUb9wQhsWgLV82TCbkBodQ==) в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qB09_IBYvsxLb_dLzMi2NWQ==(DdeTable #=qOgXoydWCvsq2gXlddKoo0w==, IList1 #=qMeYWUEb44NrXcAvbPuNfiQ==, Action2 #=qolGBgTssErk3vXo538xxsQ==, Action1 #=qIfmNdbFGgLtG9ybpXuosbQ==, Boolean #=qe3W9$GyIKMHUi59wvLuQeA==) 2013/02/27 17:23:53.298|Debug |QuikTrader|тут поставлена точка остановки по ошибке

Спасибо:

kahuna

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


на всякий случай код:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Windows;
using System.Windows.Controls;
using System.Diagnostics;
using MessageBox = System.Windows.MessageBox;
using System.Threading;
using System.Linq;
using System.Xml;
using Ecng.Common;
using Ecng.Collections;
using Ecng.Xaml;
using Ecng.ComponentModel;

using StockSharp.BusinessEntities;
using StockSharp.Algo.Reporting;
using StockSharp.Quik;
using StockSharp.Algo;
using StockSharp.Xaml;
using StockSharp.Logging;
using StockSharp.Algo.Testing;

namespace test
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>

    public partial class MainWindow : Window
   {




        private RealTimeEmulationTrader<QuikTrader> _trader;

        //private QuikTrader _trader;
        private MonitorWindow monitor;
        private LogManager _logManager;

        public MainWindow()
        {

            InitializeComponent();

            monitor = new MonitorWindow();
           monitor.Show();
            _logManager = new LogManager();
            var fileListener = new FileLogListener("{0}_{1:00}_{2:00}.txt".Put(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day));
            _logManager.Listeners.Add(fileListener);
            _logManager.Listeners.Add(new GuiLogListener(monitor));
            _trader = new RealTimeEmulationTrader<QuikTrader>(new QuikTrader(QuikTerminal.GetDefaultPath()) { IsAsyncMode = true, SupportManualOrders = true });
            _trader.UnderlyingTrader.SupportManualOrders = true;
           _trader.UnderlyingTrader.IsAsyncMode = true;
            //_trader = new QuikTrader(QuikTerminal.GetDefaultPath()) { IsAsyncMode = true, SupportManualOrders = false };




            _trader.UnderlyingTrader.LogLevel = LogLevels.Debug;
            _logManager.Sources.Add(_trader.UnderlyingTrader);
            _trader.LogLevel = LogLevels.Debug;
            _logManager.Sources.Add(_trader);

            //_trader.LogLevel = LogLevels.Debug;
            //_logManager.Sources.Add(_trader);
            _trader.ProcessDataError += (ex) =>
            {
                _trader.AddDebugLog("тут поставлена точка остановки по ошибке");
            };

            _trader.Connected += () =>
            {
                _trader.AddDebugLog("Соединились");
            };
            // запускаем экспорт по DDE
            _trader.Connect();


            while (!_trader.IsConnected) { }
            _trader.StartExport();

        }
     }
}

Спасибо:

pyhta4og

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


мы же ищем колл-стек для ошибки 2013/02/26 18:31:44.382|Error |QuikTrader|System.InvalidOperationException: Ордер с transactionId=56501936 не найден

а не для ошибки 2013/02/27 17:34:33.489|Error |QuikTrader|System.InvalidOperationException: Данные для таблицы 'стоп-заявки' экспортировались в меньшем формате. Не было найдено значение для колонки 'ID транзакции'. Количество колонок равно '15', индекс колонки '34'.

соответственно надо было дождаться именно первой ошибки, а остальные пропускать через "продолжить".

Однако я подозреваю что эмулятор не находил заявки потому что у вас неправильно настроен квик - нет колонки ID Транзакции.

Запустите Verifier.

Поставьте пожалуйста quikTrader.LogLevel=LogLevels.Debug и пришлите дебаг-лог эмулятора, воспроизводящий проблему. также было бы неплохо увидеть полный коллстек ошибки. Для этого можно поставить брекпойнт в обработчик ProcessError и посмотреть на InvalidOperationException call stack

очевидно вот это, (стек вызовов) tryBot1.exe!test.MainWindow..ctor.AnonymousMethod__1(System.Exception ex) Строка 72 C# Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<System.Exception>(System.Action<System.Exception> handler, System.Exception arg) + 0x39 байт StockSharp.Algo.dll!StockSharp.Algo.Testing.RealTimeEmulationTrader<StockSharp.Quik.QuikTrader>.#=qNHN4D9UbsthHTSGTNWi6$PZlIrGZFf9gC2mMJ8oqHqw=(System.Exception #=ql43C9O7pgKYIntyjdNWa9Q==) + 0x36 байт Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<System.Exception>(System.Action<System.Exception> handler, System.Exception arg) + 0x39 байт StockSharp.Algo.dll!StockSharp.Algo.BaseTrader.RaiseProcessDataError(System.Exception exception) + 0x94 байт StockSharp.Quik.dll!#=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qB09_IBYvsxLb_dLzMi2NWQ==(StockSharp.Quik.DdeTable #=qOgXoydWCvsq2gXlddKoo0w==, System.Collections.Generic.IList<System.Collections.Generic.IList> #=qMeYWUEb44NrXcAvbPuNfiQ==, System.Action<System.Collections.Generic.IList,System.Func<StockSharp.Quik.DdeTableColumn,object>> #=qolGBgTssErk3vXo538xxsQ==, System.Action<System.Exception> #=qIfmNdbFGgLtG9ybpXuosbQ==, bool #=qe3W9$GyIKMHUi59wvLuQeA==) + 0x33b байт StockSharp.Quik.dll!StockSharp.Quik.QuikTrader.#=qjrOBFov$lIae$ZMCQLx7P1fQAe2X2s16$DxZRnv$aqU=.#=qu4gTMGq$3yH4Axl_FWkd5w==() + 0x7db байт StockSharp.Algo.dll!StockSharp.Algo.BaseTrader.ProcessEvents(System.Action handler) + 0x8a байт StockSharp.Quik.dll!StockSharp.Quik.QuikTrader.#=qaeR2In9bHSqL$9RTYB7mZA==(string #=qBWEHmyjqnbDFkS_RzrY$OQ==, System.Collections.Generic.IList<System.Collections.Generic.IList> #=q5vWveEpgNMvDr0v17vxoxw==) + 0xdd байт Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<string,System.Collections.Generic.IList<System.Collections.Generic.IList>>(System.Action<string,System.Collections.Generic.IList<System.Collections.Generic.IList>> handler, string arg1, System.Collections.Generic.IList<System.Collections.Generic.IList> arg2) + 0x3c байт StockSharp.Quik.dll!#=qO4H$vUMUtJxte1FDOGqs6k1o3v9rH9VhPKcrarKCJ_E=.#=q69jrzP3kyHkClZEeDaigUAUJGm6I9zoC7WsTE1$ILs8=.#=q8A8iEPic6wzTjce69NwpoQ==() + 0x71 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventDispatcher.Add.AnonymousMethod__0() + 0x40 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventDispatcher.CreateNewThreadQueuePair.AnonymousMethod__3() + 0x49 байт Ecng.Common.dll!Ecng.Common.ThreadingHelper.Thread.AnonymousMethod__f() + 0x23 байт mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x63 байт mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0xb0 байт mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x2c байт mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 байт

вот Debug Log: 2013/02/27 17:34:31.690|Debug |RealTimeEmulationTrader1|Соединились 2013/02/27 17:34:33.489|Error |QuikTrader|System.InvalidOperationException: Данные для таблицы 'стоп-заявки' экспортировались в меньшем формате. Не было найдено значение для колонки 'ID транзакции'. Количество колонок равно '15', индекс колонки '34'. в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qDJWMM5YENO97pQ4kvVrxSwXaehCKqmhRhAgzkT7Jsf8=.#=qhv7A9IuBu4a_njQh_JmFbSgY0uixyYvMCIXx7TWY5EQ=(DdeTableColumn #=q4pnTK3SfN8gkjMJpZFnaRw==) в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qV4zHdEkojhf6pdjo6vaz8w==(Func2 #=qy9KqBxWU5kgs33RYn7ZxjA==, DdeTableColumn #=qQWUnmuZ9JkNca$ApBYluAA==) в StockSharp.Quik.QuikTrader.#=qjrOBFov$lIae$ZMCQLx7P1fQAe2X2s16$DxZRnv$aqU=.#=q$lSEIT5LexsQlwc6F31I_w==(IList1 #=q$0V_COkA0ZnIxo4oiZ38PQ==, Func2 #=qlUb9wQhsWgLV82TCbkBodQ==) в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qB09_IBYvsxLb_dLzMi2NWQ==(DdeTable #=qOgXoydWCvsq2gXlddKoo0w==, IList1 #=qMeYWUEb44NrXcAvbPuNfiQ==, Action2 #=qolGBgTssErk3vXo538xxsQ==, Action1 #=qIfmNdbFGgLtG9ybpXuosbQ==, Boolean #=qe3W9$GyIKMHUi59wvLuQeA==) 2013/02/27 17:34:43.083|Debug |RealTimeEmulationTrader1|тут поставлена точка остановки по ошибке 2013/02/27 17:34:43.391| |QuikTrader|Экспорт запущен.

В реальном режиме похожая картинка: DebugLog: 2013/02/27 17:23:10.334|Debug |QuikTrader|Соединились 2013/02/27 17:23:27.664|Error |QuikTrader|System.InvalidOperationException: Данные для таблицы 'стоп-заявки' экспортировались в меньшем формате. Не было найдено значение для колонки 'ID транзакции'. Количество колонок равно '15', индекс колонки '34'. в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qDJWMM5YENO97pQ4kvVrxSwXaehCKqmhRhAgzkT7Jsf8=.#=qhv7A9IuBu4a_njQh_JmFbSgY0uixyYvMCIXx7TWY5EQ=(DdeTableColumn #=q4pnTK3SfN8gkjMJpZFnaRw==) в#=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qV4zHdEkojhf6pdjo6vaz8w==(Func2 #=qy9KqBxWU5kgs33RYn7ZxjA==, DdeTableColumn #=qQWUnmuZ9JkNca$ApBYluAA==) в StockSharp.Quik.QuikTrader.#=qjrOBFov$lIae$ZMCQLx7P1fQAe2X2s16$DxZRnv$aqU=.#=q$lSEIT5LexsQlwc6F31I_w==(IList1 #=q$0V_COkA0ZnIxo4oiZ38PQ==, Func2 #=qlUb9wQhsWgLV82TCbkBodQ==) в #=qU8C8kAMUmJ0kPIeEJrF68f3NMymXDukMNgL4Dc7ffmr7PRgVzknJ3atY_n0PucT4.#=qB09_IBYvsxLb_dLzMi2NWQ==(DdeTable #=qOgXoydWCvsq2gXlddKoo0w==, IList1 #=qMeYWUEb44NrXcAvbPuNfiQ==, Action2 #=qolGBgTssErk3vXo538xxsQ==, Action1 #=qIfmNdbFGgLtG9ybpXuosbQ==, Boolean #=qe3W9$GyIKMHUi59wvLuQeA==) 2013/02/27 17:23:53.298|Debug |QuikTrader|тут поставлена точка остановки по ошибке

Спасибо:

kahuna

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


pyhta4og: мы же ищем колл-стек для ошибки 2013/02/26 18:31:44.382|Error |QuikTrader|System.InvalidOperationException: Ордер с transactionId=56501936 не найден

Да, но это было вчера. Сегодня такого ордера уже нет. ( С verifier-ом странная штука. Первый раз запускаю тоже показывает что не хватает колонок в таблице стоп-ордеров. Иду в Quik изумленно считаю количество полей оно равно 38 как и требуется. Снова и снова пускаю verifier пишет: "Все настроено правильно". Программа по прежнему выдает ошибку. Однако уже что-то новенькое: 2013/02/27 23:55:36.585|Debug |RealTimeEmulationTrader1|Соединились 2013/02/27 23:55:38.915| |QuikTrader|New order: 0/10019781965 Продажа Цена=153520 Объем=1 Сост=Done Бал=0 2013/02/27 23:55:38.922| |QuikTrader|New order: 0/11852461 Продажа Цена=146000 Объем=1 Сост=Done Бал=1 2013/02/27 23:55:38.939|Error |QuikTrader|System.InvalidOperationException: Ордер с transactionId=0 не найден в StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=qoYen7SIGXXIHC5yDoBmtakvI8ajVk$YMRTG2hIXiflw=(Int64 #=qO9iU2Mv29dcXgUc$4EMffw==) в StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=qW_NOGPO8hUy5l8I2xNZCL$oRPjjivnoDpJ2KizA3TPo=(IEnumerable1 #=qA0Q6xXtG5Oyta7t6dDl7yg==) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable1 items) 2013/02/27 23:55:38.940|Debug |RealTimeEmulationTrader1|тут поставлена точка остановки по ошибке 2013/02/27 23:55:39.092| |QuikTrader|Экспорт запущен. Какой-то плавающий глюк (.

Спасибо:

kahuna

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


Пардон, это уже после закрытия рынка. Завтра перепроверю.

Спасибо:

Moadip

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


Иду в Quik изумленно считаю количество полей оно равно 38 как и требуется. Таблицу стоп ордеров как настраивали? Вручную или с помощью wnd?

Проверьте последовательность колонок как здесь.

Спасибо:

kahuna

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


kahuna: Пардон, это уже после закрытия рынка. Завтра перепроверю.

Проверил. Verifier- Все настроено правильно. Стек вызовов

tryBot1.exe!test.MainWindow..ctor.AnonymousMethod__1(System.Exception ex) Строка 72 C# Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<System.Exception>(System.Action<System.Exception> handler, System.Exception arg) + 0x39 байт StockSharp.Algo.dll!StockSharp.Algo.Testing.RealTimeEmulationTrader<StockSharp.Quik.QuikTrader>.#=qNHN4D9UbsthHTSGTNWi6$PZlIrGZFf9gC2mMJ8oqHqw=(System.Exception #=ql43C9O7pgKYIntyjdNWa9Q==) + 0x36 байт Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<System.Exception>(System.Action<System.Exception> handler, System.Exception arg) + 0x39 байт StockSharp.Algo.dll!StockSharp.Algo.BaseTrader.RaiseProcessDataError(System.Exception exception) + 0x94 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventsContainer<StockSharp.BusinessEntities.MyTrade>.Raise(System.Collections.Generic.IEnumerable<StockSharp.BusinessEntities.MyTrade> items) + 0x76 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventsContainer<StockSharp.BusinessEntities.MyTrade>.Flush() + 0x98 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventsContainer.EndSuspend.AnonymousMethod__0(Ecng.ComponentModel.EventsContainer c) + 0x20 байт mscorlib.dll!System.Collections.Generic.List<Ecng.ComponentModel.EventsContainer>.ForEach(System.Action<Ecng.ComponentModel.EventsContainer> action) + 0x92 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventsContainer.EndSuspend() + 0xb9 байт StockSharp.Algo.dll!StockSharp.Algo.BaseTrader.ProcessEvents(System.Action handler) + 0xc7 байт StockSharp.Quik.dll!StockSharp.Quik.QuikTrader.#=qaeR2In9bHSqL$9RTYB7mZA==(string #=qBWEHmyjqnbDFkS_RzrY$OQ==, System.Collections.Generic.IList<System.Collections.Generic.IList> #=q5vWveEpgNMvDr0v17vxoxw==) + 0xdd байт Ecng.Common.dll!Ecng.Common.DelegateHelper.SafeInvoke<string,System.Collections.Generic.IList<System.Collections.Generic.IList>>(System.Action<string,System.Collections.Generic.IList<System.Collections.Generic.IList>> handler, string arg1, System.Collections.Generic.IList<System.Collections.Generic.IList> arg2) + 0x3c байт StockSharp.Quik.dll!#=qO4H$vUMUtJxte1FDOGqs6k1o3v9rH9VhPKcrarKCJ_E=.#=q69jrzP3kyHkClZEeDaigUAUJGm6I9zoC7WsTE1$ILs8=.#=q8A8iEPic6wzTjce69NwpoQ==() + 0x71 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventDispatcher.Add.AnonymousMethod__0() + 0x40 байт Ecng.ComponentModel.dll!Ecng.ComponentModel.EventDispatcher.CreateNewThreadQueuePair.AnonymousMethod__3() + 0x49 байт Ecng.Common.dll!Ecng.Common.ThreadingHelper.Thread.AnonymousMethod__f() + 0x23 байт mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x63 байт mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0xb0 байт mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x2c байт mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 байт Debug Log: 2013/02/28 17:49:34.553|Debug |RealTimeEmulationTrader1|Соединились 2013/02/28 17:49:36.339| |QuikTrader|New order: 0/10024824729 Покупка Цена=153080 Объем=1 Сост=Done Бал=0 2013/02/28 17:49:36.455| |QuikTrader|New order: 0/11854037 Продажа Цена=147000 Объем=1 Сост=Active Бал=1 2013/02/28 17:49:36.619|Error |QuikTrader|System.InvalidOperationException: Ордер с transactionId=0 не найден в StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=qoYen7SIGXXIHC5yDoBmtakvI8ajVk$YMRTG2hIXiflw=(Int64 #=qO9iU2Mv29dcXgUc$4EMffw==) в StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=qW_NOGPO8hUy5l8I2xNZCL$oRPjjivnoDpJ2KizA3TPo=(IEnumerable1 #=qA0Q6xXtG5Oyta7t6dDl7yg==) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable1 items) 2013/02/28 17:49:53.304|Debug |RealTimeEmulationTrader1|тут поставлена точка остановки по ошибке 2013/02/28 17:49:53.614| |QuikTrader|Экспорт запущен.

Спасибо:

kahuna

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


Иду в Quik изумленно считаю количество полей оно равно 38 как и требуется. Таблицу стоп ордеров как настраивали? Вручную или с помощью wnd?

Проверьте последовательность колонок как здесь.

Настраивал вручную на отдельной вкладке, так как тренируюсь на рабочем Quik-е и жалко терять рабочии настройки на других вкладках. Проверил глазками - последовательность колонок совпадает. Verifier говорит все настроено правильно.

Спасибо:


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

loading
clippy