Не могу обработать событие Trader.OrderCancelFails

Не могу обработать событие Trader.OrderCancelFails
Atom
13.02.2012
vader



Trader.OrderCancelFails += Trader_CancelFailOrders;

private void Trader_CancelFailOrders(IEnumerable<OrderFail> fail)
        {

        }

Такой код, выдает ошибку Error 10 Невозможно присвоить значение свойству или индексатору 'StockSharp.BusinessEntities.ITrader.OrderCancelFails' -- доступ только для чтения

Error 11 Оператор "+=" не может применяться к операндам типа "System.Collections.Generic.IEnumerable<StockSharp.BusinessEntities.OrderFail>" и "группа методов"

Error 12 Не удается привести группу методов 'Trader_CancelFailOrders' к неделегируемому типу 'System.Collections.Generic.IEnumerable<StockSharp.BusinessEntities.OrderFail>'. Вызов метода использовался намеренно?


Теги:


Спасибо:


Alexander

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


Это не событие :)

		/// <summary>
		/// Получить все ошибки при снятии заявок.
		/// </summary>
		public virtual IEnumerable<OrderFail> OrderCancelFails

А вот это - событие ;)

		/// <summary>
		/// Событие об ошибках, связанных со снятием заявок.
		/// </summary>
		public virtual event Action<IEnumerable<OrderFail>> OrdersCancelFailed
Спасибо:

vader

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


Ошибся))

Такой код ничего не выводит.


Trader.OrdersCancelFailed +=(Trader_OrdersCancelFailed);

private void Trader_OrdersCancelFailed(IEnumerable<OrderFail> fail)
        {
            foreach(OrderFail p in fail) {
                WriteDiagnostics("Trader_OrdersCancelFailed " + p.Error.Message);
            }
        }

Спасибо:

Alexander

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


А событие-то срабатывает?

Спасибо:

vader

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


Как это определить? Я так понимаю, что если обработчик не был вызван, то и событе не сработало.

Спасибо:

Alexander

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


Ну отлично, тогда в чём ошибка? Ошибок снятия заявок нет, событие не срабатывается, ваш код ничего не выводит.

Спасибо:

vader

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


Сорри, забыл. ЭТОТ код нисего не выводит, а ProcessDataError выводит StockSharp.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку

Спасибо:

Alexander

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


Так вы уже это описывали и я ответил вам. Вот здесь.

Спасибо:

vader

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


Я думал, это правило не работает ,а проблема оказалась в событии. Я хотел свое правило реализовать.

Спасибо:

Alexander

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


vader: Я думал, это правило не работает ,а проблема оказалась в событии. Я хотел свое правило реализовать.

Да, это именно событие не всегда поднимается где надо. Правило же просто подписывается на событие.

Спасибо:


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

loading
clippy