Описание
На основе полного содержимого файла 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).