← Zurück

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


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

War dieses Thema hilfreich?

Thema teilen

Kommentare (9)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Alexander
Alexander

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

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

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

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

Ошибся))

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


Trader.OrdersCancelFailed +=(Trader_OrdersCancelFailed);

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

Alexander
Alexander

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

vader
vader Autor

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

Alexander
Alexander

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

vader
vader Autor

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

Alexander
Alexander

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

vader
vader Autor

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

Alexander
Alexander

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

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