Добрый день. В приложенном простом примере не могу получить свечки через событие СandleManager.Processing. Подключение происходит, инструмент находит, также приходят сделки через подписку NewTrade, но свечки через CandleManager не формируются. Transaq от Финам, библиотека StockSharp - 4.3.24.0 При создании CandleSeries, указываю BuildCandlesMode = BuildCandlesModes.Build. Помогите, пожалуйста, в чем может быть причина? Аналогичный пример с подключением через Квик работает.
Kommentare (6)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
using System; using System.Linq; using System.Net; using Ecng.Common; using StockSharp.Algo.Candles; using StockSharp.BusinessEntities; using StockSharp.Messages; using StockSharp.Transaq;
namespace TransaqTest { class Program { private static TransaqTrader _trader;
}
BuildCandlesMode = BuildCandlesModes.Build. Здесь выберите другое значение, не Build...
Менял значение BuildCandlesModes и на значение Load и LoadAndBuild - результат прежний, свечки не приходят через событие СandleManager.Processing.
Попробовал сделать следующим образом через создание переменной IExternalCandleSourse и метод SubscribeCandles:
В метод DrawElement стали приходить только исторические свечки за текущий день до текущего времени, новые свечки не формируются в CandleManger. При этом, в событие _trader.NewTrade новые сделки поступают.
Можно ли через Transaq коннектор и CandleManager получать не только историю, но и сформированные новые свечки в реальном времени?
Возможно ли сформировать свечки произвольного таймфрейма из сделок, а не загружать уже готовые свечки (в транзаке всего свечки 5 таймфреймов)?
Буду очень благодарен если поделитесь рабочим примером.
Ок, проверим...
Добрый день, аналогичная проблема с коннектором Transaq, версия Stocksharp 4.4.16. Подключение происходит, инструмент находит, изменение MarketDepth есть, но новые свечи по SubscribeCandles не приходят. Исторические свечи загружаются, но приходят с нулевыми объёмами. При переключении на коннектор Quik всё работает.
Как удалось решить: В логах нашёл ошибку Error System.InvalidCastException: Can't convert 100.0% of type 'System.String' to type 'System.Double'. ---> System.FormatException: Input string was not in a correct format. at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) ... at StockSharp.Transaq.TransaqMessageAdapter. at Ecng.Common.Converter.DoInCulture(CultureInfo cultureInfo, Func`1 func) at StockSharp.Transaq.TransaqMessageAdapter. которая указывает на проблему парсинга строки в Double. Поменял в региональных настройках Windows на вкладках Numbers/Currency в поле Decimal symbol заменил запятую на точку, всё заработало.
Добрый день. Так же как и Вы не могу получить объёмы исторических свечей с коннектором Transaq, версия Stocksharp 4.4.16. Текущие объёмы свечей приходят нормально. С коннектором Quik так же всё работает. Попробовал (как Вы рекомендовали) поменять в региональных настройках Windows запятую на точку, но результат тот же самый.Может я не там запятые на точки меняю? Или проблема в разрядности Windows (у меня 32-разрядная)? А может в коде чего нибудь не учитываю?
using Ecng.Common; using StockSharp.Algo.Candles; using StockSharp.Messages; using StockSharp.Transaq; using System; using System.Net;
namespace CandleTransaq { class Program { private static void Main(string[] args) {
}