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


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

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

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

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

Теги:


Спасибо:




145 Ответов
1 2 3  > >>
Sergey Masyura

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


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

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

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

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


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

У кого еще какие будут варианты?
Автор топика
Спасибо:

watashi

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


Уважаемые коллеги, доброго времени суток!

У меня Alfa/SampleGUI не отображает сделки и мои сделки на демо-версии альфадиректа? Какие таблицы в альфе должны быть для этого открыты? Таблица "мои сделки" открыта.

В AlfaConnector работает candleManager? Пробую создавать candleManager - свечи не приходят.

Спасибо.

Спасибо:

Sergey Masyura

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


watashi Перейти
Уважаемые коллеги, доброго времени суток!

У меня Alfa/SampleGUI не отображает сделки и мои сделки на демо-версии альфадиректа? Какие таблицы в альфе должны быть для этого открыты? Таблица "мои сделки" открыта.

В AlfaConnector работает candleManager? Пробую создавать candleManager - свечи не приходят.

Спасибо.



Привет.

Настройка терминала описана на https://stocksharp.ru/doc/ в Альфа-Директ -> Настройка терминала.

Если проблемы с примером, надо смотреть логи. Как подключить логи - https://stocksharp.ru/doc/ в Альфа-Директ -> Отладка.

По поводу свечек - выложите сюда исходник и логи.
Автор топика
Спасибо:

watashi

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


sergey.masyura Перейти
Настройка терминала описана на https://stocksharp.ru/doc/ в Альфа-Директ -> Настройка терминала.

Если проблемы с примером, надо смотреть логи. Как подключить логи - https://stocksharp.ru/doc/ в Альфа-Директ -> Отладка.


Вот логи:

Жму "Подключиться":
Код

16:29:26 | Debug | AlfaTrader      | OnConnect()
16:29:26 | Info  | AlfaTrader      | AlfaDirect v.3.5.2.7
16:29:26 | Debug | AlfaTrader      | StartExport()
16:29:26 | Debug | AlfaWrapper     | ReadPortfolios()
16:29:26 | Debug | AlfaTrader      | OnProcessPortfolios()
16:29:26 | Debug | AlfaTrader      | 148397|1000000,28|1000000,28|
16:29:27 | Debug | AlfaWrapper     | ReadSecurities()
16:29:27 | Debug | AlfaTrader      | OnProcessSecurities
16:29:27 | Debug | AlfaTrader      | 291|Лукойл а.о.|04.08.2011|6|LKOH|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
1119|ММВБ Индекс акций|31.12.9999|6|MICEXINDEXCF|INDEX|RUR|0|0|INDEX|
2317|РТС Индекс|31.12.9999|6|RTSI|INDEX|RUR|0|0|INDEX|
2734|Сургутнефтегаз а.о.|04.08.2011|6|SNGS|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
2862|Ростелеком а.о.|31.12.9999|6|RTKM|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
5859|Газпром а.о.|04.08.2011|6|GAZP|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
9838|ГМК НорНикель а.о.|04.08.2011|6|GMKN|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12910|Сбербанк а.о. 3 в.|04.08.2011|6|SBER3|MICEX_SHR|RUR|0|0|MCX_SHR_LST|

16:29:27 | Debug | AlfaTrader      | Security create : 291|Лукойл а.о.|04.08.2011|6|LKOH|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
16:29:27 | Debug | AlfaTrader      | Security create : 1119|ММВБ Индекс акций|31.12.9999|6|MICEXINDEXCF|INDEX|RUR|0|0|INDEX|
16:29:27 | Debug | AlfaTrader      | Security create : 2317|РТС Индекс|31.12.9999|6|RTSI|INDEX|RUR|0|0|INDEX|
16:29:27 | Debug | AlfaTrader      | Security create : 2734|Сургутнефтегаз а.о.|04.08.2011|6|SNGS|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
16:29:27 | Debug | AlfaTrader      | Security create : 2862|Ростелеком а.о.|31.12.9999|6|RTKM|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
16:29:27 | Debug | AlfaTrader      | Security create : 5859|Газпром а.о.|04.08.2011|6|GAZP|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
16:29:27 | Debug | AlfaTrader      | Security create : 9838|ГМК НорНикель а.о.|04.08.2011|6|GMKN|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
16:29:27 | Debug | AlfaTrader      | Security create : 12910|Сбербанк а.о. 3 в.|04.08.2011|6|SBER3|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
16:29:27 | Debug | AlfaWrapper     | ReadOrders()
16:29:27 | Debug | AlfaTrader      | OnProcessOrders()
16:29:27 | Debug |                 | 73810718|148397-000|291|M|B|1865,1|1|1|29.07.2011 10:33:50||
73812220|148397-000|291|M|S|1839|1|1|29.07.2011 10:41:43|38476122|

16:29:27 | Debug | AlfaTrader      | create order: id = 73810718
16:29:29 | Debug | AlfaTrader      | update order: id = 73810718
16:29:30 | Debug | AlfaTrader      | create order: id = 73812220
16:29:30 | Debug | AlfaTrader      | update order: id = 73812220
16:29:30 | Debug | AlfaWrapper     | ReadMyTrades()
16:29:30 | Debug | AlfaTrader      | OnProcessMyTrades()
16:29:30 | Debug |                 | 110812747|73810718|148397|291|1846,5|1|B|29.07.2011 10:33:50|
110813833|73812220|148397|291|1849|1|S|29.07.2011 10:41:43|

16:29:30 | Debug | AlfaTrader      | OnProcessPositions()
16:29:30 | Debug |                 | 148397|291|0|LKOH|
148397|331|1000000,28|money|


Жму "Сделки": В лог ничего не выводится. Окно "Сделки" пустое.


sergey.masyura Перейти
По поводу свечек - выложите сюда исходник и логи.


Выкладываю. Лог:

Код

16:56:42 | Debug | AlfaTrader      | OnConnect()
16:56:43 | Info  | AlfaTrader      | AlfaDirect v.3.5.2.7
16:56:43 | Debug | AlfaTrader      | StartExport()
16:56:43 | Debug | AlfaWrapper     | ReadPortfolios()
16:56:43 | Debug | AlfaTrader      | OnProcessPortfolios()
16:56:43 | Debug | AlfaTrader      | 148397|1000000,28|1000000,28|

16:56:43 | Debug | AlfaWrapper     | ReadSecurities()
16:56:43 | Debug | AlfaTrader      | OnProcessSecurities
16:56:43 | Debug | AlfaTrader      | 291|Лукойл а.о.|04.08.2011|6|LKOH|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
1119|ММВБ Индекс акций|31.12.9999|6|MICEXINDEXCF|INDEX|RUR|0|0|INDEX|
2317|РТС Индекс|31.12.9999|6|RTSI|INDEX|RUR|0|0|INDEX|
2734|Сургутнефтегаз а.о.|04.08.2011|6|SNGS|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
2862|Ростелеком а.о.|31.12.9999|6|RTKM|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
5859|Газпром а.о.|04.08.2011|6|GAZP|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
9838|ГМК НорНикель а.о.|04.08.2011|6|GMKN|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12910|Сбербанк а.о. 3 в.|04.08.2011|6|SBER3|MICEX_SHR|RUR|0|0|MCX_SHR_LST|

16:56:43 | Debug | AlfaTrader      | Security create : 291|Лукойл а.о.|04.08.2011|6|LKOH|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
16:56:43 | Debug | AlfaTrader      | Security create : 1119|ММВБ Индекс акций|31.12.9999|6|MICEXINDEXCF|INDEX|RUR|0|0|INDEX|
16:56:43 | Debug | AlfaTrader      | Security create : 2317|РТС Индекс|31.12.9999|6|RTSI|INDEX|RUR|0|0|INDEX|
16:56:43 | Debug | AlfaTrader      | Security create : 2734|Сургутнефтегаз а.о.|04.08.2011|6|SNGS|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
16:56:43 | Debug | AlfaTrader      | Security create : 2862|Ростелеком а.о.|31.12.9999|6|RTKM|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
16:56:44 | Debug | AlfaTrader      | Security create : 5859|Газпром а.о.|04.08.2011|6|GAZP|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
16:56:44 | Debug | AlfaTrader      | Security create : 9838|ГМК НорНикель а.о.|04.08.2011|6|GMKN|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
16:56:44 | Debug | AlfaTrader      | Security create : 12910|Сбербанк а.о. 3 в.|04.08.2011|6|SBER3|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
16:56:44 | Debug | AlfaWrapper     | ReadOrders()
16:56:44 | Debug | AlfaTrader      | OnProcessOrders()
16:56:44 | Debug |                 | 73810718|148397-000|291|M|B|1865,1|1|1|29.07.2011 10:33:50||
73812220|148397-000|291|M|S|1839|1|1|29.07.2011 10:41:43|38476122|

16:56:44 | Debug | AlfaTrader      | create order: id = 73810718
16:56:46 | Debug | AlfaTrader      | update order: id = 73810718
16:56:46 | Debug | AlfaTrader      | create order: id = 73812220
16:56:46 | Debug | AlfaTrader      | update order: id = 73812220
16:56:46 | Debug | AlfaWrapper     | ReadMyTrades()
16:56:46 | Debug | AlfaTrader      | OnProcessMyTrades()
16:56:46 | Debug |                 | 110812747|73810718|148397|291|1846,5|1|B|29.07.2011 10:33:50|
110813833|73812220|148397|291|1849|1|S|29.07.2011 10:41:43|

16:56:46 | Debug | AlfaTrader      | OnProcessPositions()
16:56:46 | Debug |                 | 148397|291|0|LKOH|
148397|331|1000000,28|money|


Исходник:

Код

namespace SampleGUI
{
	using System;
	using System.Collections.Generic;
	using System.ComponentModel;
	using System.Diagnostics;
	using System.Windows;
	using System.Windows.Media;

	using MessageBox = System.Windows.MessageBox;

	using Ecng.Collections;
	using Ecng.Xaml;

	using StockSharp.BusinessEntities;
	using StockSharp.AlfaDirect;
    using StockSharp.Algo.Candles;

	public partial class MainWindow
	{
		private bool _isConnected;

		public AlfaTrader Trader;

		private readonly SecuritiesWindow _securitiesWindow = new SecuritiesWindow();
		private readonly TradesWindow _tradesWindow = new TradesWindow();
		private readonly MyTradesWindow _myTradesWindow = new MyTradesWindow();
		private readonly OrdersWindow _ordersWindow = new OrdersWindow();
		private readonly PortfoliosWindow _portfoliosWindow = new PortfoliosWindow();
		private readonly PositionsWindow _positionsWindow = new PositionsWindow();

        private CandleManager _candleManager;
        private readonly TimeSpan _timeFrame = TimeSpan.FromMinutes(1);
        private Security _lkoh;

        public MainWindow()
		{
			InitializeComponent();
			MainWindow.Instance = this;

			Logger.Instance().Updated += UpdateLog;
		}

		private static void UpdateLog()
		{
			var entries = Logger.Instance().NewEntries;

			if (entries.Count == 0)
				return;

			foreach (var entry in entries)
			{
				var text = String.Format("{0:HH:mm:ss} | {1,-5} | {2,-15} | {3}",
					DateTime.Now, entry.Level, entry.Source, entry.Message);

                Trace.WriteLine(text);
                Trace.Flush();
            }
		}

		protected override void OnClosing(CancelEventArgs e)
		{
			_ordersWindow.RealClose = _myTradesWindow.RealClose =
			_tradesWindow.RealClose = _securitiesWindow.RealClose =
			_portfoliosWindow.RealClose = _positionsWindow.RealClose = true;
			
			_securitiesWindow.Close();
			_tradesWindow.Close();
			_myTradesWindow.Close();
			_ordersWindow.Close();
			_portfoliosWindow.Close();
			_positionsWindow.Close();

			if (this.Trader != null)
				this.Trader.Dispose();

			base.OnClosing(e);
		}

		public static MainWindow Instance { get; private set; }

		private void Connect_Click(object sender, RoutedEventArgs e)
		{
			try
			{
				if (!_isConnected)
				{
					if (this.Trader == null)
					{
						// создаем шлюз
						this.Trader = new AlfaTrader();

						// инициализируем механизм переподключения (будет автоматически соединяться
						// каждые 10 секунд, если шлюз потеряется связь с сервером)
						this.Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);
						//this.Trader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;
						this.Trader.ReConnectionSettings.ConnectionRestored += () => this.GuiAsync(() =>
						{
							// разблокируем кнопку Экспорт (соединение было восстановлено)
							ChangeConnectStatus(true);
							MessageBox.Show(this, "Соединение восстановлено.");
						});

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

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

						// подписываемся на событие разрыва соединения
						this.Trader.ConnectionError += error => this.GuiAsync(() =>
						{
							// заблокируем кнопку Экспорт (так как соединение было потеряно)
							ChangeConnectStatus(false);

							MessageBox.Show(this, error.ToString(), "Ошибка соединения");
						});

						this.Trader.ProcessDataError += error => this.GuiAsync(() => MessageBox.Show(this, error.ToString(), "Ошибка обработки данных"));

						this.Trader.NewSecurities += securities => 
                            {
                                this.GuiAsync(() => _securitiesWindow.AddSecurities(securities));
                                foreach (Security security in securities)
                                    {
                                        if (security.Code == "LKOH") {_lkoh = security; break; };
                                    };
                                if (_lkoh != null)
                                {
                                    this.GuiAsync(() => logTextBox.AppendText("Инструмент " + _lkoh.Code + " найден." + System.Environment.NewLine));
                                }
                            };
						this.Trader.NewMyTrades += trades => this.GuiAsync(() => _myTradesWindow.Trades.AddRange(trades));
                        this.Trader.NewTrades += trades => this.GuiAsync(() => _tradesWindow.Trades.AddRange(trades));
						this.Trader.NewOrders += orders => this.GuiAsync(() => _ordersWindow.Orders.AddRange(orders));
						this.Trader.NewPortfolios += portfolios => _portfoliosWindow.Portfolios.AddRange(portfolios);
						this.Trader.NewPositions += positions => this.GuiAsync(() => _positionsWindow.Positions.AddRange(positions));

						// подписываемся на событие о неудачной регистрации заявок
						this.Trader.OrdersFailed += OrdersFailed;

						// подписываемся на событие о неудачной регистрации стоп-заявок
						this.Trader.StopOrdersFailed += OrdersFailed;

						this.ShowSecurities.IsEnabled = this.ShowTrades.IsEnabled =
						this.ShowMyTrades.IsEnabled = this.ShowOrders.IsEnabled =
						this.ShowPortfolios.IsEnabled = this.ShowPositions.IsEnabled = true;

						this.Trader.Connected += this.Trader.StartExport;

                        _candleManager = new CandleManager(Trader);
                        
                        _candleManager.CandlesFinished += (token, candles) =>
                        {
                            foreach (Candle candle in candles)
                            {
                                this.GuiAsync(() => logTextBox.AppendText(DateTime.Now.ToString("HH:mm:ss fff") + " candle finished "
                                    + candle.Time + " " + candle.OpenPrice + " " + candle.HighPrice + " " + candle.LowPrice + " "
                                    + candle.ClosePrice + System.Environment.NewLine));
                            }
                        };

                        _candleManager.CandlesChanged += (token, candles) =>
                        {
                            foreach (Candle candle in candles)
                            {
                                    this.GuiAsync(() => logTextBox.AppendText(DateTime.Now.ToString("HH:mm:ss fff") + " candle changed "
                                        + candle.Time + " " + candle.OpenPrice + " " + candle.HighPrice + " " + candle.LowPrice + " "
                                        + candle.ClosePrice + System.Environment.NewLine));
                            }

                        };

					}

					this.Trader.Connect();

                    _candleManager.RegisterTimeFrameCandles(_lkoh, _timeFrame);

				}
				else
				{
					this.Trader.Disconnect();
				}
			}
			catch (Exception ex)
			{
				MessageBox.Show(this, ex.Message, "Ошибка");
			}
		}

		private void OrdersFailed(IEnumerable<OrderFail> fails)
		{
			this.GuiAsync(() =>
			{
				foreach (var fail in fails)
					MessageBox.Show(this, fail.Error.ToString(), "Ошибка регистрации заявки");
			});
		}

		private void ChangeConnectStatus(bool isConnected)
		{
			_isConnected = isConnected;
			this.ConnectBtn.Content = isConnected ? "Отключиться" : "Подключиться";
			this.connectionStatus.Content = isConnected ? "Подключен" : "Не подключен";
			connectionStatus.Background = new SolidColorBrush(isConnected ? Colors.LightGreen : Colors.LightPink);
		}

		private void ShowSecurities_Click(object sender, RoutedEventArgs e)
		{
			ShowOrHide(_securitiesWindow);
		}

		private void ShowTrades_Click(object sender, RoutedEventArgs e)
		{
			ShowOrHide(_tradesWindow);
		}

		private void ShowMyTrades_Click(object sender, RoutedEventArgs e)
		{
			ShowOrHide(_myTradesWindow);
		}

		private void ShowOrders_Click(object sender, RoutedEventArgs e)
		{
			ShowOrHide(_ordersWindow);
		}

		private void ShowPortfolios_Click(object sender, RoutedEventArgs e)
		{
			ShowOrHide(_portfoliosWindow);
		}

		private void ShowPositions_Click(object sender, RoutedEventArgs e)
		{
			ShowOrHide(_positionsWindow);
		}

		private static void ShowOrHide(Window window)
		{
			if (window == null)
				throw new ArgumentNullException("window");

			if (window.Visibility == Visibility.Visible)
				window.Hide();
			else
				window.Show();
		}

        private void logTextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
        {
            logTextBox.ScrollToEnd();
        }
	}
}


Спасибо!
Спасибо: Sergey Masyura

Sergey Masyura

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


watashi Перейти
sergey.masyura Перейти
Настройка терминала описана на https://stocksharp.ru/doc/ в Альфа-Директ -> Настройка терминала.

Если проблемы с примером, надо смотреть логи. Как подключить логи - https://stocksharp.ru/doc/ в Альфа-Директ -> Отладка.


Вот логи:

...

Спасибо!


Спасибо за описание. Проблема воспроизводится.

http://stocksharp.codeplex.com/workitem/483

Как будет время поправлю.
Автор топика
Спасибо:

Sergey Masyura

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


sergey.masyura Перейти
watashi Перейти
sergey.masyura Перейти
Настройка терминала описана на https://stocksharp.ru/doc/ в Альфа-Директ -> Настройка терминала.

Если проблемы с примером, надо смотреть логи. Как подключить логи - https://stocksharp.ru/doc/ в Альфа-Директ -> Отладка.


Вот логи:

...

Спасибо!


Спасибо за описание. Проблема воспроизводится.

https://stocksharp.codeplex.com/workitem/483

Как будет время поправлю.


Исправлено. Проверьте, пожалуйста.
Автор топика
Спасибо:

watashi

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


sergey.masyura Перейти
Исправлено. Проверьте, пожалуйста.


Проверил. По-прежнему не работает (в окне Сделки сделок нет).
Спасибо:

watashi

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


Еще, когда нажимаю "Отключиться" такая ошибка возникает:
Код

---------------------------
Ошибка соединения
---------------------------
System.TimeoutException: Соединение не было разорвано в отведенный отрезок времени.
---------------------------
ОК   
---------------------------


Вот логи:

Код

12:13:03 | Debug | AlfaTrader      | OnConnect()
12:13:03 | Info  | AlfaTrader      | AlfaDirect v.3.5.2.7
12:13:03 | Debug | AlfaTrader      | StartExport()
12:13:03 | Debug | AlfaWrapper     | ReadPortfolios()
12:13:03 | Debug | AlfaTrader      | OnProcessPortfolios()
12:13:03 | Debug | AlfaTrader      | 148397|1000000,28|1000000,28|

12:13:04 | Debug | AlfaWrapper     | ReadSecurities()
12:13:04 | Debug | AlfaTrader      | OnProcessSecurities
12:13:04 | Debug | AlfaTrader      | 291|Лукойл а.о.|05.08.2011|6|LKOH|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
1119|ММВБ Индекс акций|31.12.9999|6|MICEXINDEXCF|INDEX|RUR|0|0|INDEX|
2317|РТС Индекс|31.12.9999|6|RTSI|INDEX|RUR|0|0|INDEX|
2734|Сургутнефтегаз а.о.|05.08.2011|6|SNGS|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
2862|Ростелеком а.о.|31.12.9999|6|RTKM|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
5859|Газпром а.о.|05.08.2011|6|GAZP|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
9838|ГМК НорНикель а.о.|05.08.2011|6|GMKN|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12910|Сбербанк а.о. 3 в.|05.08.2011|6|SBER3|MICEX_SHR|RUR|0|0|MCX_SHR_LST|

12:13:04 | Debug | AlfaTrader      | Security create : 291|Лукойл а.о.|05.08.2011|6|LKOH|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12:13:04 | Debug | AlfaTrader      | Security create : 1119|ММВБ Индекс акций|31.12.9999|6|MICEXINDEXCF|INDEX|RUR|0|0|INDEX|
12:13:04 | Debug | AlfaTrader      | Security create : 2317|РТС Индекс|31.12.9999|6|RTSI|INDEX|RUR|0|0|INDEX|
12:13:04 | Debug | AlfaTrader      | Security create : 2734|Сургутнефтегаз а.о.|05.08.2011|6|SNGS|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
12:13:04 | Debug | AlfaTrader      | Security create : 2862|Ростелеком а.о.|31.12.9999|6|RTKM|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12:13:04 | Debug | AlfaTrader      | Security create : 5859|Газпром а.о.|05.08.2011|6|GAZP|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
12:13:04 | Debug | AlfaTrader      | Security create : 9838|ГМК НорНикель а.о.|05.08.2011|6|GMKN|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12:13:04 | Debug | AlfaTrader      | Security create : 12910|Сбербанк а.о. 3 в.|05.08.2011|6|SBER3|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12:13:04 | Debug | AlfaWrapper     | ReadOrders()
12:13:04 | Debug | AlfaWrapper     | ReadMyTrades()
12:13:04 | Debug | AlfaTrader      | OnProcessPositions()
12:13:04 | Debug |                 | 148397|331|1000000,28|money|

12:13:38 | Debug | AlfaTrader      | OnDisconnect()
Спасибо:

Sergey Masyura

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


watashi Перейти
Еще, когда нажимаю "Отключиться" такая ошибка возникает:
Код

---------------------------
Ошибка соединения
---------------------------
System.TimeoutException: Соединение не было разорвано в отведенный отрезок времени.
---------------------------
ОК   
---------------------------


Вот логи:

Код

12:13:03 | Debug | AlfaTrader      | OnConnect()
12:13:03 | Info  | AlfaTrader      | AlfaDirect v.3.5.2.7
12:13:03 | Debug | AlfaTrader      | StartExport()
12:13:03 | Debug | AlfaWrapper     | ReadPortfolios()
12:13:03 | Debug | AlfaTrader      | OnProcessPortfolios()
12:13:03 | Debug | AlfaTrader      | 148397|1000000,28|1000000,28|

12:13:04 | Debug | AlfaWrapper     | ReadSecurities()
12:13:04 | Debug | AlfaTrader      | OnProcessSecurities
12:13:04 | Debug | AlfaTrader      | 291|Лукойл а.о.|05.08.2011|6|LKOH|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
1119|ММВБ Индекс акций|31.12.9999|6|MICEXINDEXCF|INDEX|RUR|0|0|INDEX|
2317|РТС Индекс|31.12.9999|6|RTSI|INDEX|RUR|0|0|INDEX|
2734|Сургутнефтегаз а.о.|05.08.2011|6|SNGS|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
2862|Ростелеком а.о.|31.12.9999|6|RTKM|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
5859|Газпром а.о.|05.08.2011|6|GAZP|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
9838|ГМК НорНикель а.о.|05.08.2011|6|GMKN|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12910|Сбербанк а.о. 3 в.|05.08.2011|6|SBER3|MICEX_SHR|RUR|0|0|MCX_SHR_LST|

12:13:04 | Debug | AlfaTrader      | Security create : 291|Лукойл а.о.|05.08.2011|6|LKOH|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12:13:04 | Debug | AlfaTrader      | Security create : 1119|ММВБ Индекс акций|31.12.9999|6|MICEXINDEXCF|INDEX|RUR|0|0|INDEX|
12:13:04 | Debug | AlfaTrader      | Security create : 2317|РТС Индекс|31.12.9999|6|RTSI|INDEX|RUR|0|0|INDEX|
12:13:04 | Debug | AlfaTrader      | Security create : 2734|Сургутнефтегаз а.о.|05.08.2011|6|SNGS|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
12:13:04 | Debug | AlfaTrader      | Security create : 2862|Ростелеком а.о.|31.12.9999|6|RTKM|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12:13:04 | Debug | AlfaTrader      | Security create : 5859|Газпром а.о.|05.08.2011|6|GAZP|MICEX_SHR|RUR|0|0|MCX_SHR_NLST|
12:13:04 | Debug | AlfaTrader      | Security create : 9838|ГМК НорНикель а.о.|05.08.2011|6|GMKN|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12:13:04 | Debug | AlfaTrader      | Security create : 12910|Сбербанк а.о. 3 в.|05.08.2011|6|SBER3|MICEX_SHR|RUR|0|0|MCX_SHR_LST|
12:13:04 | Debug | AlfaWrapper     | ReadOrders()
12:13:04 | Debug | AlfaWrapper     | ReadMyTrades()
12:13:04 | Debug | AlfaTrader      | OnProcessPositions()
12:13:04 | Debug |                 | 148397|331|1000000,28|money|

12:13:38 | Debug | AlfaTrader      | OnDisconnect()



Судя по логам у Вас и в самом терминале на сегодня не было сделок.

1. Проверьте что в терминале в окне сделок они есть.
2. Провертье что обновили библиотеку Stocksharp.Alfadirect.dll
Автор топика
Спасибо:

watashi

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


sergey.masyura Перейти

1. Проверьте что в терминале в окне сделок они есть.


В таблице сделок есть сделки по Лукойлу.


Uploaded with ImageShack.us

sergey.masyura Перейти

2. Провертье что обновили библиотеку Stocksharp.Alfadirect.dll


Скачал эту версию "7954 by masyura Jul 30 at 12:29 AM - [Альфа] Исправлено получение Моих Сделок" на http://stocksharp.codeplex.com/
Открыл stocksharp-7954\Connectors\Alfa\Alfa.sln. Скомпилировал. Заменил файл в своем проекте. Удалил и заново добавил в References.

Не работает.
Спасибо:

Sergey Masyura

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


watashi Перейти


Скачал эту версию "7954 by masyura Jul 30 at 12:29 AM - [Альфа] Исправлено получение Моих Сделок" на https://stocksharp.codeplex.com/
Открыл stocksharp-7954\Connectors\Alfa\Alfa.sln. Скомпилировал. Заменил файл в своем проекте. Удалил и заново добавил в References.

Не работает.


Это демо-счет в Альфе?
Автор топика
Спасибо:

watashi

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


sergey.masyura Перейти
Это демо-счет в Альфе?


Ну да, демо-счет. Я об этом в первом же посте написал.
Спасибо:

freewayrider

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


иногда появляется блуждающая ошибка
Спасибо:

Sergey Masyura

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


freewayrider Перейти
иногда появляется блуждающая ошибка


У Вас старый код. В последней версии строчки закомментированы.

Код

if (details[9].Length > 0)
{
// Read transaction id from the comments
// TODO: Fix how to update orders from the terminal and preserve same tr. id.
//order.TransactionId = details[9].To<long>();
}


Для багов есть открытый Issue Tracker - http://stocksharp.codepl.../workitem/list/advanced . Так что просьба репортить туда.
Автор топика
Спасибо:

Sergey Masyura

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


watashi Перейти
sergey.masyura Перейти
Это демо-счет в Альфе?


Ну да, демо-счет. Я об этом в первом же посте написал.


На демо и счете и ММВБ пока нет возможности проверить, но на рабочем логине и фортс "мои сделки" стали отображаться.

Кто-нибудь еще может проверить на последней версии?
Автор топика
Спасибо:

watashi

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


sergey.masyura Перейти
На демо и счете и ММВБ пока нет возможности проверить, но на рабочем логине и фортс "мои сделки" стали отображаться.

Кто-нибудь еще может проверить на последней версии?


Хочу уточнить как должен работать пример Samples\AlfaDirect\SampleGUI:
1) В альфе должна быть открыта непустая таблица Сделки.
2) Альфа должна быть настроена в соответствии с документацией S#.
3) Запускаем SampleGUI. Жмем "Подключиться".
4) Жмем "Сделки...". В открывшемся окне должны отображаться сделки из таблицы Сделки в Альфе.

Правильно?

PS: Я правильно понимаю, что свечи в candleManager'е формируются на основе этих данных о сделках?
Спасибо:

watashi

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


sergey.masyura Перейти
watashi Перейти
sergey.masyura Перейти
Это демо-счет в Альфе?


Ну да, демо-счет. Я об этом в первом же посте написал.


На демо и счете и ММВБ пока нет возможности проверить, но на рабочем логине и фортс "мои сделки" стали отображаться.

Кто-нибудь еще может проверить на последней версии?


"Мои сделки" на реале работает. Таблица "Сделки" на реале по-прежнему пустая.
Спасибо:

Sergey Masyura

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


watashi Перейти
sergey.masyura Перейти
На демо и счете и ММВБ пока нет возможности проверить, но на рабочем логине и фортс "мои сделки" стали отображаться.

Кто-нибудь еще может проверить на последней версии?


Хочу уточнить как должен работать пример Samples\AlfaDirect\SampleGUI:
1) В альфе должна быть открыта непустая таблица Сделки.
2) Альфа должна быть настроена в соответствии с документацией S#.
3) Запускаем SampleGUI. Жмем "Подключиться".
4) Жмем "Сделки...". В открывшемся окне должны отображаться сделки из таблицы Сделки в Альфе.

Правильно?

PS: Я правильно понимаю, что свечи в candleManager'е формируются на основе этих данных о сделках?


Спасибо за прояснения. Фикс был сделан именно для Моих Сделок.

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

CandleManager строит свечки по сделкам, все верно.
Автор топика
Спасибо:

Sergey Masyura

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


watashi Перейти
sergey.masyura Перейти
watashi Перейти
sergey.masyura Перейти
Это демо-счет в Альфе?


Ну да, демо-счет. Я об этом в первом же посте написал.


На демо и счете и ММВБ пока нет возможности проверить, но на рабочем логине и фортс "мои сделки" стали отображаться.

Кто-нибудь еще может проверить на последней версии?


"Мои сделки" на реале работает. Таблица "Сделки" на реале по-прежнему пустая.


Недоработка примера - http://stocksharp.codeplex.com/workitem/490
Автор топика
Спасибо:

watashi

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


sergey.masyura Перейти
Спасибо за прояснения. Фикс был сделан именно для Моих Сделок.

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


Пример уже исправлен? Где можно исправленный посмотреть?

Разве вот эта строчка не подписывает на получение сделок?
Код
this.Trader.NewTrades += trades => this.GuiAsync(() => _tradesWindow.Trades.AddRange(trades));

Спасибо:

Sergey Masyura

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


watashi Перейти
sergey.masyura Перейти
Спасибо за прояснения. Фикс был сделан именно для Моих Сделок.

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


Пример уже исправлен? Где можно исправленный посмотреть?

Разве вот эта строчка не подписывает на получение сделок?
Код
this.Trader.NewTrades += trades => this.GuiAsync(() => _tradesWindow.Trades.AddRange(trades));



Нет, не подписывает. Это всего лишь добавление своего обработчика на событие. Запуск экспорта сделок происходит после вызова RegisterTrades.

Пример исправлю как дойдет до него очередь в моих планах.
Автор топика
Спасибо:

watashi

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


sergey.masyura Перейти
Пример исправлю как дойдет до него очередь в моих планах.


А можно в двух словах, что там нужно добавить? Очень срочно надо. )))
Спасибо:

Sergey Masyura

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


watashi Перейти
sergey.masyura Перейти
Пример исправлю как дойдет до него очередь в моих планах.


А можно в двух словах, что там нужно добавить? Очень срочно надо. )))


Сделал. В двух словах явно бы не получилось описать. Из окна Инструменты сделки открываются также как и стаканы.
Автор топика
Спасибо: watashi

watashi

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


sergey.masyura Перейти
Сделал. В двух словах явно бы не получилось описать. Из окна Инструменты сделки открываются также как и стаканы.


Спасибо. Все работает. ThumpUp
Спасибо:

Doctor

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


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

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

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

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


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

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


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

А открытый интерес поддеживается альфа-коннектором? Или эти идеи пока для будущих фич?

Спасибо,
Спасибо:
1 2 3  > >>

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

loading
clippy