← Zurück

НЕ приходят данные!

Всетаки любопытство берет верх, и хотелоь встаки увидеть рабочий пример. Событие не происходит:_trader.NewCandles сдедствием чего является пустой график.В чем проблема может быть ?

Использую Альфу...так вот из примера :

_trader.NewCandles += (candleSeries, candles) =>
		{
			_trader.AddInfoLog("newcandles({0}):\n{1}", candles.Count(), string.Join("\n", candles.Select(c => c.ToString())));

			if (candleSeries == series)
				this.GuiAsync(() => wnd.DrawCandles(candles));
		};

		_trader.SubscribeCandles(series, from, to);

_trader.NewCandles

War dieses Thema hilfreich?

Thema teilen

Kommentare (17)

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

Sergey Sokolov
Sergey Sokolov

Только что проверил SampleAlfaCandles, график работает и обновляется. Возможные причины того, что у вас не работает:

  1. В терминале должен быть открыт такой же график (инструмент + таймфрейм)
  2. В списке выбора инструмента SampleAlfaCandles присутствуют инструменты с одинаковым названием, но с разных площадок, т.е. по сути разные инструменты с одинаковым названием. Вы могли, например, выбрать "Сбербанк а.о. 3 в." (РТС стандарт) при том, что в терминале у вас открыт график для "Сбербанк а.о. 3 в." (МБ ЦК).
JaguarFX
JaguarFX

API 4.2.2.16 - данные как не шли, так и не идут, ни в live подключении, ни в realtimeemulation. Тестировал на RIM4, так что инструмент и таймфрем выбран однозначною.

Что интересно - если подключиться с расширенным режимом логирования //trader = new AlfaTrader() ;//, то становится видно что:

  1. в режиме live не приходят портфели(http://yadi.sk/d/yhOUE_9uK2WXe), хотя раньше приходили,
  2. в режиме live приходят данные по бумагам, но событие rTrader.MarketDepthsChanged не происходит (http://yadi.sk/d/jv7zXiRNK2Wdk), и так же никакой передачи их в CandleManager не происходит,
  3. в режиме realtimeemulation вообще ни портфели, и никакие данные в систему не приходят - в логах тишина полная (http://yadi.sk/d/eUBinyXJK2Wij).
Mikhail Sukhov
Mikhail Sukhov

Логи

JaguarFX
JaguarFX

По итогам дополнительного изучения проблемы выяснилось следующее:

  1. в режиме реального подключения: после старта Alfadirect где-то 5-6 минут гонит около 7000 тыс. исторический сообщений по всем инструментам, а не только по тому, на который подписан; и только потом начинают идти данные с рынка - так что тут все работает, но не сразу! получается, что пользователи просто могут не дожидаться момента когда пойдут данные по нужному инструменту))
  2. в режиме RTE: данные с рынка не идут; при остановке выполнения видно, что у объекта RealTimeEmulationTrader нет зарегистрированных ни бумаг, ни стаканов, а нормально зарегистрирован только портфель (см. http://yadi.sk/d/_TQiihL_K8SRn); т.е. по каким-то причинам вызов процедур rTrader.RegisterMarketDepth(strategy.Security) и rTrader.RegisterSecurity(strategy.Security) не срабатывает.
    При этом код запуска для live/rte один и тот же - на основе S#.Shell.

Кстати проверил на Transaq тоже самое - в режиме реального подключения все работает, а в режиме RTE - нет. Т.е. в RealTimeEmulationTrader есть какая-то ошибка. Как ее отлогировать непонятно, так как во вне никаких ошибок из RealTimeEmulationTrader не поступает.

Mikhail Sukhov
Mikhail Sukhov

lebedevsrg:

Начнем с самого начала. SampleAlfa запускали? Данные тикают?

JaguarFX
JaguarFX

Да, SampleAlfa - реальное подключение, все рабоатет. Не работает в режиме RealTimeEmulation - не приходят портфели и не приходят свечи.

alpha
alpha

4.2.10 Не приходят портфели. Проверял в SampleAlfa

начало лога Первая и восьмая строчки - неверная дата


0001/01/01 00:00:00.000|       |AlfaTrader|Connect
2014/08/04 11:56:54.091|       |AlfaDirect|Системная локаль ru-RU.
2014/08/04 11:56:58.560|       |AlfaDirect|AlfaDirect 3.5.2.20
2014/08/04 11:56:58.563|Warning|AlfaDirect|SubscribeWrapper: already subscribed
2014/08/04 11:57:03.575|       |AlfaDirect|OnConnectionChanged Connected
2014/08/04 11:57:03.575|       |AlfaDirect|Соединение с Альфа-Директ установлено
2014/08/04 11:57:03.590|Debug  |AlfaDirect|balance: GetLocalDbData : 
0001/01/01 00:00:00.000|Debug  |AlfaTrader|BP:Connect,T=2014.08.04 11:57:03.579,Error=
2014/08/04 11:57:03.579|       |AlfaTrader|StartExport
2014/08/04 11:57:03.579|Debug  |AlfaTrader|BP:PortfolioLookupResult,T=2014.08.04 11:57:03.602,Orig=(8 цифр)
2014/08/04 11:57:03.602|Debug  |AlfaDirect|orders: GetLocalDbData : 
2014/08/04 11:57:03.606|Debug  |AlfaDirect|trades: GetLocalDbData : 
2014/08/04 11:57:03.609|Debug  |AlfaDirect|orders: subscribe : Table subscribed succesefully
2014/08/04 11:57:03.611|Debug  |AlfaDirect|trades: subscribe : Table subscribed succesefully
2014/08/04 11:57:03.602|Debug  |AlfaTrader|BP:Connect,T=2014.08.04 11:57:03.612,Error=
2014/08/04 11:57:03.875|Debug  |AlfaDirect|papers: GetLocalDbData at_code in (A,P,FC,FD,I,OCM,OPM) and place_code in (MICEX_SHR_T,FORTS,RTS_STANDARD,INDEX,INDEX2): 1119|MICEXINDEXCF|ММВБ Индекс акций|INDEX|I|1|245326941|N|31.12.9999|0,01|0|0|0|0|RUR|0|
2317|RTSI|РТС Индекс|INDEX|I|1|201453000|N|31.12.9999|0,01|0|0|0|0|RUR|0|
4932|DJIA|DJ Industrial Average|INDEX2|I|0|206816073|N|31.12.9999|0,0001|0|0|0|0|RUR|0|
.....................................
.....................................

alpha
alpha

Есть те, кто столкнулся с данной проблемой?

Sergey Sokolov
Sergey Sokolov

Только что протестировал на стокшарпе 4.2.12 - портфели и позиции приходят нормально. Альфа-директ 3.5.2.20

Судя по вашему логу, Альфа-директ не возвращает никаких данных из таблицы balance.

2014/08/04 11:57:03.590|Debug  |AlfaDirect|balance: GetLocalDbData :

Проверьте, что в самом терминале открыта таблица с позициями и все данные отображаются корректно. Кроме того, можете скачать пример взаимодействия с терминалом через Excel: http://alfadirect.ru/Download/ADSDK.zip В архиве есть таблица Excel с VBA скриптами взаимодействия с терминалом Альфы. С помощью одной из страниц этой таблицы можно запрашивать данные напрямую из таблицы balance. Проверьте, что данные при запросе возвращаются.

alpha
alpha

Sergey Sokolov: Только что протестировал на стокшарпе 4.2.12 - портфели и позиции приходят нормально. Альфа-директ 3.5.2.20

Судя по вашему логу, Альфа-директ не возвращает никаких данных из таблицы balance.

2014/08/04 11:57:03.590|Debug |AlfaDirect|balance: GetLocalDbData :

> 
> Проверьте, что в самом терминале открыта таблица с позициями и все данные отображаются корректно.
> Кроме того, можете скачать пример взаимодействия с терминалом через Excel: http://alfadirect.ru/Download/ADSDK.zip
> В архиве есть таблица Excel с VBA скриптами взаимодействия с терминалом Альфы. С помощью одной из страниц этой таблицы можно запрашивать данные напрямую из таблицы balance. Проверьте, что данные при запросе возвращаются.

Где вы взяли 4.2.12? В Box вижу только 4.2.10.

Кстати, у меня Альфа-директ 3.5.2.23. Переустанавливал. Информация о портфеле все-равно не приходит.

Попробовал посмотреть портфель через стандартный мануал от Альфы - ad.GetLocalDBData("accounts", "treaty", null) и ad.GetLocalDBData("acc_bal", "money", null) - все нормально обновляется.

В чем может быть проблема?
Mikhail Sukhov
Mikhail Sukhov

alpha: В чем может быть проблема?

Предлагаю следовать советам доктора, и прочитать предыдущее сообщение от Сергея.

alpha
alpha

Михаил Сухов:

alpha: В чем может быть проблема?

Предлагаю следовать советам доктора, и прочитать предыдущее сообщение от Сергея.

В Excel все хорошо. Нужные данные (по портфелю) выгружаются.

Запускаю SampleAlfa 4.2.10 - портфеля нет. Новости и бумаги(из базы) есть. Запускаю SampleAlfa 4.1.19.1 - портфель есть.

Какая версия S# последняя 4.2.10 или 4.2.12?

Неправильные даты (из лога выше) в 1 и 8 строчке так и должно быть?

alpha
alpha

Проблема решилась. Даже не знаю каким образом. Разве что программы на основе S# перестали заново открывать Альфу (при создании AlfaTrader) даже если она уже открыта.

Вопрос с датами и версионностью S# открыт.

alpha
alpha

С чем может быть связано сообщение "Не верно указана валюта цены" при регистрации ордера?

Mikhail Sukhov
Mikhail Sukhov

alpha: С чем может быть связано сообщение "Не верно указана валюта цены" при регистрации ордера?

Текст ошибки полностью приведите.

alpha
alpha


0001/01/01 00:00:00.000|       |AlfaTrader|Connect
2014/08/21 22:42:27.334|       |AlfaDirect|Системная локаль ru-RU.
2014/08/21 22:42:27.357|       |AlfaDirect|AlfaDirect 3.5.2.23
2014/08/21 22:42:27.359|Warning|AlfaDirect|SubscribeWrapper: already subscribed
2014/08/21 22:42:27.361|       |AlfaTrader|StartExport
2014/08/21 22:42:27.461|       |AlfaTrader|Создан новый портфель (портфель)@FORTS.
2014/08/21 22:42:28.225|       |AlfaTrader|Инструмент RTSI-9.14@FORTS зарегистрирован на получение рыночных данных для Trades.
2014/08/21 22:42:28.334|       |AlfaTrader|Инструмент RTSI-9.14@FORTS зарегистрирован на получение рыночных данных для MarketDepth.
2014/08/21 22:42:34.113|       |AlfaTrader|RegisterOrder: 0/0 Покупка Цена=127110 Объем=1 Сост=None Бал=0 
2014/08/21 22:42:34.113|       |AlfaTrader|New order: 88025955/0 Покупка Цена=127110 Объем=1 Сост=Pending Бал=1 
2014/08/21 22:42:34.125|       |AlfaDirect|Register: (портфель) RTSI-9.14/FORTS tran=88025955  B 1@127110, mtime=21.08.2014 22:42:36
2014/08/21 22:42:56.000|       |AlfaDirect|OrderConfirmed ID=5 Num=0 Msg=Не верно указана валюта цены. Status=crError
2014/08/21 22:42:56.003|       |AlfaTrader|OrderFailed: 88025955/0 Покупка Цена=127110 Объем=1 Сост=Failed Бал=1 
System.InvalidOperationException: Ошибка регистрации заявки с номером транзакции 88025955. Не верно указана валюта цены.


Sergey Sokolov
Sergey Sokolov

Исправлено. Ждите в следующих релизах.