StockSharp + Transaq
Atom
2/14/2016
leasmax


Насколько жизнеспособна связка StockSharp + Transaq?
Есть ли у нее очевидные недостатки или преимущества по сравнению с использованием, например того же Quik или других коннекторов? Есть ли у кого-нибудь опыт использования данной связки на тестовом или боевом роботах?

Tags:


Thanks:


ilmir

Avatar
Date: 2/16/2016
Reply


leasmax
Насколько жизнеспособна связка StockSharp + Transaq?
Есть ли у нее очевидные недостатки или преимущества по сравнению с использованием, например того же Quik или других коннекторов? Есть ли у кого-нибудь опыт использования данной связки на тестовом или боевом роботах?





Transaq при запуске нескольких серий свечек (больше одной) candleManager.Start(inSeries) выдает ошибки , не может зарегистрироваться на получение нескольких сразу серий .

А так с одной стратегией нормально работает.


inSeries = new CandleSeries(typeof (TimeFrameCandle), Security, timeFrame);
inSeries.WhenCandlesFinished().Do(ProcessCandle1).Apply(this);
candleManager.Start(inSeries);


Скрин
Thanks: leasmax

JaguarFX

Avatar
Date: 2/24/2016
Reply


Работаю на S# с TransaqConnector уже около трех лет, сейчас использую двух активных роботов, построенных на основе каркаса S#.Shell. В целом связка надежная, нареканий нет.

Проблемы тут скорее платформенного плана. Периодически Финам обновляет сервер или спецификацию TransaqConnector и S# выпускает новую версию коннектора. Для подключения новой версии часто необходимо переустановить всю S#.API. А это каждый раз вызывает возникновение множества сбоев по всем модулям, так как S#.API активно развивается - какие-то методы/свойства удаляются, какие-то появляются и пр. Так как описание изменений достаточно скудное, то порой приходится возиться два-три вечера, чтобы понять как старый функционал переложить на новый S#.API и внести исправления в код.
Thanks:

ilmir

Avatar
Date: 2/24/2016
Reply


lebedevsrg
Работаю на S# с TransaqConnector уже около трех лет, сейчас использую двух активных роботов, построенных на основе каркаса S#.Shell. В целом связка надежная, нареканий нет.

Проблемы тут скорее платформенного плана. Периодически Финам обновляет сервер или спецификацию TransaqConnector и S# выпускает новую версию коннектора. Для подключения новой версии часто необходимо переустановить всю S#.API. А это каждый раз вызывает возникновение множества сбоев по всем модулям, так как S#.API активно развивается - какие-то методы/свойства удаляются, какие-то появляются и пр. Так как описание изменений достаточно скудное, то порой приходится возиться два-три вечера, чтобы понять как старый функционал переложить на новый S#.API и внести исправления в код.


На каких таймфремах работают роботы ? Такой код есть возможность запустить проверить на работоспособность ? Дело в том что таймфрейм 30 секундные (TimeSpan.FromSeconds(30)) несколько стратегий запускает нормально , 5 минутки выше таймфреймы не запускает TimeSpan.FromSeconds(300).

var inSeries = new CandleSeries(typeof(StockSharp.Algo.Candles.TimeFrameCandle), sec, TimeSpan.FromSeconds(300));

Trader.Connected += () =>
{
// возводим флаг, что соединение установлено
_isConnected = true;

// запускаем подписку на новости
Trader.RegisterNews();

// разблокируем кнопку Экспорт
this.GuiAsync(() => ChangeConnectStatus(true));

foreach (var portfolio in Trader.Portfolios)
{
// регистрирует портфели на обновление данных
Trader.RegisterPortfolio(portfolio);
}

if (sec != null)
{
var candleManager1 = new StockSharp.Algo.Candles.CandleManager(Trader);
var inSeries = new CandleSeries(typeof(StockSharp.Algo.Candles.TimeFrameCandle), sec, TimeSpan.FromSeconds(300));
candleManager1.WhenCandlesFinished(inSeries).Do(ProcessCandle).Apply();
candleManager1.Start(inSeries);
}

if (sec2 != null)
{
var candleManager2 = new StockSharp.Algo.Candles.CandleManager(Trader);
var inSeries = new CandleSeries(typeof(StockSharp.Algo.Candles.TimeFrameCandle), sec2, TimeSpan.FromSeconds(300));
candleManager2.WhenCandlesFinished(inSeries).Do(ProcessCandle1).Apply();
candleManager2.Start(inSeries);
}

};


Trader.NewSecurities += securities =>
{
if(sec == null)
sec = securities.FirstOrDefault(s => s.Code == @"EuH6");
if (sec2 == null)
sec2 = securities.FirstOrDefault(s => s.Code == @"SiH6");
};



Thanks:

Serg87

Avatar
Date: 7/4/2018
Reply


Здраствуйте! Подскажите пожалуйста,есть ли образец связки S# и Transaq Connector?
Thanks:


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

loading
clippy