Работа со свечка .Заезженная тема


Работа со свечка .Заезженная тема
Atom
6/8/2011


Здравствуйте подскажите пожалуйста, как только не делал и не пробвоал вызывать свечи всё время возвращеть либо ноль,либо пишет что нет ссылки на обьект.Пример с samplecandles смотрел но там нет той части как получить именно O,H,L,C и другие данные со свечи,там есть только часть того что они передаються на новый чарт с графиком ,где он сам их как то получает.
Не могли бы вы скинуть маленький примерчик как просто получить последние 10 свечей по лукойлу и вывести их нормально,чтоб ыэти значения были равны не нулю.ПО возможности скиньте весь код.
Заранее спасибо!

Tags:


Thanks:


1 2 3  >
hobo

Avatar
Date: 6/8/2011
Reply


Окончание формирования свечей дожидаетесь? Нужно подписаться на CandlesFinished и NewCandles и уже в них обращаться к свечам.
Code
_candleManager.CandlesFinished += (_candles) => MyMethod(_candles);
...
private void MyMethod(IEnumerable<Candle> candles)
{
foreach(var candle in candles)
{

}
}

Thanks:

Самунджян Артем

Avatar
Date: 6/8/2011
Reply


hobo Go to
Окончание формирования свечей дожидаетесь? Нужно подписаться на CandlesFinished и NewCandles и уже в них обращаться к свечам.
Code
_candleManager.CandlesFinished += (_candles) => MyMethod(_candles);
...
private void MyMethod(IEnumerable<Candle> candles)
{
foreach(var candle in candles)
{

}
}


Спасибо но можно что нибудб попроще,я совсем не разобрался с работой S#.Скиньте плиз готовую мелочь какую нибудь чтобы просто в консоль выпечатывало.
Thanks:

Самунджян Артем

Avatar
Date: 6/8/2011
Reply


var ctime=_candleTimeFrame.GetCandleBounds(DateTime.Now).Min;

_candleManager.RegisterTimeFrameCandles(ri,TimeSpan.FromMinutes(1));

var candles = _candleManager.GetTimeFrameCandle(ri, TimeSpan.FromMinutes(1), ctime);
Console.WriteLine(candles.OpenPrice);


Что вот тут не так???
Thanks:

Самунджян Артем

Avatar
Date: 6/8/2011
Reply


var _c = TimeSpan.FromMinutes(5);
Console.WriteLine("начато");
var candles= _candleManager.GetTimeFrameCandle(ri,_c,TraderHelper.GetCandleTime(_c,DateTime.Now));

Console.WriteLine(candles.OpenPrice);
Console.WriteLine("закончено");

ещё вот так вот , какие только методы не использовал вообще ничего не возвращает даже в самых простых случаях!(
Подскажите может я что то делаю не так?(
Thanks:

Sergey Masyura

Avatar
Date: 6/9/2011
Reply


samujan Go to
var _c = TimeSpan.FromMinutes(5);
Console.WriteLine("начато");
var candles= _candleManager.GetTimeFrameCandle(ri,_c,TraderHelper.GetCandleTime(_c,DateTime.Now));

Console.WriteLine(candles.OpenPrice);
Console.WriteLine("закончено");

ещё вот так вот , какие только методы не использовал вообще ничего не возвращает даже в самых простых случаях!(
Подскажите может я что то делаю не так?(



Выложите Ваш пример архивчиком, так будет проще и понятнее в чем проблема.
Thanks:

Самунджян Артем

Avatar
Date: 6/9/2011
Reply


sergey.masyura Go to
samujan Go to
var _c = TimeSpan.FromMinutes(5);
Console.WriteLine("начато");
var candles= _candleManager.GetTimeFrameCandle(ri,_c,TraderHelper.GetCandleTime(_c,DateTime.Now));

Console.WriteLine(candles.OpenPrice);
Console.WriteLine("закончено");

ещё вот так вот , какие только методы не использовал вообще ничего не возвращает даже в самых простых случаях!(
Подскажите может я что то делаю не так?(



Выложите Ваш пример архивчиком, так будет проще и понятнее в чем проблема.

Да я уже скинул практически всё что писал , я просто прошу чтобы кто нибудь правильно подсказалл как использовать candles как выводить оттуда данные.Те два примера которые я скинул ничего не возвращают в принципе могу попозже скинуть архив, но проку от него мало будет(
мне нужная простая вещь просто получить даныые допустим с предыдущей свечки....но проблема вся в том что все выкладывают свои проблемные моменты в коде каими то кусками и не понятно что да как работает(
Мне как не такому профессиональному программисту хотелось бы получить примитивные примеры.
Thanks:

Alexander

Avatar
Date: 6/9/2011
Reply


samujan Go to
sergey.masyura Go to
samujan Go to
var _c = TimeSpan.FromMinutes(5);
Console.WriteLine("начато");
var candles= _candleManager.GetTimeFrameCandle(ri,_c,TraderHelper.GetCandleTime(_c,DateTime.Now));

Console.WriteLine(candles.OpenPrice);
Console.WriteLine("закончено");

ещё вот так вот , какие только методы не использовал вообще ничего не возвращает даже в самых простых случаях!(
Подскажите может я что то делаю не так?(



Выложите Ваш пример архивчиком, так будет проще и понятнее в чем проблема.

Да я уже скинул практически всё что писал , я просто прошу чтобы кто нибудь правильно подсказалл как использовать candles как выводить оттуда данные.Те два примера которые я скинул ничего не возвращают в принципе могу попозже скинуть архив, но проку от него мало будет(
мне нужная простая вещь просто получить даныые допустим с предыдущей свечки....но проблема вся в том что все выкладывают свои проблемные моменты в коде каими то кусками и не понятно что да как работает(
Мне как не такому профессиональному программисту хотелось бы получить примитивные примеры.



Тут отвечал пару дней назад.
Thanks:

Самунджян Артем

Avatar
Date: 6/9/2011
Reply


Alexander Go to
samujan Go to
sergey.masyura Go to
samujan Go to
var _c = TimeSpan.FromMinutes(5);
Console.WriteLine("начато");
var candles= _candleManager.GetTimeFrameCandle(ri,_c,TraderHelper.GetCandleTime(_c,DateTime.Now));

Console.WriteLine(candles.OpenPrice);
Console.WriteLine("закончено");

ещё вот так вот , какие только методы не использовал вообще ничего не возвращает даже в самых простых случаях!(
Подскажите может я что то делаю не так?(



Выложите Ваш пример архивчиком, так будет проще и понятнее в чем проблема.

Да я уже скинул практически всё что писал , я просто прошу чтобы кто нибудь правильно подсказалл как использовать candles как выводить оттуда данные.Те два примера которые я скинул ничего не возвращают в принципе могу попозже скинуть архив, но проку от него мало будет(
мне нужная простая вещь просто получить даныые допустим с предыдущей свечки....но проблема вся в том что все выкладывают свои проблемные моменты в коде каими то кусками и не понятно что да как работает(
Мне как не такому профессиональному программисту хотелось бы получить примитивные примеры.



Тут отвечал пару дней назад.


не совсме понял что имееться ввиду под roundMarketTime(округлённое рыночное время) и как оно должно быть через datetime?
Ну вот как я пробывал задать так это просто округление до текщего времени череp TraderHelper тобишь если сейчас 10:43 , то если у меня стоит пятиминутный тайм фрейм то он округлит до 10 40 .Но он всё равно почему то всё время пишет ошибку: не задана ссылка на обьект(
Thanks:

Alexander

Avatar
Date: 6/9/2011
Reply


samujan Go to
Alexander Go to
samujan Go to
sergey.masyura Go to
samujan Go to
var _c = TimeSpan.FromMinutes(5);
Console.WriteLine("начато");
var candles= _candleManager.GetTimeFrameCandle(ri,_c,TraderHelper.GetCandleTime(_c,DateTime.Now));

Console.WriteLine(candles.OpenPrice);
Console.WriteLine("закончено");

ещё вот так вот , какие только методы не использовал вообще ничего не возвращает даже в самых простых случаях!(
Подскажите может я что то делаю не так?(



Выложите Ваш пример архивчиком, так будет проще и понятнее в чем проблема.

Да я уже скинул практически всё что писал , я просто прошу чтобы кто нибудь правильно подсказалл как использовать candles как выводить оттуда данные.Те два примера которые я скинул ничего не возвращают в принципе могу попозже скинуть архив, но проку от него мало будет(
мне нужная простая вещь просто получить даныые допустим с предыдущей свечки....но проблема вся в том что все выкладывают свои проблемные моменты в коде каими то кусками и не понятно что да как работает(
Мне как не такому профессиональному программисту хотелось бы получить примитивные примеры.



Тут отвечал пару дней назад.


не совсме понял что имееться ввиду под roundMarketTime(округлённое рыночное время) и как оно должно быть через datetime?
Ну вот как я пробывал задать так это просто округление до текщего времени череp TraderHelper тобишь если сейчас 10:43 , то если у меня стоит пятиминутный тайм фрейм то он округлит до 10 40 .Но он всё равно почему то всё время пишет ошибку: не задана ссылка на обьект(



на какой объект?
на какой строчке?

у вас может candleManager равен null.
или возвращается текущая свечка = null - её ещё нет, дождитесь получения через событие.
Thanks:

Самунджян Артем

Avatar
Date: 6/9/2011
Reply


Alexander Go to
samujan Go to
Alexander Go to
samujan Go to
sergey.masyura Go to
samujan Go to
var _c = TimeSpan.FromMinutes(5);
Console.WriteLine("начато");
var candles= _candleManager.GetTimeFrameCandle(ri,_c,TraderHelper.GetCandleTime(_c,DateTime.Now));

Console.WriteLine(candles.OpenPrice);
Console.WriteLine("закончено");

ещё вот так вот , какие только методы не использовал вообще ничего не возвращает даже в самых простых случаях!(
Подскажите может я что то делаю не так?(



Выложите Ваш пример архивчиком, так будет проще и понятнее в чем проблема.

Да я уже скинул практически всё что писал , я просто прошу чтобы кто нибудь правильно подсказалл как использовать candles как выводить оттуда данные.Те два примера которые я скинул ничего не возвращают в принципе могу попозже скинуть архив, но проку от него мало будет(
мне нужная простая вещь просто получить даныые допустим с предыдущей свечки....но проблема вся в том что все выкладывают свои проблемные моменты в коде каими то кусками и не понятно что да как работает(
Мне как не такому профессиональному программисту хотелось бы получить примитивные примеры.



Тут отвечал пару дней назад.


не совсме понял что имееться ввиду под roundMarketTime(округлённое рыночное время) и как оно должно быть через datetime?
Ну вот как я пробывал задать так это просто округление до текщего времени череp TraderHelper тобишь если сейчас 10:43 , то если у меня стоит пятиминутный тайм фрейм то он округлит до 10 40 .Но он всё равно почему то всё время пишет ошибку: не задана ссылка на обьект(



на какой объект?
на какой строчке?

у вас может candleManager равен null.
или возвращается текущая свечка = null - её ещё нет, дождитесь получения через событие.



Вот полный код хотя я пытался и другими путями через обработчика события NewCandles и CandlesFinished.Но я не совсем умею работать с обработчаками события и в принципе так и не нашёл как выводить данные(O,H,L,C) из этих обработчиков и как правильно получать данные,к тому же DrawCandles не видит((


namespace SampleSmartConsole
{
using System;
using System.Linq;
using System.Threading;
using System.Xml;

using Ecng.Common;
using Ecng.Collections;
using Ecng.Trading.BusinessEntities;
using Ecng.Trading.Quik;
using Ecng.Trading.Algo;
using Ecng.Trading.Algo.Candles;




class Program
{


static void Main()
{

var trader = new QuikTrader();
var _candleManager = new CandleManager(trader);

//TimeSpan span3 = TimeSpan.FromMinutes(1);
//DateTime time= new DateTime(2011,6,8,11,45,0);
trader.Connect();
trader.Terminal.StartDde(trader.SecuritiesTable);
Thread.Sleep(2000);

var ri = trader.Securities.First(s => s.Id == "SBER03@QJSIM");
trader.RegisterQuotes(ri);

var _c = TimeSpan.FromMinutes(5);
var candles= _candleManager.GetTimeFrameCandle(ri,_c,TraderHelper.GetCandleTime(_c,DateTime.Now));
Console.WriteLine(candles.OpenPrice);



//var lastCandle = _candleManager.GetTimeFrameCandle(ri,_c, );

//var closePrice = lastCandle.ClosePrice;



trader.RegisterOrder(new Order
{
Portfolio= new Portfolio{Name="NL0011100043"},
Security=ri,
Price=ri.BestAsk.Price,
Volume=3,
Direction=OrderDirections.Sell,
});
trader.Terminal.StopActiveDdeExport();//остановка DDE передачи
Console.WriteLine("end");
Console.ReadLine();






}
}
}
Thanks:
1 2 3  >

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

loading
clippy