﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Не могу получить свечи с финама</title>
  <id>~/topic/5399/ne-mogu-poluchit-svechi-s-finama/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-07T09:38:28Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=5399" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/34780/</id>
    <title type="text">Ребята, подскажите пожалуйста, где ошибка на форме создаю проект, хочу получить свечи с финама взял ...</title>
    <published>2016-05-21T17:10:19Z</published>
    <updated>2016-05-21T17:10:19Z</updated>
    <author>
      <name>SharpoCrew</name>
      <uri>https://stocksharp.ru/users/95729/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Ребята, подскажите пожалуйста, где ошибка &lt;br /&gt;на форме создаю проект, хочу получить свечи с финама&lt;br /&gt;взял проект из семплов в тестинге, делал все как по инструкции, но в тестинге свечи получаю, а в этом коде нет&lt;br /&gt;Привел полный код.&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_4415d4650eac4734a52adbc49707463b');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_4415d4650eac4734a52adbc49707463b' style='display:none'&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;		string SecId; int TimeFrame; string folder; DateTime start; DateTime stop;&lt;br /&gt;		public Form1()&lt;br /&gt;		{&lt;br /&gt;			InitializeComponent();&lt;br /&gt;			folder = @&amp;quot;.\HistoryData\&amp;quot;;&lt;br /&gt;			SecId = &amp;quot;RIZ2@FORTS&amp;quot;;&lt;br /&gt;&lt;br /&gt;			start = new DateTime(2015, 10, 1);&lt;br /&gt;			stop = new DateTime(2015, 10, 15);&lt;br /&gt;			var startTime = ((DateTime)start).ChangeKind(DateTimeKind.Utc);&lt;br /&gt;			var stopTime = ((DateTime)stop).ChangeKind(DateTimeKind.Utc);&lt;br /&gt;&lt;br /&gt;			TimeFrame = 1;&lt;br /&gt;&lt;br /&gt;			var timeFrame = TimeSpan.FromMinutes(1);&lt;br /&gt;&lt;br /&gt;			var secGen = new SecurityIdGenerator();&lt;br /&gt;			var id = secGen.Split(SecId);&lt;br /&gt;&lt;br /&gt;			var secCode = id.SecurityCode;&lt;br /&gt;			var board = ExchangeBoard.GetOrCreateBoard(id.BoardCode);&lt;br /&gt;&lt;br /&gt;			var security = new Security&lt;br /&gt;			{&lt;br /&gt;				Id = SecId, // sec id has the same name as folder with historical data&lt;br /&gt;				Code = secCode,&lt;br /&gt;				Board = board,&lt;br /&gt;			};&lt;br /&gt;			// create backtesting connector&lt;br /&gt;			// test portfolio&lt;br /&gt;			var portfolio = new Portfolio&lt;br /&gt;			{&lt;br /&gt;				Name = &amp;quot;test account&amp;quot;,&lt;br /&gt;				BeginValue = 1000000,&lt;br /&gt;			};&lt;br /&gt;			var secId = security.ToSecurityId();&lt;br /&gt;&lt;br /&gt;			_finamHistorySource.Refresh(new FinamSecurityStorage(security), security, s =&amp;gt; { }, () =&amp;gt; false);&lt;br /&gt;&lt;br /&gt;			// storage to historical data&lt;br /&gt;			var storageRegistry = new StorageRegistry&lt;br /&gt;			{&lt;br /&gt;				// set historical path&lt;br /&gt;				DefaultDrive = new LocalMarketDataDrive(folder)&lt;br /&gt;			};&lt;br /&gt;&lt;br /&gt;			var emulationInfo = new EmulationInfo { UseCandleTimeFrame = timeFrame, HistorySource = d =&amp;gt; _finamHistorySource.GetCandles(security, timeFrame, d.Date, d.Date) };&lt;br /&gt;&lt;br /&gt;			// create backtesting connector&lt;br /&gt;			var connector = new HistoryEmulationConnector(&lt;br /&gt;				new[] { security },&lt;br /&gt;				new[] { portfolio })&lt;br /&gt;			{&lt;br /&gt;				EmulationAdapter =&lt;br /&gt;				{&lt;br /&gt;					Emulator =&lt;br /&gt;					{&lt;br /&gt;						Settings =&lt;br /&gt;						{&lt;br /&gt;							// match order if historical price touched our limit order price. &lt;br /&gt;							// It is terned off, and price should go through limit order price level&lt;br /&gt;							// (more &amp;quot;severe&amp;quot; test mode)&lt;br /&gt;							MatchOnTouch = false,&lt;br /&gt;						}&lt;br /&gt;					}&lt;br /&gt;				},&lt;br /&gt;&lt;br /&gt;				UseExternalCandleSource = true,&lt;br /&gt;&lt;br /&gt;				CreateDepthFromOrdersLog = emulationInfo.UseOrderLog,&lt;br /&gt;				CreateTradesFromOrdersLog = emulationInfo.UseOrderLog,&lt;br /&gt;&lt;br /&gt;				HistoryMessageAdapter =&lt;br /&gt;				{&lt;br /&gt;					StorageRegistry = storageRegistry,&lt;br /&gt;&lt;br /&gt;					// set history range&lt;br /&gt;					StartDate = startTime,&lt;br /&gt;					StopDate = stopTime,&lt;br /&gt;&lt;br /&gt;					OrderLogMarketDepthBuilders =&lt;br /&gt;						{&lt;br /&gt;							{&lt;br /&gt;								secId,&lt;br /&gt;								(IOrderLogMarketDepthBuilder)new PlazaOrderLogMarketDepthBuilder(secId)&lt;br /&gt;									&lt;br /&gt;							}&lt;br /&gt;						}&lt;br /&gt;				},&lt;br /&gt;&lt;br /&gt;				// set market time freq as time frame&lt;br /&gt;				MarketTimeChangedInterval = timeFrame,&lt;br /&gt;			};&lt;br /&gt;&lt;br /&gt;			var candleManager = new CandleManager(connector);&lt;br /&gt;&lt;br /&gt;			candleManager.Processing +=&lt;br /&gt;			(_s, _c) =&amp;gt;&lt;br /&gt;			{&lt;br /&gt;			};&lt;br /&gt;&lt;br /&gt;			var series = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);&lt;br /&gt;&lt;br /&gt;			connector.NewSecurities += securities =&amp;gt;&lt;br /&gt;			{&lt;br /&gt;				if (securities.All(s =&amp;gt; s != security))&lt;br /&gt;					return;&lt;br /&gt;				// start strategy before emulation started&lt;br /&gt;				candleManager.Start(series);&lt;br /&gt;&lt;br /&gt;				// start historical data loading when connection established successfully and all data subscribed&lt;br /&gt;				connector.Start();&lt;br /&gt;			};&lt;br /&gt;			// start emulation&lt;br /&gt;			// raise NewSecurities and NewPortfolio for full fill strategy properties&lt;br /&gt;			connector.Connect();&lt;br /&gt;		}&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>