Подскажите как передать interFace.SafeConnection класс RealTimeEmulationTrader, (EmulationTrader принимает без ошибок)
// создаем EmulationTrader для тестирования на исторических данных
var EmulationT = new EmulationTrader(new[] { _security }, new[] { _portfolio })
{
StorageRegistry = storage, // передаем хранилище EmulationTrader
MarketTimeChangedInterval = _timeFrame, // указываем интервал прихода события о смене времени
UseMarketDepth = true, // указываем использовать стаканы для эмуляции
// UseCandlesTimeFrame = _timeFrame // загружаем свечи с указаным тайм - фрэймом
};
interFace.SafeConnection = new SafeConnection(EmulationT);
А вот тут выдает ошибку преобразования типов:
var portfolio = new Portfolio
{
Name = "test account",
BeginValue = 1000000,
};
_trader = new RealTimeEmulationTrader<QuikTrader>(new QuikTrader(QuikTerminal.GetDefaultPath()), new[] {portfolio});
interFace.SafeConnection = new SafeConnection(_trader);
Подскажите пожалуйста, как правильно преобразовать тип RealTimeEmulationTrader в BaseTrader Спасибо.
Comentários (8)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
Все трейдеры наследуются от интерфейса ITrader.
Попробуйте следующее: interFace.SafeConnection = new SafeConnection((ITrader)_trader); Просто делаем UpCast. Но лучше всего переписать SafeConnection так, что бы он работал не с BaseTrader, а с ITrader.
Все же привестись не получиться. Нужно переписать сам SafeConnection.
// public ITrader Trader { get; private set; } public BaseTrader Trader { get; private set; }
//Интервал переподключения Trader.ReConnectionSettings.ConnectionSettings.Interval = TimeSpan.FromSeconds(10);
//Когда переподключаться Trader.ReConnectionSettings.WorkingTime = ExchangeBoard.Forts.WorkingTime;
, соответственно изменен тип аргумента конструктора, который принимает трейдер, теперь тип ITrader:
А также изменен метод безопасного подключения:
Здравствуйте. Помогите начинающему, пожалуйста. Во 2ом уроке на 3м этаме (создание формы в которую подключаем StockSharp.TraderConnection и StockSharp.WpfConnectionInterface) правильно ли подключаюсь к SmartCOM 3.0 ? А точнее так не работает, что неправильно?
Не вижу ошибок в коде. Не понятно что именно не работает. Если возникает ошибка, то присылайте скрин-шоты, выводимые сообщения, стек-информацию.
А есть ли работающий пример коннекта со SmartCOM 2 или 3 через ITrader?
Посмотрите в примерах к библиотеке.