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


S#.MatLab - получение исторических данных
Atom
11.12.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)

Теги:


Спасибо:


Mikhail Sukhov

Фотография
Дата: 11.12.2013
Ответить


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

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

JaguarFX

Фотография
Дата: 13.12.2013
Ответить


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

Фотография
Дата: 14.12.2013
Ответить


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


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

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

Код
SubscribeCandles(mlTrader.RealTrader, series, from, to);
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy