Свечи с финама
Atom Ответить
11.03.2017


Добрый день. Давно не пользовался роботом, использующим исторические свечи, недавно включил - выдает ошибку. Попробовал собрать его на свежей библиотеке 4.3.21, но оказалось, что метод GetCandles в новой версии изменился. Теперь, помимо инструмента, таймфрейма, начала и конца периода в параметрах появился nativeIdStorage. Не совсем понятно что это такое и как реализовать работу с этим нововведением. В мануале написано, что это "Хранилище системных идентификатор инструментов." Нужно в это поле вписать путь к хранилищу или Id инструмента? Не понятно что требуется сделать. Раньше работало всё вот так:
public class History : FinamHistorySource
{
public History()
{
}

/// <summary>
/// Все инструменты у источника финама
/// </summary>
private IEnumerable<FinamSecurityInfo> Securities { get { return DownloadSecurityInfo(); } }
public IEnumerable<Candle> GetHistoryCandles(Security security, TimeSpan timeFrame, DateTime from, DateTime to)
{
//находим финамовский инструмент по коду инструмента
var fi = Securities.FirstOrDefault(f => f.Code == security.Code);

//добавляем дополнительную информацию в инструмент, чтобы получить свечки через основной метод GetCandles()
security.ExtensionInfo.Add(new KeyValuePair<object, object>(MarketIdField, fi.FinamMarketId)); //идентификатор секции рынка
security.ExtensionInfo.Add(new KeyValuePair<object, object>(SecurityIdField, fi.FinamSecurityId)); //идентификатор инструмента

//запрашиваем свечки
return GetCandles(security, timeFrame, from, to);
}

}
Подскажите как поправить с минимальными изменениями.




Спасибо:




1 Ответов
Support

Фотография
Дата: 13.03.2017
Ответить


Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy