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


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


Для получения исторических данных через через 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?
getHD.txt 2 KB (321) TQ-error5.jpg 425 KB (241)

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 12/11/2013
Reply


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

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

JaguarFX

Avatar
Date: 12/13/2013
Reply


Михаил, данные по бумагам, позициям и портфелям действительно подкачиваются напрямую без проблем.
Но обращение именно к методу 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 напрямую?
Thanks:

Mikhail Sukhov

Avatar
Date: 12/14/2013
Reply


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


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

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

Code
SubscribeCandles(mlTrader.RealTrader, series, from, to);
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy