← 返回

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

本主题对您有帮助吗?

分享主题

评论 (9)

登录创建账户, 登录或注册以发表评论

Alexander
Alexander

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

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

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

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

Ошибся))

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


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 作者

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

Alexander
Alexander

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

vader
vader 作者

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

Alexander
Alexander

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

vader
vader 作者

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

Alexander
Alexander

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

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