Exemple #1
0
		public CustomExportMessage(DdeCustomTable table)
			: this(CustomExportType.Table)
		{
			if (table == null)
				throw new ArgumentNullException(nameof(table));

			Table = table;
		}
 /// <summary>
 /// Остановить экспорт данных из торговой системы в программу для произвольной таблицы, зарегистрированной в <see cref="QuikTrader.CustomTables"/>.
 /// </summary>
 /// <param name="customTable">Описание DDE экспорта произвольной таблицы.</param>
 public void StopExport(DdeCustomTable customTable)
 {
     CheckIsDde();
     SendInMessage(new CustomExportMessage(customTable)
     {
         IsSubscribe = false
     });
 }
        ///// <summary>
        ///// Запустить экспорт данных из торговой системы в программу по таблицам, указанных параметром ddeTables.
        ///// </summary>
        ///// <example><code>// запускаем экспорт по таблице инструментов и заявкам.
        ///// _trader.StartExport(_trader.SecuritiesTable, _trader.OrdersTable);</code></example>
        ///// <param name="ddeTables">Таблицы, для которых необходимо запустить экспорт через DDE.</param>
        //public void StartExport(IEnumerable<DdeTable> ddeTables)
        //{
        //	CheckIsDde();
        //	ExportState = ConnectionStates.Connecting;
        //	SendInMessage(new CustomExportMessage(ddeTables) { IsSubscribe = true });
        //}

        ///// <summary>
        ///// Остановить экспорт данных из торговой системы в программу по таблицам, указанных параметром ddeTables.
        ///// </summary>
        ///// <param name="ddeTables">Таблицы, для которых необходимо остановить экспорт через DDE.</param>
        //public void StopExport(IEnumerable<DdeTable> ddeTables)
        //{
        //	CheckIsDde();
        //	SendInMessage(new CustomExportMessage(ddeTables) { IsSubscribe = false });
        //}

        /// <summary>
        /// Запустить экспорт данных из торговой системы в программу для произвольной таблицы, зарегистрированной в <see cref="QuikTrader.CustomTables"/>.
        /// </summary>
        /// <param name="customTable">Описание DDE экспорта произвольной таблицы.</param>
        public void StartExport(DdeCustomTable customTable)
        {
            CheckIsDde();
            //ExportState = ConnectionStates.Connecting;
            SendInMessage(new CustomExportMessage(customTable)
            {
                IsSubscribe = true
            });
        }
        public CustomExportMessage(DdeCustomTable table)
            : this(CustomExportType.Table)
        {
            if (table == null)
            {
                throw new ArgumentNullException("table");
            }

            Table = table;
        }
Exemple #5
0
		/// <summary>
		/// Остановить экспорт данных из торговой системы в программу для произвольной таблицы, зарегистрированной в <see cref="QuikTrader.CustomTables"/>.
		/// </summary>
		/// <param name="customTable">Описание DDE экспорта произвольной таблицы.</param>
		public void StopExport(DdeCustomTable customTable)
		{
			CheckIsDde();
			SendInMessage(new CustomExportMessage(customTable) { IsSubscribe = false });
		}
Exemple #6
0
		///// <summary>
		///// Запустить экспорт данных из торговой системы в программу по таблицам, указанных параметром ddeTables.
		///// </summary>
		///// <example><code>// запускаем экспорт по таблице инструментов и заявкам.
		///// _trader.StartExport(_trader.SecuritiesTable, _trader.OrdersTable);</code></example>
		///// <param name="ddeTables">Таблицы, для которых необходимо запустить экспорт через DDE.</param>
		//public void StartExport(IEnumerable<DdeTable> ddeTables)
		//{
		//	CheckIsDde();
		//	ExportState = ConnectionStates.Connecting;
		//	SendInMessage(new CustomExportMessage(ddeTables) { IsSubscribe = true });
		//}

		///// <summary>
		///// Остановить экспорт данных из торговой системы в программу по таблицам, указанных параметром ddeTables.
		///// </summary>
		///// <param name="ddeTables">Таблицы, для которых необходимо остановить экспорт через DDE.</param>
		//public void StopExport(IEnumerable<DdeTable> ddeTables)
		//{
		//	CheckIsDde();
		//	SendInMessage(new CustomExportMessage(ddeTables) { IsSubscribe = false });
		//}

		/// <summary>
		/// Запустить экспорт данных из торговой системы в программу для произвольной таблицы, зарегистрированной в <see cref="QuikTrader.CustomTables"/>.
		/// </summary>
		/// <param name="customTable">Описание DDE экспорта произвольной таблицы.</param>
		public void StartExport(DdeCustomTable customTable)
		{
			CheckIsDde();
			//ExportState = ConnectionStates.Connecting;
			SendInMessage(new CustomExportMessage(customTable) { IsSubscribe = true });
		}
Exemple #7
0
 /// <summary>
 /// Остановить экспорт данных из торговой системы в программу для произвольной таблицы, зарегистрированной в <see cref="QuikTrader.CustomTables"/>.
 /// </summary>
 /// <param name="customTable">Описание DDE экспорта произвольной таблицы.</param>
 public void StopExport(DdeCustomTable customTable)
 {
     CheckIsDde();
     MarketDataAdapter.SendInMessage(new CustomExportMessage(false, customTable));
 }
Exemple #8
0
 /// <summary>
 /// Запустить экспорт данных из торговой системы в программу для произвольной таблицы, зарегистрированной в <see cref="QuikTrader.CustomTables"/>.
 /// </summary>
 /// <param name="customTable">Описание DDE экспорта произвольной таблицы.</param>
 public void StartExport(DdeCustomTable customTable)
 {
     CheckIsDde();
     ExportState = ConnectionStates.Connecting;
     MarketDataAdapter.SendInMessage(new CustomExportMessage(true, customTable));
 }
		private void ConnectClick(object sender, RoutedEventArgs e)
		{
			if (!_isConnected)
			{
				if (Path.Text.IsEmpty())
					MessageBox.Show(this, LocalizedStrings.Str2969);
				else
				{
					if (Trader == null)
					{
						// создаем подключение
						Trader = new QuikTrader(Path.Text) { IsDde = true };

						// возводим флаг, что соединение установлено
						_isConnected = true;

						// подписываемся на событие ошибки соединения
						Trader.ConnectionError += error => this.GuiAsync(() => MessageBox.Show(this, error.ToString()));

						// добавляем тип QuikCandle для преобразования строчки из таблица Исторические свечи в объект QuikCandle
						_table = new DdeCustomTable(typeof(QuikCandle));
						Trader.CustomTables.Add(_table);

						Trader.NewCustomTables += (type, objects) =>
						{
							// нас интересует только QuikCandle
							if (type == typeof(QuikCandle))
								_candlesWindow.Candles.AddRange(objects.Cast<QuikCandle>());
						};

						Trader.Connected += () => this.GuiAsync(() =>
						{
							ShowCandles.IsEnabled = true;
							ExportDde.IsEnabled = true;

							_isConnected = true;
							ConnectBtn.Content = LocalizedStrings.Disconnect;
						});

						Trader.Disconnected += () => this.GuiAsync(() =>
						{
							_isConnected = false;
							ConnectBtn.Content = LocalizedStrings.Connect;
						});
					}
					
					Trader.Connect();
				}
			}
			else
				Trader.Disconnect();
		}
Exemple #10
0
		internal void StopDde(DdeCustomTable customTable)
		{
			if (customTable == null)
				throw new ArgumentNullException(nameof(customTable));

			StopDde(customTable.TableName);
		}
Exemple #11
0
		internal void StartDde(DdeCustomTable customTable)
		{
			if (customTable == null)
				throw new ArgumentNullException(nameof(customTable));

			StartDde(customTable.DdeSettings);
		}
Exemple #12
0
		/// <summary>
		/// Запущен ли экспорт данных через DDE для произвольной таблицы, зарегистрированной в <see cref="QuikTrader.CustomTables"/>.
		/// </summary>
		/// <param name="table">Описание DDE экспорта произвольной таблицы.</param>
		/// <returns><see langword="true"/>, если экспорт запущен, иначе, <see langword="false"/>.</returns>
		public bool IsDdeStarted(DdeCustomTable table)
		{
			if (table == null)
				throw new ArgumentNullException(nameof(table));

			return IsDdeStarted(table.TableName);
		}
Exemple #13
0
		/// <summary>
		/// Начать расчёт заново по открытой таблице.
		/// </summary>
		/// <param name="table">Описание DDE экспорта произвольной таблицы, для которой необходимо начать заново расчёт.</param>
		public void StartTableCalculation(DdeCustomTable table)
		{
			if (table == null)
				throw new ArgumentNullException(nameof(table));

			StartTableCalculation(table.TableName);
		}