← 返回

GetOrderByTransactionId?

StockSharp 4.1.6 сборка 20.11.2012 В стратегии строку var _ord = Trader.GetOrderByTransactionId(_trID); компилятор отмечает ошибкой: Ошибка "StockSharp.BusinessEntities.ITrader" не содержит определение для "GetOrderByTransactionId". Не удалось найти метод  расширения "GetOrderByTransactionId", принимающий первый аргумент типа "StockSharp.BusinessEntities.ITrader"  (пропущено использование директивы или ссылка на сборку?) Хотя в стратегии подключены: using StockSharp.Algo; using StockSharp.Algo.Strategies; using StockSharp.BusinessEntities; using StockSharp.Plaza; В справке S# написано, что этот метод находится в StockSharp.Algo. Подскажите как подключить метод GetOrderByTransactionId и где он находится?

本主题对您有帮助吗?

分享主题

评论 (3)

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

Maxim
Maxim

NewMan: var _ord = Trader.GetOrderByTransactionId(_trID);

Переменная Trader у Вас какого класса? Или она объявлена как интерфейс?

NewMan
NewMan 作者

trader имеет тип ITrader. Попробовал сделать его типа PlazaTrader, дает ошибку: Ошибка 1 "StockSharp.Algo.BaseTrader.GetOrderByTransactionId(long)" недоступен из-за его уровня защиты

Maxim
Maxim

Все верно. Этот метод protected. Снаружи класса нет простой возможности его вызвать. Разработчики библиотеки по какой-то причине сочли, что к этому методу нет необходимости обращаться не изнутри класса. Если Вам очень нужен этот метод, то можно поискать в интернете как вызывать protected методы.