Обзор

Графики акций в основном используются для отслеживания и визуализации цены акций за определенный период времени с использованием инструментов построения графиков и ранжирования. В этом блоге мы рассмотрим элементы биржевой диаграммы и то, как интегрировать элемент управления Syncfusion Stock Chart в ваше приложение JavaScript.

Что такое фондовая диаграмма?

Существует множество элементов, используемых в биржевой диаграмме для разных целей. Рассмотрим отдельные элементы и их назначение.

Выбор периода

Селектор периода позволяет вам выбирать предопределенные периоды времени, обычно дни, недели, месяцы, кварталы, полгода и годы, чтобы проверять тенденции для разных периодов времени перед инвестированием.

Область диаграммы

Область диаграммы визуализирует данные по акции. Здесь свечной график используется для представления цены открытия акции в начале дня, самой высокой и самой низкой цены в течение дня и цены закрытия в конце дня.

Селектор диапазона

Селектор диапазона позволяет вам выбирать диапазоны из большей коллекции, чтобы определить тенденции цены в пределах выбранного диапазона.

Ряд

Серия позволяет выбирать различные типы диаграмм для визуализации данных. График акций Syncfusion поддерживает следующие типы диаграмм:

  • Линия и сплайн помогают визуализировать цену закрытия акции.
  • Hilo — отображает максимальную и минимальную стоимость акций в течение определенных периодов времени.
  • OHLC и свеча. Постройте график открытия, закрытия, максимума и минимума акций.

Индикаторы

Технические индикаторы используются для анализа прошлых и прогнозирования будущих рыночных тенденций на основе исторической цены, объема или открытого интереса. График акций Syncfusion поддерживает 10 различных типов индикаторов.

Объем

Объем запасов обычно ассоциируется с гистограммой. Чем выше значение столбца, тем больше людей участвует в акции в конкретный период времени.

Как интегрировать Syncfusion Stock Chart в веб-приложение

Давайте создадим биржевую диаграмму, чтобы визуализировать и сравнить цены акций AAPL. Элемент управления Stock Chart можно настроить в TypeScript следующим образом:

  1. Клонируйте начальный репозиторий Essential JS 2 для быстрого старта и настройте необходимый пакет в файле config.js.
"@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
 
"@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
 
"@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
 
"@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
 
"@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
 
"@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
 
"@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
 
"@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
 
"@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
 
"@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
 
"@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
 
"@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
 
"@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
 
"@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js"

2. Установите пакеты NPM с помощью следующей команды.

npm install

3. Добавьте элемент ввода HTML, который необходимо инициализировать, как компонент в файле index.html.

4. Инициализируйте компонент в файле ts, как показано в следующем коде.

import { StockChart } from '@syncfusion/ej2-charts';
 
// initialize stockchart component
let chart: StockChart = new StockChart();
 
// render initialized stock chart
chart.appendTo('#container');

Заполнение биржевой диаграммы данными

Теперь нам нужно заполнить данные об акциях AAPL на графике. Мы собираемся визуализировать данные с помощью свечного графика, поэтому импортируйте и внедрите CandleSeries в компонент Stock Chart с помощью метода StockChart.Inject.

import { StockChart } from '@syncfusion/ej2-charts';
import { StockChart, CandleSeries, DateTime } from '@syncfusion/ej2-charts';
StockChart.Inject(CandleSeries, DateTime);

Затем добавьте данные JSON для цены акций в свое приложение и назначьте их свойству dataSource в серии. Здесь используются данные об AAPL, и полный набор данных можно найти в образце.

let stockchartData: any[] = [{
    x: new Date('2012-04-02'),
    open : 85.9757,
    high : 90.6657,
    low : 85.7685,
    close : 90.5257,
    volume : 660187068
  },
  {
    x: new Date('2012-04-09'),
    open : 89.4471,
    high : 92,
    low : 86.2157,
    close : 86.4614,
    volume : 912634864
  },
  {
    x: new Date('2012-04-16'),
    open : 87.1514,
    high : 88.6071,
    low : 81.4885,
    close : 81.8543,
    volume : 1221746066
  },
  {
    x: new Date('2012-04-23'),
    open : 81.5157,
    high : 88.2857,
    low : 79.2857,
    close : 86.1428,
    volume : 965935749
  },
  {
    x: new Date('2012-04-30'),
    open : 85.4,
    high : 85.4857,
    low : 80.7385,
    close : 80.75,
    volume : 615249365
  }];
 
let chart: StockChart = new StockChart({
    series:[{
        // dataSource for stockchart series
        dataSource: stockchartData,
        type: 'Candle'
    }]
}, '#container);

Примечание. В этом примере мы экспортировали данные из службы и использовали их в образце. Вы можете напрямую получить данные из сервисов для построения графика через Менеджер данных.

После добавления серии диаграмма будет выглядеть так, как показано на следующем снимке экрана.

Как визуализировать данные об объеме с биржевой диаграммой

Вы можете анализировать как ценовое действие, так и объем одним взглядом, используя биржевую диаграмму. Поскольку мы собираемся отображать объем в отдельной строке, нам нужно настроить оси и строки диаграммы следующим образом.

let chart: StockChart = new StockChart({
    rows : [{height : '30%'}, {height : '70%'}],
    axes : [{
      name: 'yaxis', opposedPosition: true, rowIndex: 1,
    }],    
    series:[
    {
        // dataSource for stockchart series
        dataSource: stockchartData,
        type: 'Candle', yAxisName: 'yaxis'
    },{
        // dataSource for stockchart series
        dataSource: stockchartData,
        type: 'Column', yName: 'volume'
    }
  ]
}, '#container);

Импортируйте и внедрите модуль ColumnSeries в биржевую диаграмму, поскольку мы собираемся визуализировать объемные данные с помощью ряда столбцов.

import { StockChart, CandleSeries, ColumnSeries } from '@syncfusion/ej2-charts';
StockChart.Inject(CandleSeries, ColumnSeries);

Появится свечной график объема, как показано на следующем снимке экрана.

Селектор периода и диапазона

Выбирайте и просматривайте данные за определенные периоды времени, используя предварительно определенные периоды времени и настраиваемые диапазоны в селекторе периодов. Вы можете определить свои собственные периоды времени, используя свойство periods на биржевой диаграмме. Селектор периода включает в себя параметры для добавления индикаторов, линий тренда и различных типов рядов, а также для экспорта биржевой диаграммы. Видимость селектора периода можно переключать с помощью свойства enablePeriodSelector. По умолчанию селектор периода будет включен.

let chart: StockChart = new StockChart({
     periods: [
            { intervalType: 'Month', interval: 1, text: '1M' },
            { intervalType: 'Month', interval: 3, text: '3M' },
            { intervalType: 'Month', interval: 6, text: '6M' },
            { intervalType: 'Years', interval: 1, text: '1Y', selected: true },
        ],
}, '#container);

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

Отслеживание данных о взаимодействии с графиком

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

let chart: StockChart = new StockChart({   
    series:[
    {
        // dataSource for stockchart series
        dataSource: stockchartData,
        type: 'Candle'
    }
  ],
   tooltip: {
      enable: true
   },   
   crosshair: {
      enable: true, lineType: 'Vertical'
   }
    
}, '#container);

Импортируйте и вставьте модули всплывающей подсказки и перекрестия в биржевую диаграмму.

import { StockChart, CandleSeries, ColumnSeries, Tooltip, Crosshair } from '@syncfusion/ej2-charts';
StockChart.Inject(CandleSeries, ColumnSeries, Tooltip, Crosshair);

Добавить заголовок

Укажите соответствующий заголовок на диаграмме, чтобы предоставить быструю информацию о данных. Это можно сделать с помощью свойства title.

let chart: StockChart = new StockChart({
 title: 'APPL Stock Price'  
}, '#container);

Вывод

Мы надеемся, что вы найдете компонент Stock Chart удобным для пользователя, и с нетерпением ждем, когда вы попробуете его. Ссылку на скачивание установки Essential JS 2 вы можете найти на нашем сайте. Кроме того, вы можете проверить исходный график акций на GitHub. Пожалуйста, ознакомьтесь с нашими живыми демонстрациями в нашем образце браузера и функциями настройки в нашей документации.

Компонент JavaScript Stock Chart также доступен для фреймворков React, Angular, ASP.NET Core и MVC, созданных из их собственных библиотек TypeScript.

Если вы хотите отправить нам отзыв или задать какие-либо вопросы, пожалуйста, оставьте сообщение в разделе комментариев ниже или свяжитесь с нами через наш форум поддержки, Direct-Trac или портал обратной связи.

Если вам понравилась эта запись в блоге, мы думаем, вам понравятся и следующие бесплатные электронные книги!

Первоначально опубликовано на https://www.syncfusion.com 9 сентября 2019 г.