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