Skip to main content

Sandbox

Sandbox - main.js

На основе полного содержимого файла main.js, мы можем видеть, что он предоставляет функциональность для отрисовки графика свечных данных и управления им. Функции включают получение данных с сервера, расчет и отображен...

Section Sandbox
Updated 07.12.2024

Описание

На основе полного содержимого файла main.js, мы можем видеть, что он предоставляет функциональность для отрисовки графика свечных данных и управления им. Функции включают получение данных с сервера, расчет и отображение моделей, а также управление взаимодействием пользователя с графиком. Данные хранятся в глобальных переменных, и запросы к серверу выполняются через AJAX. Пользовательские возможности позволяют выбирать валютную пару, интервал времени, управлять графиком и просматривать модели алгоритмов 1 и 2.

Основные функции и их назначения

Создание и управление графом#

  • createCanvas(): Создает холст для отрисовки графика.
  • drawGraph(): Отрисовывает бары и модели на графике.

Управление моделями#

  • setAlg_num(num): Устанавливает номер алгоритма, который отработал (1 или 2).
  • switchAlg2show(num): Переключает отображение моделей между алгоритмами.
  • switchModels(direction): Позволяет переключать модели вперед и назад.

Получение данных#

  • get_candles(type): Запрашивает свечные данные через AJAX запрос к get_candles.php.
  • parse_data(data): Обрабатывает полученные данные о свечах.
  • get_fragment(type): Запрашивает фрагмент данных через AJAX запрос к get_fragment.php.
  • parse_data_from_db(data): Обрабатывает полученные фрагменты данных.

Управление отображением и взаимодействием#

  • wheel(event): Обрабатывает события колесика мыши для масштабирования графика.
  • debug_on_off(event): Включает/выключает режим отладки.
  • build_models(algorithm_num): Запускает расчет моделей через AJAX запрос к build_models_A1.php или build_models_A2.php.

Рендеринг моделей#

  • drawModel_Alg1(model, X_right, step, min_v, max_v, fieldHeight, isActive, linked_color): Отрисовывает модели алгоритма 1.
  • drawModel_Alg2(model, X_right, step, min_v, max_v, fieldHeight, isActive): Отрисовывает модели алгоритма 2.

Вспомогательные функции#

  • getModelPrice(model, name): Получает цену для указанной точки модели.
  • priceCP(str) и barCP(str): Обрабатывают строки с координатами точек моделей.
  • minModelBar(model) и maxModelBar(model): Определяют минимальный и максимальный бар модели.

Данные

Настройки графика#


Graph_settings = { 
 width: 1200,
 height: 520,
 left: 10.5,
 top: 5.5,
 right: 86.5,
 bottom: 22.5,
 rightSideBarWidth: 310,
 scale: {
   0: { width: 17, step: 25 },
   // ... другие масштабы
 },
};

Настройки данных#


Data_settings =  {
 n_bar: 0,
 bar_n_min: 0,
 cur_bar: 0,
 activeBar: 0,
 activeBarModelsNum: 0,
 activeBarModelsNums: 0,
 pointedBar: 0,
 scale: 7,
 max_v: 0,
 min_v: 0,
 X_right: 0,
 barsOnDesk: 0,
};

Массивы моделей#


Models = []; // Модели алгоритма 1
Models2 = []; // Модели алгоритма 2

Запросы к серверу

Функции get_candles(type), parse_data(data), get_fragment(type) и build_models(algorithm_num) выполняют AJAX запросы к серверу для получения данных о свечах, фрагментах и моделях.

Пользовательские возможности

  • Выбор валютной пары: Через выпадающий список (#select-pair).
  • Выбор интервала времени: Через выпадающий список (#select-interval).
  • Управление графиком: Перемещение и масштабирование графика с помощью мыши.
  • Отображение моделей: Просмотр и переключение между моделями алгоритмов 1 и 2.
  • Расчет моделей: Запуск расчета моделей алгоритмами 1 и 2.
  • Фильтрация моделей: Отображение только активных моделей (#chk-active-only).

Continue Reading

Related Articles