свечи micex10index

свечи micex10index
Atom
5/4/2011
patermind


Добрый день. Прошу помощи - после отработки кода параметры свечей(candle.OpenPrice, candle.ClosePrice) пустые: Модифицирую SampleConsole

инициализируем

private static CandleManager _candleManager;

потом в коде

_candleManager = new CandleManager(trader);

потом в ``` trader.NewSecurities += securities => {

делаю

_mmvb = securities.FirstOrDefault(sec => sec.Code == "MICEX10INDEX"); if (_mmvb != null) { _candleManager.RegisterTimeFrameCandles(_mmvb, TimeSpan.FromMinutes(10)); Console.WriteLine("micex ok."); }


и в конце цикла

var candles = _candleManager.GetTimeFrameCandles(_mmvb, TimeSpan.FromMinutes(10), 5); foreach (var candle in candles) { Console.WriteLine(candle.OpenPrice + "\n"); Console.WriteLine(candle.ClosePrice); } }


Tags:


Thanks:


1 2 3  >
Mikhail Sukhov

Avatar
Date: 5/4/2011
Reply


Thanks:

patermind

Avatar
Date: 5/5/2011
Reply


Да, конечно. Всю документацию и форум на тему свечей перечитал на несколько раз. Если вы имеете ввиду, что нет блока

_candleManager.NewCandles += DrawCandles;
_candleManager.CandlesChanged += DrawCandles;

private void DrawCandles(CandleToken token, IEnumerable<Candle> candles)
{
	// ...
	wnd.Candles.AddRange(candles);
}

то его нет, т.к. мне нужны уже сформировавшиеся свечи + мне не нужно рисовать их. Пробовал вставлять пустой обработчик

private void DrawCandles(CandleToken token, IEnumerable<Candle> candles)
{
	
}

в ``` class Program { private static Security _instrument0; private static Security _mmvb; private static Portfolio _portfolio; private static MarketDepth _depth; private static CandleManager _candleManager;

    private void DrawCandles(CandleToken token, IEnumerable<Candle> candles)
    {
        //this.GuiAsync(() =>
        //{
        //    var wnd = _chartWindows.TryGetValue(token);
        //    if (wnd != null)
        //        wnd.Chart.Candles.AddRange(candles);
        //});
    }

	static void Main()
	{

		try
		{

и вызывать его 

_candleManager = new CandleManager(trader); _candleManager.NewCandles += DrawCandles; _candleManager.CandlesChanged += DrawCandles;

но у меня студия ругалась, что у += DrawCandles; отсутствуют аргументы. 
Скриншот ошибки прилагаю.

Извините, не смог приложить - выложил на хостинг - http://imageshack.us/photo/my-images/857/errj.jpg/ .

Не могли бы вы подсказать, что нужно поправить, чтобы заработало?
Thanks:

Alexander

Avatar
Date: 5/5/2011
Reply


Похоже свечки не успевают сформироваться. Попробуйте печатать открытия \ закрытия не сразу, а как раз из события NewCandles

Thanks: patermind

patermind

Avatar
Date: 5/5/2011
Reply


Александр, верно ли я понимаю: я беру свечки ровно в час дня - они в любом случае должны быть?

var candles = _candleManager.GetTimeFrameCandles(_mmvb, TimeSpan.FromMinutes(10), 5);
                                foreach (var candle in candles)
                                {
Console.WriteLine(candle.OpenPrice + "\n");
Console.WriteLine(candle.ClosePrice);
                                    }
                                } 

А регистрирую таймфрейм я при запуске робота. Должен сказать - биржа еще не работает, до работы - примерно в 8 утра. Может ли в этом быть проблема?

Thanks:

Alexander

Avatar
Date: 5/5/2011
Reply


patermind: Александр, верно ли я понимаю: я беру свечки ровно в час дня - они в любом случае должны быть?

var candles = _candleManager.GetTimeFrameCandles(_mmvb, TimeSpan.FromMinutes(10), 5); foreach (var candle in candles) { Console.WriteLine(candle.OpenPrice + "\n"); Console.WriteLine(candle.ClosePrice); } }

> 
> А регистрирую таймфрейм я при запуске робота. Должен сказать - биржа еще не работает, до работы - примерно в 8 утра. Может ли в этом быть проблема?

Не должно быть.
У вас зарегистрирован таймфрейм в 10 минут для свечек?

Скиньте весь кусок кода.
Thanks:

patermind

Avatar
Date: 5/5/2011
Reply


Извините плиз, копировал из блокнота, могло сбиться форматирование http://pastebin.com/TaxxZbhL

Закомментировал только аккаунт и кусок логики. Возможны пара лишних фигурных скобочек, это опять издержки копирования из блокнота - на работе нет стока и квика, все дома..

Thanks:

patermind

Avatar
Date: 5/5/2011
Reply


Need help, please...

Thanks:

patermind

Avatar
Date: 5/6/2011
Reply


Друзья, не получится ли помочь сегодня до конца рабочего дня? Очень хочу наконец завести функционал, дома уже все что только можно и нельзя попробовал - не заводятся свечки, хоть ты тресни. Всю голову уже сломал за неделю.

Это же не тот функционал, где специалисты думать долго будут, - разве нет?

Thanks:

Mikhail Sukhov

Avatar
Date: 5/6/2011
Reply


patermind: Друзья, не получится ли помочь сегодня до конца рабочего дня? Очень хочу наконец завести функционал, дома уже все что только можно и нельзя попробовал - не заводятся свечки, хоть ты тресни. Всю голову уже сломал за неделю.

Это же не тот функционал, где специалисты думать долго будут, - разве нет?

Все есть в документации и примерах. Смысл - свечки нужно получать через событие. Если вызывать метод GetTimeFrameCandles, то они могут быть еще не сформированы (тики с программу не мгновенно попадают с биржи и нужно какое то время, чтобы все свечки создались).

Посмотрите пример SampleCandles.

Thanks:

patermind

Avatar
Date: 5/6/2011
Reply


Mikhail Sukhov: Все есть в документации и примерах. Смысл - свечки нужно получать через событие. Если вызывать метод GetTimeFrameCandles, то они могут быть еще не сформированы (тики с программу не мгновенно попадают с биржи и нужно какое то время, чтобы все свечки создались).

Посмотрите пример SampleCandles.

И пример, и документацию я смотрел. Не могли бы Вы подсказать, как мне модифицировать код ( http://pastebin.com/TaxxZbhL ) таким образом, чтобы оно заработало? У меня не получается поставить в код обработчик события таким образом, чтобы к GetTimeFrameCandles свечи были готовы - ссылка на скрин ошибки - http://imageshack.us/photo/my-images/857/errj.jpg/ .

Thanks:
1 2 3  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy