Alexander
|
Дата: 16.02.2012
curious:
Alexander Mukhanchikov:
Экспорт идёт по таблице с портфелями?
Портфель для ммвб - это то что с бумагами, на фортсе - с деривативами.
В Trader.Portfolios будет и тот и тот.
Посмотрите SampleQuik, Портфели.
Идёт экспорт по таблице "инструменты", по таблице "портфель по бумагам", но не по таблице "портфель по деривативам".
Запускаю пример SampleConsole для QUIK.
А в портфеле по бумагам у вас какие есть портфели?
Для SampleQuik какие портфели отображаются?
|
|
|
|
Спасибо:
|
|
|
|
|
|
curious
|
Дата: 16.02.2012
Alexander Mukhanchikov:
А в портфеле по бумагам у вас какие есть портфели?
Для SampleQuik какие портфели отображаются?
Александр, в портфеле по бумагам у меня пусто. Есть только FORTS'овский счет в портфеле по деривативам.
Что значит SampleQuik? Есть пример Sample, есть SampleConsole.
С первым примером в портфелях отображается FORTS'овский счёт, а вот со вторым проблема: событие появления нового портфеля не происходит.
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 16.02.2012
Вы ждёте портфеля по ММВБ, которого у вас нет.
Раз нет портфеля - можно не ждать, он не придёт. :)
|
|
|
|
Спасибо:
|
|
|
|
|
|
Moadip
|
Дата: 16.02.2012
curious:
С первым примером в портфелях отображается FORTS'овский счёт, а вот со вторым проблема: событие появления нового портфеля не происходит.
Думаю в этом посте найдете ответ на свой вопрос.
|
|
|
|
|
|
|
curious
|
Дата: 17.02.2012
Alexander Mukhanchikov:
Вы ждёте портфеля по ММВБ, которого у вас нет.
Раз нет портфеля - можно не ждать, он не придёт. :)
Alexander Mukhanchikov:
Портфель для ммвб - это то что с бумагами, на фортсе - с деривативами.
В Trader.Portfolios будет и тот и тот.
Александр,
всё-таки, событие NewPortfolios обрабатывает только ММВБ'шные портфели или FORTS'овские тоже?!
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 17.02.2012
Для всех существующих портфелей.
|
|
|
|
Спасибо:
|
|
|
|
|
|
curious
|
Дата: 17.02.2012
Alexander Mukhanchikov:
Для всех существующих портфелей.
Александр,
тогда повторю свой вопрос: почему при отсутствии ММВБ'шного портфеля и наличии FORTS'овского событие NewPortfolios может не происходить в примере SampleConsole?
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 17.02.2012
curious:
Alexander Mukhanchikov:
Для всех существующих портфелей.
Александр,
тогда повторю свой вопрос: почему при отсутствии ММВБ'шного портфеля и наличии FORTS'овского событие NewPortfolios может не происходить в примере SampleConsole?
Потому что не запущен экспорт по нужной таблице.
Смотрите как идёт работа с экспортом в SampleQuik.
|
|
|
|
Спасибо:
|
|
|
|
|
|
curious
|
Дата: 17.02.2012
Moadip:
curious:
С первым примером в портфелях отображается FORTS'овский счёт, а вот со вторым проблема: событие появления нового портфеля не происходит.
Думаю в этом посте найдете ответ на свой вопрос.
Пропустил ваш ответ.
Действительно, следующая замена решает проблему:
trader.StartExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
trader.EquityPortfoliosTable, trader.OrdersTable, trader.DerivativePositionsTable, trader.DerivativePortfoliosTable);
...
trader.StopExport(trader.SecuritiesTable, trader.MyTradesTable, trader.EquityPositionsTable,
trader.EquityPortfoliosTable, trader.OrdersTable, trader.DerivativePositionsTable, trader.DerivativePortfoliosTable);
Alexander Mukhanchikov:
Потому что не запущен экспорт по нужной таблице.
Смотрите как идёт работа с экспортом в SampleQuik.
Вопрос снят.
|
|
|
|
Спасибо:
|
|
|
|
|
|
Algonavt
|
Дата: 12.05.2012
|
|
|
|
|
У меня обратная проблема - NewPortfolios отлично срабатывает на появление портфеля по деривативам, но появление таблиц "Портфель по бумагам" и "Позиции по бумагам" не порождают это событие. В чем я ошибаюсь?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using Ecng.Common;
using StockSharp.BusinessEntities;
using StockSharp.Quik;
using StockSharp.Algo;
class Program
{
static void Main()
{
try
{
var quikDefaultPath = @"C:\Documents and Settings\User\Рабочий стол\Quik (StockSharp tests)\info.exe";
var quikPath = QuikTerminal.GetDefaultPath();
var quikLogin = "***";
var quikPassword = "***";
if (quikPath.IsEmpty())
{
Console.WriteLine("Не найден ни один запущенный Quik, пробуем запустить Quik из " + quikDefaultPath);
quikPath = quikDefaultPath;
}
else
Console.WriteLine("Запущенный Quik найден по пути " + quikPath);
using (var waitHandle = new AutoResetEvent(false))
{
// создаем шлюз к Quik-у
using (var trader = new QuikTrader(quikPath))
{
// необходимо раскомментировать, если идет работа с РТС Стандарт
//trader.FormatTransaction += builder => builder.RemoveInstruction(TransactionBuilder.ExecutionCondition);
// подписываемся на событие успешного подключения
// все действия необходимо производить только после подключения
trader.Connected += () =>
{
Console.WriteLine("Подключение было произведено успешно.");
// извещаем об успешном соединении
waitHandle.Set();
};
// подписываемся на событие обновления портфеля
trader.NewPortfolios += portfolios =>
{
foreach (var p in portfolios)
Console.WriteLine("Найден портфель: {0}" +
"\nExchange: {1}", p.Name, p.Exchange);
waitHandle.Set();
};
Console.WriteLine("Производим подключение...");
if (!trader.Terminal.IsLaunched)
{
trader.Terminal.Launch();
trader.Terminal.Login(quikLogin, quikPassword);
}
trader.Connect();
// дожидаемся события об успешном соединении
waitHandle.WaitOne();
Console.WriteLine("Запускаем экспорт таблиц по DDE");
// запускаем экспорт по DDE портфеля по деривативам
Console.WriteLine("Портфель по деривативам...");
trader.StartExport(new[] {trader.DerivativePortfoliosTable});
waitHandle.WaitOne();
Console.WriteLine("Готово!");
// запускаем экспорт по DDE таблицы позиций по бумагам
Console.WriteLine("Позиции по бумагам...");
trader.StartExport(new[] {trader.EquityPositionsTable});
waitHandle.WaitOne();
Console.WriteLine("Готово!");
// запускаем экспорт по DDE портфеля по бумагам
Console.WriteLine("Портфель по бумагам...");
trader.StartExport(new[] {trader.EquityPortfoliosTable});
waitHandle.WaitOne();
Console.WriteLine("Готово!");
Console.WriteLine("Нажмите Enter для выхода");
Console.ReadLine();
trader.StopExport();
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
Console.ReadLine();
}
}
}
|
|
|
|
Спасибо:
|
|
|
|
|