| Александр3012 
 
   
 
						
						
					 | Дата: 24.04.2017 
						
							|  |  |  |   |  
 
 
	
			Благодарствую, все работает. Выкладываю, может кому пригодится.
 namespace свечи_с_финама_4._3._23
 {
 
 class Program
 {
 
 /// <summary>
 /// Хранилище инструментов Финама
 /// </summary>
 private class FinamSecurityStorage : CollectionSecurityProvider, ISecurityStorage
 {
 public FinamSecurityStorage(Security security)
 : base(new[] { security })
 {
 }
 
 void ISecurityStorage.Save(Security security)
 {
 }
 
 void ISecurityStorage.Delete(Security security)
 {
 throw new NotSupportedException();
 }
 
 void ISecurityStorage.DeleteBy(Security criteria)
 {
 throw new NotSupportedException();
 }
 
 }
 
 
 
 private class ExchangeInfoProvider : IExchangeInfoProvider
 {
 public IEnumerable<ExchangeBoard> Boards { get { throw new NotImplementedException(); } }
 
 public IEnumerable<Exchange> Exchanges { get { throw new NotImplementedException(); } }
 
 public event Action<ExchangeBoard> BoardAdded;
 public event Action<Exchange> ExchangeAdded;
 
 public Exchange GetExchange(string code)
 {
 throw new NotImplementedException();
 }
 
 public ExchangeBoard GetExchangeBoard(string code)
 {
 switch (code)
 {
 case "TQBR":
 return ExchangeBoard.MicexTqbr;
 case "TQBS":
 return ExchangeBoard.MicexTqbs;
 case "FORTS":
 return ExchangeBoard.Forts;
 default:
 break;
 }
 
 return ExchangeBoard.Micex;
 }
 
 public void Save(ExchangeBoard board)
 {
 throw new NotImplementedException();
 }
 
 public void Save(Exchange exchange)
 {
 throw new NotImplementedException();
 }
 
 
 public event Action<Exchange> ExchangeRemoved;
 public event Action<ExchangeBoard> BoardRemoved;
 public void Delete(ExchangeBoard board)
 {
 throw new NotImplementedException();
 }
 
 public void Delete(Exchange exchange)
 {
 throw new NotImplementedException();
 }
 
 }
 
 
 
 static void Main(string[] args)
 {
 
 //Security security = new Security
 //{
 //    Id = "SBER@TQBR",
 //    Board = ExchangeBoard.Micex
 //};
 
 //var security = new Security
 //{
 //    Id = "SPFB.Si@FORTS",
 //    Board = ExchangeBoard.Forts
 //};
 
 var security = new Security
 {
 Id = "SPFB.RTS@FORTS",
 Board = ExchangeBoard.Forts
 };
 
 // Создаем жранилище для нативных идентификаторов (родные идентификаторы инструментов Финама)
 var nativeIdStorage = new InMemoryNativeIdStorage();
 
 bool isCanceled = false;
 
 IExchangeInfoProvider exchangeInfoProvider = new ExchangeInfoProvider();
 System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
 
 // Создаем экземпляр класса FinamHistorySource. Этот объект управляет получением данных с Финама.
 FinamHistorySource _finamHistorySource = new FinamHistorySource(nativeIdStorage, exchangeInfoProvider);
 
 // Задаем папку, где будут сохранены запрошенные данные.. Если папку не задавать, то
 // на диске данные сохранены не будут
 //_finamHistorySource.DumpFolder = @"D:/трейдинг роботы/DataHist";
 _finamHistorySource.DumpFolder = "DataHist";
 
 // Выполняем обновление хранилища инструментов Финама
 // Перед добавлением каждого инструмента в хранилище вызывается функция (делегат) isCanceled, если функция возвращает false, то обновление
 // хранилища продолжается, если true, то прерывается.
 // При добавлении нового инструмента в хранилище вызывается функция (делегат) newSecurity.
 _finamHistorySource.Refresh(new FinamSecurityStorage(security), security, s => isCanceled = s.Id == security.Id, () => isCanceled);
 
 var timeFrame = TimeSpan.FromMinutes(1);
 
 var now = DateTime.Now;
 var end = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);
 var start = end.AddDays(-1);
 
 // Запрашиваем свечи с Финама
 var candles = _finamHistorySource.GetCandles(security, timeFrame, start, end);
 
 Console.Read();
 
 }
 
 }
 }
 
 |