Отображение сделок на графике(история)

Отображение сделок на графике(история)
Atom
02.09.2013
shumak


Доброго времени суток! Проблема заключается в том, что на тиковом графике сделки убегают в левую часть, а на минутных и секундных таймвреймах все нормально. Подскажите в чем может быть загвоздка.
Сделки отрисовываю так:
Код
      
public void DrawTrade(IEnumerable<MyTrade> trade)
        {
            this.GuiAsync(
                () => Chart.ProcessValues( TimeSpan.FromTicks(_tick).GetCandleBounds(trade.Last().Trade.Time).Max, new Dictionary<IChartElement, object>
            {
                {_tradeElement, trade.Last()},
            }));
        }

, где _tick - кол-во тиков.



Спасибо:


shumak

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


И еще одну интересную штуку заметил, во время прорисовки графика последняя сделка на данный момент отрисовывается правильно, но затем когда появляется новая свеча, то сделка "улетает"(как показано на рисунке). Помогите пожалуйста решить эту проблему.

Спасибо:

Pantov

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


Попробуйте вот так:
Код

public void DrawTrade(IEnumerable<MyTrade> trade)
        {
            this.GuiAsync(
                () => Chart.ProcessValues( timeFrame.GetCandleBounds(trade.Last().Trade.Time).Max, new Dictionary<IChartElement, object>
            {
                {_tradeElement, trade.Last()},
            }));
        }


А вот как вывести в хинт значка сделки либо заявки что-то свое кто знает?
Спасибо:

shumak

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


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

Иван З.

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


Надо округлять время сделки, до времени начала свечи. На форуме есть как минимум 3 темы, где описано как с этим бороться. Эта одна из них.
http://www.stocksharp.co...nt---vsie-sdielki-Sell/
Спасибо:

shumak

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


Код
TimeSpan.FromTicks(_tick).GetCandleBounds(trade.Last().Trade.Time).Max
- я и округляю.
Спасибо:

esper

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


Поробуйте выводить сделки со временем, которое будет равно времени открытия свечи, когда была сделка.
Спасибо:

shumak

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


А как ? На данный момент я подписываюсь на событие trader.NewMyTrades += DrawTrade;
Спасибо:

esper

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


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

shumak

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


Интересно то, что время сделок правильное(проверял через дебаг), а на графике они залипают. А примеры отрисовки сделок на истории есть ?
Спасибо:

shumak

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


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

Сделал так, нашел пару сделок присвоил время закрытия нескольких свечек и попытался отрисовать на графике. Результат ничего не получилось, все так же залипает в левой части. "Где собака зарыта ? "
Спасибо:


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

loading
clippy