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


Код

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>'. Вызов метода использовался намеренно?

Теги:


Спасибо:




9 Ответов
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