← Zurück

S#.MatLab - получение исторических данных

Для получения исторических данных через через S#.MatLab протестировал два подхода

1й Подписаться на событие NewCandles Но оказалось что событие NewCandles у класса MatLabTrader отсутствует!

2й Вызвать метод TransaqTrader.SubscribeCandles(CandleSeries, DateTime, DateTime) Но на практике прио бращении через MatLabTrader
// mSecData = NET.invokeGenericMethod('System.Linq.Enumerable', 'ToArray', {'SStockSharp.Algo.Candle'}, ... trader.RealTrader.SubscribeCandles(cs,myFrom,myTo)); система дает ошибку; No method 'SubscribeCandles' with matching signature found for class 'StockSharp.Transaq.TransaqTrader'.

Код в приложенном файле getHD.txt Скрин-шот ошибки в файле TCerror5.jpg

По каким причинам тут может быть ошибка? Есть ли иные способы получения данных в MatLab?

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

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

Mikhail Sukhov
Mikhail Sukhov

MatLabTrader не умеет получать свечки. Надо обращаться к его RealTrader. MatLabTrader - это так,обертка для упрощения работы. Так то и без нее можно вполне работать, просто писанины будет чуть больше.

Насчет данных, то опять же - вполне можно и Гидровые данные закачивать в ML. Все как на C# коде, только ввиде скрипта.

JaguarFX
JaguarFX Autor

Михаил, данные по бумагам, позициям и портфелям действительно подкачиваются напрямую без проблем. Но обращение именно к методу StockSharp.Transaq.TransaqTrader.SubscribeCandles дает ошибку "No method 'SubscribeCandles' with matching signature found for class 'StockSharp.Transaq.TransaqTrader'." вне зависимости от того обращаюсь я через MatLabTrader или напрямую. Т.е. функции mSecData = tr.SubscribeCandles(cs,myFrom,myTo); mSecData = NET.invokeGenericMethod('System.Linq.Enumerable', 'ToArray', {'StockSharp.Algo.Candels'}, tr.SubscribeCandles(cs,myFrom,myTo)); дают тот же результат. При чем даже вне зависимости от того использую ли я SubscribeCandles(CandleSeries, Int32, Boolean) или SubscribeCandles(CandleSeries, DateTime, DateTime).

Поскольку я начинаю не с нуля, а с прикрутке S# к имеющейся связке Matlab+Access для хранения данных и тестирования, то использовать тут Hydru не выгодно, так как получится двойное хранение данных.

На сервере TFS есть пример по подкачке данных в ML напрямую?

Mikhail Sukhov
Mikhail Sukhov

lebedevsrg: На сервере TFS есть пример по подкачке данных в ML напрямую?

Смотря что и откуда качать.

Насчет подписки на свечки. SubscribeCandles - это не generic метод. Он обычный. Тоесть нужно написать как:

SubscribeCandles(mlTrader.RealTrader, series, from, to);