Фичи/Баги/Пожелания для AlfaConnector
Atom Ответить
04.05.2011


Основная функциональность в альфа-коннекторе завершена.

Код свободно доступен на http://stocksharpconnect...eControl/list/changesets

Из основных явных недоделок можно выделить:
- отсутствие поддержки опционов
- отсутствие поддержки стоп-ордеров.

В связи с этим, если есть активные пользователи данного коннектора, буду рад услышать замечаниях о багах, фичах и пожеланиях.

Теги:


Спасибо:




145 Ответов
<< < 4 5 6 
OvcharenkoVI

Фотография
Автор статей
Дата: 10.01.2012
Ответить


Печально, а то с парный трейдингом беда теперь из за этого)
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 10.01.2012
Ответить


OvcharenkoVI Перейти
Печально, а то с парный трейдингом беда теперь из за этого)


Вы посмотрели в чем именно проблема - в получении свечек или в том, как Вы их на графике отрисовываете?
Автор топика
Спасибо: OvcharenkoVI

OvcharenkoVI

Фотография
Автор статей
Дата: 10.01.2012
Ответить


свечки получаю и те и другие, на графике получается каша, потому что по мере поступления свеч от разных инструментов они как один инструмент рисуются, чем то пульс напоминает))) И индикатор такую же ересь выдает
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 10.01.2012
Ответить


OvcharenkoVI Перейти
свечки получаю и те и другие, на графике получается каша, потому что по мере поступления свеч от разных инструментов они как один инструмент рисуются, чем то пульс напоминает))) И индикатор такую же ересь выдает


Если нормально приходят свечки для обоих инструментов - тогда в коннекторе проблем никаких нет. К какому инструменту какая свечка относится можно определить по токену. Как отрисовывать информацию на графике - личное дело каждого )
Автор топика
Спасибо:

OvcharenkoVI

Фотография
Автор статей
Дата: 11.01.2012
Ответить


Sergey Masyura Перейти
OvcharenkoVI Перейти
свечки получаю и те и другие, на графике получается каша, потому что по мере поступления свеч от разных инструментов они как один инструмент рисуются, чем то пульс напоминает))) И индикатор такую же ересь выдает


Если нормально приходят свечки для обоих инструментов - тогда в коннекторе проблем никаких нет. К какому инструменту какая свечка относится можно определить по токену. Как отрисовывать информацию на графике - личное дело каждого )


в принципе решил я вопрос, но как то все очень страшно выглядит(
Спасибо:

seashaman

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


Если запустить 100 коннекторов, как в примере с параллельным тестированием, на каждый коннектор по стратегии, то подвешивается сам Альфадирект, видать не успевает обрабатывать. Сижу думаю, как поэлегантнее решить вопрос одновременной работы сотни-другой стратегий...
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 13.01.2012
Ответить


seashaman Перейти
Если запустить 100 коннекторов, как в примере с параллельным тестированием, на каждый коннектор по стратегии, то подвешивается сам Альфадирект, видать не успевает обрабатывать. Сижу думаю, как поэлегантнее решить вопрос одновременной работы сотни-другой стратегий...


В Альфа-Директ нельзя транзакции с ордерами делать одновременно. Т.е. если, например, две стратегии одноврменно отправят ордера - второй ордер Альфа завернет.

В чем смысл ста коннекторов? Посмотрите код коннекторе - очевидно, что никакого. Достаточно одного.

Если необходимо запускать большие портфели стратегий - прямая дорога на Plaza (или хотя бы на Quik).
Автор топика
Спасибо:

seashaman

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


Sergey Masyura Перейти
seashaman Перейти
Если запустить 100 коннекторов, как в примере с параллельным тестированием, на каждый коннектор по стратегии, то подвешивается сам Альфадирект, видать не успевает обрабатывать. Сижу думаю, как поэлегантнее решить вопрос одновременной работы сотни-другой стратегий...


В Альфа-Директ нельзя транзакции с ордерами делать одновременно. Т.е. если, например, две стратегии одноврменно отправят ордера - второй ордер Альфа завернет.

В чем смысл ста коннекторов? Посмотрите код коннекторе - очевидно, что никакого. Достаточно одного.

Если необходимо запускать большие портфели стратегий - прямая дорога на Plaza (или хотя бы на Quik).


Да я просто не особо углубляясь взял с примера по образцу. Сейчас исправил, на один коннектор навешиваю стратегии. Достаточно шустренько все бегает. Альфа директ не морозит. На проблему одновременного посыла ордеров я еще не натолкнулся.. как вариант можно сделать буфер на край, по очереди их в альфу скармливать.
Спасибо:

Андрей К.

Фотография
Курсы
Дата: 16.01.2012
Ответить


Sergey Masyura Перейти
sergey.masyura Перейти
Основная функциональность в альфа-коннекторе завершена.

Код свободно доступен на https://stocksharpconnect...eControl/list/changesets

Из основных явных недоделок можно выделить:
- отсутствие поддержки опционов
- отсутствие поддержки стоп-ордеров.

В связи с этим, если есть активные пользователи данного коннектора, буду рад услышать замечаниях о багах, фичах и пожеланиях.


Несколько идей для доработки:
- Добавить заявки типа следящий стоп (trailing stop)
- Добавить открытый интерес
- Добавить поддержку загрузки исторических данных.

У кого еще какие будут варианты?


Добрый день, Сергей!

На мой взгляд, добавление заявок типа следящий стоп наиболее ожидаемо из вышеперечисленных доработок. В последней версии такие заявки так и не появились. Может я просмотрел? Тогда прошу прощения...
Спасибо:

seashaman

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


OvcharenkoVI Перейти
Sergey Masyura Перейти
OvcharenkoVI Перейти
свечки получаю и те и другие, на графике получается каша, потому что по мере поступления свеч от разных инструментов они как один инструмент рисуются, чем то пульс напоминает))) И индикатор такую же ересь выдает


Если нормально приходят свечки для обоих инструментов - тогда в коннекторе проблем никаких нет. К какому инструменту какая свечка относится можно определить по токену. Как отрисовывать информацию на графике - личное дело каждого )


в принципе решил я вопрос, но как то все очень страшно выглядит(

OvcharenkoVI, а как, в двух словах, был решен вопрос,?
У меня при регистрации в одном коннекторе двух инструментов, несколько минут идут свечки успешно для обоих. Но потом, первый зарегистрированный в коннекторе, отваливается, свечки продолжают поступать только для одного. Почему отваливается, не понимаю, в логах ошибок не заметил.
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 16.01.2012
Ответить


Andrey270770 Перейти
Sergey Masyura Перейти
sergey.masyura Перейти
Основная функциональность в альфа-коннекторе завершена.

Код свободно доступен на https://stocksharpconnect...eControl/list/changesets

Из основных явных недоделок можно выделить:
- отсутствие поддержки опционов
- отсутствие поддержки стоп-ордеров.

В связи с этим, если есть активные пользователи данного коннектора, буду рад услышать замечаниях о багах, фичах и пожеланиях.


Несколько идей для доработки:
- Добавить заявки типа следящий стоп (trailing stop)
- Добавить открытый интерес
- Добавить поддержку загрузки исторических данных.

У кого еще какие будут варианты?


Добрый день, Сергей!

На мой взгляд, добавление заявок типа следящий стоп наиболее ожидаемо из вышеперечисленных доработок. В последней версии такие заявки так и не появились. Может я просмотрел? Тогда прошу прощения...


Добрый день. Конечно, никто тогда ничего не отписал - соотвественно я сделал вывод, что людям это не нужно. Буду иметь в виду, при возможности добавлю.
Автор топика
Спасибо: OvcharenkoVI

OvcharenkoVI

Фотография
Автор статей
Дата: 16.01.2012
Ответить


seashaman Перейти
OvcharenkoVI Перейти
Sergey Masyura Перейти
OvcharenkoVI Перейти
свечки получаю и те и другие, на графике получается каша, потому что по мере поступления свеч от разных инструментов они как один инструмент рисуются, чем то пульс напоминает))) И индикатор такую же ересь выдает


Если нормально приходят свечки для обоих инструментов - тогда в коннекторе проблем никаких нет. К какому инструменту какая свечка относится можно определить по токену. Как отрисовывать информацию на графике - личное дело каждого )


в принципе решил я вопрос, но как то все очень страшно выглядит(

OvcharenkoVI, а как, в двух словах, был решен вопрос,?
У меня при регистрации в одном коннекторе двух инструментов, несколько минут идут свечки успешно для обоих. Но потом, первый зарегистрированный в коннекторе, отваливается, свечки продолжают поступать только для одного. Почему отваливается, не понимаю, в логах ошибок не заметил.


Создал два AlfaTrader. Для каждого свой Trader.Connect() и Trader.CandlesStarted/Changed/Finished создавались, ну вот так он в принципе стабильно получает свечки, но все же колхозно все выглядит, думаю может объявится потом много багов в этом способе решения( так что буду ждать новый релиз от S#, может когда нибудь появится возможность такая
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 17.01.2012
Ответить


seashaman Перейти
OvcharenkoVI Перейти
Sergey Masyura Перейти
OvcharenkoVI Перейти
свечки получаю и те и другие, на графике получается каша, потому что по мере поступления свеч от разных инструментов они как один инструмент рисуются, чем то пульс напоминает))) И индикатор такую же ересь выдает


Если нормально приходят свечки для обоих инструментов - тогда в коннекторе проблем никаких нет. К какому инструменту какая свечка относится можно определить по токену. Как отрисовывать информацию на графике - личное дело каждого )


в принципе решил я вопрос, но как то все очень страшно выглядит(

OvcharenkoVI, а как, в двух словах, был решен вопрос,?
У меня при регистрации в одном коннекторе двух инструментов, несколько минут идут свечки успешно для обоих. Но потом, первый зарегистрированный в коннекторе, отваливается, свечки продолжают поступать только для одного. Почему отваливается, не понимаю, в логах ошибок не заметил.


На каких вкладках были открыти графики? На разных? Есть мысль, что если график открыт на неактивной вкладке после определенного интревала альфа-директ перестает его обновлять в целях оптимизации. Как только перейти на ту владку - он подгрузит то, что простил. Пробовали на одной вкладке оба графике держать? Идея с двумя коннекторами однозначно плохое решение.
Автор топика
Спасибо:

seashaman

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


Sergey Masyura Перейти
seashaman Перейти
OvcharenkoVI Перейти
Sergey Masyura Перейти
OvcharenkoVI Перейти
свечки получаю и те и другие, на графике получается каша, потому что по мере поступления свеч от разных инструментов они как один инструмент рисуются, чем то пульс напоминает))) И индикатор такую же ересь выдает


Если нормально приходят свечки для обоих инструментов - тогда в коннекторе проблем никаких нет. К какому инструменту какая свечка относится можно определить по токену. Как отрисовывать информацию на графике - личное дело каждого )


в принципе решил я вопрос, но как то все очень страшно выглядит(

OvcharenkoVI, а как, в двух словах, был решен вопрос,?
У меня при регистрации в одном коннекторе двух инструментов, несколько минут идут свечки успешно для обоих. Но потом, первый зарегистрированный в коннекторе, отваливается, свечки продолжают поступать только для одного. Почему отваливается, не понимаю, в логах ошибок не заметил.


На каких вкладках были открыти графики? На разных? Есть мысль, что если график открыт на неактивной вкладке после определенного интревала альфа-директ перестает его обновлять в целях оптимизации. Как только перейти на ту владку - он подгрузит то, что простил. Пробовали на одной вкладке оба графике держать? Идея с двумя коннекторами однозначно плохое решение.

У меня в АД только одна вкладка, специально только под S#. На ней открыты все таблицы ордеров и.тд., сделки и графики по двум интересующим инструментам.Этот вариант отпадает, визуально все движется, понаблюдал. В логах пишет:
15:24:18.734 | Warning | AlfaTrader | Failed to process candles
Несколько коннекторов действительно не очень охота городить. тем более больше 5 коннекторов все клинит в самом альфа директе.
Спасибо:

seashaman

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


Ковыряюсь в процессах, меня терзают смутные сомнения что ошибка в самом коннекторе, событие ProcessHistoryCandles отрабатывается отлично, и свечки, которых не видно в кандле менеджере стратегии, успешно проходят через CandlesChanged.SafeInvoke(token, new [] {candle}); Куда они дальше идут я не вижу, но есть подозрение что это место сбоит. Можно предположить что по неким причинам в хранилище складываются только свечки с последнего секьюрити. Причем первую свечку успешно выдаем всем, а вот следующую только последнему секьюрити зарегестрированному.
Спасибо:

OvcharenkoVI

Фотография
Автор статей
Дата: 17.01.2012
Ответить


seashaman Перейти
Ковыряюсь в процессах, меня терзают смутные сомнения что ошибка в самом коннекторе, событие ProcessHistoryCandles отрабатывается отлично, и свечки, которых не видно в кандле менеджере стратегии, успешно проходят через CandlesChanged.SafeInvoke(token, new [] {candle}); Куда они дальше идут я не вижу, но есть подозрение что это место сбоит. Можно предположить что по неким причинам в хранилище складываются только свечки с последнего секьюрити. Причем первую свечку успешно выдаем всем, а вот следующую только последнему секьюрити зарегестрированному.


вот здесь согласен. сталкивался с этой бедой
Спасибо:

seashaman

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


Все-ж CandleManager неправильно выбирает свечки из коннектора.

trader.CandlesFinished += (t, candlesLocal) =>
{
...
// вот это НЕ работает
var candles = candleManager.GetTimeFrameCandles(strategy.Security, timeFrame, bounds);

// это работает
var candles2 = trader.GetLocalHistoryData(strategy.Security, timeFrame, bounds);
....
}
Выход сейчас один, напрямую по событию конца свечи скармливать в стратегию напрямую данные, в обход кэндле-менеджера. Надеюсь баг локализован окончательно и не заживется долго )

Спасибо:

seashaman

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


ra81 Перейти

То есть старт экспорта наличиствует. Но в итоге ничего не работает. Реакции на изменение таблицы со своими сделками нет. Поправить не сложно, Но не хочется плодить свои сборки, ваши сборки итд. Надо уж както централизованно править чтоли.

У альфа директа есть противная особенность, он нормально работает только с первого коннекта к нему. То есть если в процессе отладки отвалились, и перезапустились, он перестает нормально давать данные. Выход один. В каждом тесте ЗАНОВА запускать клиент. Другого способа устойчивой работы я не нашел (
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 17.01.2012
Ответить


ra81 Перейти
Возможно я уже не первый. Но поиск как-то не выдал толковых результатов. Смотрю в код:

Код
private void TableChanged(string tableName, string tableParams, object data, object fieldtypes)
{
	NewDataExported.SafeInvoke();

	switch (tableName)
	{
		case _marketDepthTable:
			ProcessQuotes.SafeInvoke(tableParams, (string)data);
			break;
		case _tradeTable:
			ProcessTrades.SafeInvoke(tableParams, (string)data);
			break;
		case _securityTable:
			ProcessSecurities.SafeInvoke((string)data, false);
			break;
		case _portfolioTable:
			ProcessPortfolios.SafeInvoke((string)data);
			ProcessPositions.SafeInvoke((string)data);
			break;
		case _orderTable:
			ProcessOrders.SafeInvoke((string)data);
			break;
//		case _positionsTable:
//			ProcessPositions.SafeInvoke((string)data);
//			break;
	}
}


И понимаю почему не работает событие NewMyTrade. Это так и задумано? Или досадное упущение? Я как бы смотрю, Но код для обработки MyTrades во враппере присутствует. Может быть не в полном объеме (не разбирался до конца) но есть. Так же есть код типо такого:
Код
public override void StartExport()
{
	this.AddInfoLog("StartExport()");

	if (IsExportStarted)
	{
		this.AddWarningLog("Export is already started");
		return;
	}

	base.StartExport();
	Wrapper.ReadPortfolios();
	Wrapper.ReadSecurities();

	Wrapper.ReadOrders();
	Wrapper.ReadMyTrades();

        Wrapper.StartExportOrders();
	Wrapper.StartExportPositions();
	Wrapper.StartExportMyTrades();
}

То есть старт экспорта наличиствует. Но в итоге ничего не работает. Реакции на изменение таблицы со своими сделками нет. Поправить не сложно, Но не хочется плодить свои сборки, ваши сборки итд. Надо уж както централизованно править чтоли.


В TableChanged пропущена_myTradesTable, поэтому и не работает. Создавайте отдельные топики для каждой проблемы, будет удобнее )
Автор топика
Спасибо:

ra81

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


Sergey Masyura Перейти

В TableChanged пропущена_myTradesTable, поэтому и не работает. Создавайте отдельные топики для каждой проблемы, будет удобнее )


Да. Я заметил. У себя в коде я поправил и сбилдил библиотеку на базе вашего кода из trunk ветки Кодеплекса.

Ссылка на отдельную тему
https://stocksharp.ru/fo...iet-sobytiia-NewMyTrade/
Спасибо:
<< < 4 5 6 

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

loading
clippy