← Zurück

StockSharp + Transaq

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (4)

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

ilmir
ilmir

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

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

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

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

Скрин

leasmax
JaguarFX
JaguarFX

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

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

ilmir
ilmir

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");
                };
Serg87
Serg87

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