Не выводятся сделки на график
Atom
06.11.2013
kadet


Никак не получается вывести сделки на график. События срабатывают, свечи строятся, а вот сделки почему то не отображаются. У меня версия API 4.1.19 Enterprise. Может ли быть проблема в версии? Спасибо.


Теги:


Спасибо:


IvanB

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


kadet: Никак не получается вывести сделки на график. События срабатывают, свечи строятся, а вот сделки почему то не отображаются. У меня версия API 4.1.19 Enterprise. Может ли быть проблема в версии? Спасибо.

Сделки приходят в код, в вашу программу?

Спасибо:

kadet

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


Да, проходят. Но на графике не отображаются.

Напишите пожалуйста стандартный способ вывода сделок на график. Возможно я что то упустил. Спасибо.

Спасибо:

IvanB

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


kadet: Да, проходят. Но на графике не отображаются.

Напишите пожалуйста стандартный способ вывода сделок на график. Возможно я что то упустил. Спасибо.

Работа с графиками продемонстрирована в 4-м уроке: 4 lesson (Candles, Charts, Historical data) Основная суть: Мы должны получать сделки, например от стратегии, например через использование правила: WhenNewMyTrades В обработчике этого правила надо выводить на график все полученные сделки, через поток GUI. В общем все это будет выглядеть примерно так:


            _strategy.WhenNewMyTrades()
                        .Do(mytrades => this.GuiAsync(() =>
                            {
                                mytrades.ForEach(t =>
                                    Chart.ProcessValues(t.Trade.Time, new Dictionary<IChartElement, object>()
                                        {
                                            {_chartTradeElement, t}
                                        }));
                            }))
                        .Apply();

У нас должен быть контрол Chart в окне, должен быть элемент _chartTradeElement:


private ChartTradeElement _chartTradeElement;

который инициализируется:


            _chartTradeElement = new ChartTradeElement();
            _chartArea1.Elements.Add(_chartTradeElement);

где chartArea1:


private ChartArea _chartArea1;

который должен быть инициализирован примерно так:


            _chartArea1 = new ChartArea();
            Chart.Areas.Add(_chartArea1);

Спасибо: kadet

kadet

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


Спасибо, очень помогли. Я вместо {_chartTradeElement, t} передавал t.Trade

Спасибо:

kadet

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


У меня вопрос, почему RealTimeEmulationTrader не выводит сделки на график? Подписан я на сделки стратегии, но при эмуляции они не выводятся. В чем может быть проблема? Спасибо.

Спасибо:

IvanB

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


kadet: У меня вопрос, почему RealTimeEmulationTrader не выводит сделки на график? Подписан я на сделки стратегии, но при эмуляции они не выводятся. В чем может быть проблема? Спасибо.

Если сделки в других случаях выводятся, то надо смотреть чтоб сделки вообще приходили.

Спасибо:

kadet

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


Да сделки приходят, как и при торговле через квик, но не отображаются на графике.

Спасибо:

IvanB

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


kadet: Да сделки приходят, как и при торговле через квик, но не отображаются на графике.

Запустил проект CandlesChartProject, тот что на сервере, ничего не менял (таймфрейм уменьшил), испытывал на акциях лукойла, вот результат, метки сделок отображаются: http://gyazo.com/63c10eac3803a2205ade3b8c77085520 Попробуйте получить последнюю версию проекта с сервера и еще раз запустить.

Спасибо:


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

loading
clippy