← Назад

Как добавить кнопки изменения таймфрейма

Всем привет! Как добавить кнопки изменения таймфрейма как на рисунке amCharts.com(внизу графика справа), но только на обычном графике?

http://stocksharp.com/doc/html/a8159c99-256b-46e4-80fe-7cf92944b4c9.htm

Комментарии (3)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Иван З.
Иван З.

Это скрин очень старого чарта, как видно 2010 года, сейчас такого нет. Только если своих кнопки накидаете, на них навешаете изменение таймфрейма.

dron3333
dron3333 Автор

Иван З.: Это скрин очень старого чарта, как видно 2010 года, сейчас такого нет. Только если своих кнопки накидаете, на них навешаете изменение таймфрейма.

Как правильно сделать если мне изначально нужно отрисовать тиковые данные? Я пытаюсь создать через TickCandle. Далее если изменить таймфрейм, то формировать из этих тиков нужный таймфрейм. Вопрос как быстро и правильно преобразовать и отрисовать по новой этот новый таймфрейм? Может вообще бредовая эта идея? Как-то может по другому делается это? Пару строк ключевых подскажите пожалуйста...

Иван З.
Иван З.

dron3333:

Иван З.: Это скрин очень старого чарта, как видно 2010 года, сейчас такого нет. Только если своих кнопки накидаете, на них навешаете изменение таймфрейма.

Как правильно сделать если мне изначально нужно отрисовать тиковые данные? Я пытаюсь создать через TickCandle. Далее если изменить таймфрейм, то формировать из этих тиков нужный таймфрейм. Вопрос как быстро и правильно преобразовать и отрисовать по новой этот новый таймфрейм? Может вообще бредовая эта идея? Как-то может по другому делается это? Пару строк ключевых подскажите пожалуйста... Если вы хотите загрузить в чарт тики и потом из них сам чарт по нажатию кнопки выдаст нужный таймфрей, то это врятли, хотя может чарт снова изменился с тех пор как я с ним разбирался. В чарт загружаются свечи


_candleManager.Processing += DrawCandle;

private void DrawCandle(CandleSeries series, Candle candle)
{
     ...

    wnd.Chart.Draw((ChartCandleElement)wnd.Chart.Areas[0].Elements[0], candle);
}

Какие свечи туда загрузите те и отрисуются


switch (type)
{
    case CandleTypes.TimeFrame:
        series = new CandleSeries(typeof(TimeFrameCandle), security, TimeFrame.Value.Value.TimeOfDay);
        break;
    case CandleTypes.Tick:
        series = new CandleSeries(typeof(TickCandle), security, VolumeCtrl.Text.To<int>());
        break;
    case CandleTypes.Volume:
        series = new CandleSeries(typeof(VolumeCandle), security, VolumeCtrl.Text.To<decimal>());
        break;
    case CandleTypes.Range:
        series = new CandleSeries(typeof(RangeCandle), security, PriceRange.Unit);
        break;
    default:
        throw new ArgumentOutOfRangeException();
}

...

_candleManager.Start(series);

Хотите другой таймфрейм, стирайте предыдущий чарт и рисуйте по новому. Ну а скорость отрисовки из тиков вы наверное уже видели, и врятли она вас устроит. А вообще S# не очень эфективен для этих целей(не для быстрого рисования графиков в смысле).