Свечки
Atom Ответить
17.05.2011


Добрый день.

Такая проблемка: необходимо расчитать несколько своих индикаторов на основе данных из CandleManager.
Насколько я понял с помощью RegisterTimeFrameCandles можно получить только свечи текущей сессии, а точнее только свечи на основе тех данных которые есть в таблице всех сделок
а с помощью GetRangeCandles или RegisterRangeCandles свечки за исторические периоды.
Так вот мне не совсем понятно каким красивым способом получить одну коллекцию со свечками вчерашних торгов и сегодняшних. И хотелось бы пример как с этими самыми RangeCandles (применительно к истории) работать, а то в SampleCandle есть RangeCandles но он тоже показывает только текущую сессию.

Теги:


Спасибо:




17 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 17.05.2011
Ответить


Спасибо: rminko

rminko

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


Mikhail Sukhov Перейти
https://tradecommunity.ru/blog/stocksharp/41.html

Спасибо, это как раз то, что нужно. Единственная проблемка никак не могу понять в какой сборке находится расширение GetTimeFrameCandles? уже на все сборки ссылки добавляю - а не пашет.. а в примерах это расширение отлично подцепляется
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 17.05.2011
Ответить


rminko Перейти
Mikhail Sukhov Перейти
https://tradecommunity.ru/blog/stocksharp/41.html

Спасибо, это как раз то, что нужно. Единственная проблемка никак не могу понять в какой сборке находится расширение GetTimeFrameCandles? уже на все сборки ссылки добавляю - а не пашет.. а в примерах это расширение отлично подцепляется


Это extension method. Определен в TraderHelper
Спасибо: rminko

rminko

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


Что-то я видимо не то делаю.

посмотрел про класс TraderHelper - он находится в сборке Ecng.Trading.Algo - подключаю эту сборку и все равно студия этот экстеншен не видит.

Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 18.05.2011
Ответить


rminko Перейти
Что-то я видимо не то делаю.

посмотрел про класс TraderHelper - он находится в сборке Ecng.Trading.Algo - подключаю эту сборку и все равно студия этот экстеншен не видит.



using Ecng.Trading.Algo; Confused
Спасибо:

rminko

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


esper Перейти


using Ecng.Trading.Algo; Confused


не поверишь - есть такое и даже добавил в references сборку Ecng.Trading.Algo.dll, а все равно не пашет
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 18.05.2011
Ответить


rminko Перейти
не поверишь - есть такое и даже добавил в references сборку Ecng.Trading.Algo.dll, а все равно не пашет



а класс TraderHelper вообще видно? если вызвать статический метод GetTimeFrameCandles(ICandleManager, Security, TimeSpan, Range<DateTime>), просто для проверки?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 18.05.2011
Ответить


rminko Перейти
esper Перейти


using Ecng.Trading.Algo; Confused


не поверишь - есть такое и даже добавил в references сборку Ecng.Trading.Algo.dll, а все равно не пашет


Метод GetTimeFrameCandles именно при данном using будет.
Спасибо:

rminko

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


to esper
в обжект браузере видно.
а в "коде" нет.. такое ощущение будто нет using_а, но он то есть.... Чуть позже попробую пересоздать проект... может глюк студии

to Михаил
так есть этот юзинг
Автор топика
Спасибо:

Alexander

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


rminko Перейти
to esper
в обжект браузере видно.
а в "коде" нет.. такое ощущение будто нет using_а, но он то есть.... Чуть позже попробую пересоздать проект... может глюк студии

to Михаил
так есть этот юзинг


скиньте файл или весь проект посмотреть.
явно какая-то локальная ошибка.
Спасибо:

rminko

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


Alexander Перейти
rminko Перейти
to esper
в обжект браузере видно.
а в "коде" нет.. такое ощущение будто нет using_а, но он то есть.... Чуть позже попробую пересоздать проект... может глюк студии

to Михаил
так есть этот юзинг


скиньте файл или весь проект посмотреть.
явно какая-то локальная ошибка.


Ссылку на класс который хочу скомпилить во втором посте Михаил дал. я там ничего не менял кроме как добавил нужный юзинг.
Мне кажется проблема с использование base.

Если попробовать напрямую вызвать
var candleList = TraderHelper.GetTimeFrameCandles((CandleManager)base, security, timeframe, candleCount).ToList<TimeFrameCandle>();
вместо
var candleList = base.GetTimeFrameCandles(security, timeframe, candleCount).ToList<TimeFrameCandle>();

то ругается типо base тут нельзя. видимо не может он экстеншены к бейсу применять почемуто. а как у автора тогда работало?
Автор топика
Спасибо:

Alexander

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


rminko Перейти
Alexander Перейти
rminko Перейти
to esper
в обжект браузере видно.
а в "коде" нет.. такое ощущение будто нет using_а, но он то есть.... Чуть позже попробую пересоздать проект... может глюк студии

to Михаил
так есть этот юзинг


скиньте файл или весь проект посмотреть.
явно какая-то локальная ошибка.


Ссылку на класс который хочу скомпилить во втором посте Михаил дал. я там ничего не менял кроме как добавил нужный юзинг.
Мне кажется проблема с использование base.

Если попробовать напрямую вызвать
var candleList = TraderHelper.GetTimeFrameCandles((CandleManager)base, security, timeframe, candleCount).ToList<TimeFrameCandle>();
вместо
var candleList = base.GetTimeFrameCandles(security, timeframe, candleCount).ToList<TimeFrameCandle>();

то ругается типо base тут нельзя. видимо не может он экстеншены к бейсу применять почемуто. а как у автора тогда работало?



Код
var candleList = TraderHelper.GetTimeFrameCandles(security, timeframe, candleCount).ToList<TimeFrameCandle>();
Спасибо:

rminko

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


Alexander Перейти

Код
var candleList = TraderHelper.GetTimeFrameCandles(security, timeframe, candleCount).ToList<TimeFrameCandle>();

Опять не понял. у GetTimeFrameCandles нет перегрузки с тремя параметрами, да и как метод "поймет" к какому экземпляру CandleManager применяться
Автор топика
Спасибо:

Alexander

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


rminko Перейти
Alexander Перейти

Код
var candleList = TraderHelper.GetTimeFrameCandles(security, timeframe, candleCount).ToList<TimeFrameCandle>();

Опять не понял. у GetTimeFrameCandles нет перегрузки с тремя параметрами, да и как метод "поймет" к какому экземпляру CandleManager применяться



виноват, писал по памяти. вот так работает, проверил только что:
Код
var candleList = _candleManager.GetTimeFrameCandles(security, timeframe, candleCount);
Спасибо: rminko

esper

Фотография
Программист
Дата: 19.05.2011
Ответить


2rminko
1. Какой target framework стоит в настройках проекта? Должен быть 3.5 или 4 без Client profile.
2. Заменяем base на this
3. Референсы добавить еще надо будет на Common, ComponentModel и прочие
Спасибо: rminko

rminko

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


Alexander Перейти


виноват, писал по памяти. вот так работает, проверил только что:
Код
var candleList = _candleManager.GetTimeFrameCandles(security, timeframe, candleCount);

так с этого все и начиналось. такой код и есть в исходном файле который не компилиться.
Автор топика
Спасибо:

rminko

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


esper Перейти
2rminko
1. Какой target framework стоит в настройках проекта? Должен быть 3.5 или 4 без Client profile.
2. Заменяем base на this
3. Референсы добавить еще надо будет на Common, ComponentModel и прочие


ага поменял base на this и все заработало. странно что сам не догадался попробовать ))
Спасибо!
Автор топика
Спасибо:


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

loading
clippy