Здравствуйте! По всей видимости у вас нет понимания как это все работает.
Код
protected override void OnStarted()
{
//LINQ-запрос - когда свеча сформирована, то запустить метод обработки свечи ProcessCandle
_candleSeries
.WhenCandlesFinished()
.Do(ProcessCandle)
.Apply(this);
base.OnStarted();
}
Здесь вы воспользовались правилом "MarketRuleHelper.WhenFinished - правило на событие окончания свечки." То есть в ProcessCandle будут приходить только оконченные свечи. На ряду с этим правилом, есть еще следующие,
MarketRuleHelper.WhenCandlesStarted - правило на событие появления новых свечек.
MarketRuleHelper.WhenCandlesChanged - правило на событие изменения свечек.
MarketRuleHelper.WhenChanged - правило на событие изменения свечки.
и другие, их можно посмотреть здесь
http://www.stocksharp.co...1-9306-275d55d4cf36.htm во вкладке Событийная модель=>Правило.
Попробуйте другие правила, прочитайте как ими пользоваться.
можно попробовать еще следующий способ, от сюда
http://www.stocksharp.co...9-a573-abf0245b3f5d.htm
Код
_candleManager.Processing += ProcessCandle;// я бы воспользовался этим способом
Когда разберетесь со способом передачи свечей в ProcessCandle. Так как ProcessCandle принимает только свечи, создайте буфер для хранения оконченных свечек
Код
List<Candle> _buffer = new List<Candle>();
, добавляйте в буфер в методе ProcessCandle каждую оконченную свечку
Код
if (candle.State == CandleStates.Finished)// проверка окончена свеча или нет
_buffer.Insert(0, candle);
если таким образом добавлять свечи то _buffer[0] это будет последняя свеча, _buffer[1] предпоследняя и т.д.
Когда буфер станет большим, допустим вам больше 10 свечей не надо. то удаляем последнюю.
Код
if (_buffer.Count > 10) _buffer.RemoveAt(10);
Вообще это стандартная система для индикаторов, достаточно посмотреть здесь
http://stocksharp.codepl...eset/view/23281#166110, да по другим индикаторам.
Теперь у вас в ProcessCandle есть текущая свеча candle, и список предыдущих свечей _buffer для обработки. Делайте с ними что душе угодно.
candle.LowPrice; // минимальная цена текущей свечи
_buffer[0].HighPrice; // максимальная цена предыдущей свечи и т.д.
Все свойства свечи можно посмотреть здесь
http://www.stocksharp.co...Algo_Candles_Candle.htm
Надеюсь немного прояснил для вас ситуацию. Советую вам не пропускать ссылки которые я вам дал. Документация достаточно хорошо сделана и сильно помогает. Есть еще поиск по форуму тоже хорошо помогает. Даже годичной давности сообщения могут помочь или показать как можно сделать, например
http://www.stocksharp.co...zatsiia-intierfieisov/. Есть еще обучение, мне лично помогло.(я не агитирую, сугубо личное мнение)
p.s. Здесь скорее сообщество трейдеров чем программистов, и помогать вам особо ни кто не будет, особенно писать за вас робота. По этому надеюсь когда вы станете получать стабильную прибыль с торговли поделитесь со мной доходом![lol]