www.ABC-Forex.ru :: успешный трейдинг и инвестирование
Обучение, выбор брокера, торговые системы, бонусы для торговли с нуля, конкурсы трейдеров на демо- и реальных счетах, бесплатный VPS-сервис, инвестирование - вклад в ПАММ-счета
![]() |
![]() |
|||
|
||||
![]() |
![]() |
Технический анализ это исследование динамики рынка с целью прогнозирования дальнейшей динамики цен. Чаще всего анализ проводится посредством графиков. Поэтому очень важно иметь исторические данные цен по всем используемым финансовым инструментам и периодам. Исторические данные постоянно формируются и хранятся на сервере. Подключаясь к нему, клиентский терминал скачивает все необходимые данные. В дальнейшем они используются для построения графиков, тестирования и оптимизации экспертов. Для управления историческими данными в терминале имеется специальное окно "Архив котировок". Это окно можно открыть, выполнив команду меню "Сервис Архив котировок" либо нажав клавишу F2.
После закрытия терминала все накопленные исторические данные сохраняются в "Архиве котировок". Причем размеры файлов исторических котировок не превышают заданных в настройках значений. Если объем накопленных исторических данных превышает величину, установленную в поле " Макс. баров истории:", то при сохранении удаляются самые старые бары. Для каждого таймфрейма формируется отдельный файл истории с именем SSSSSSPP.hst (где SSSSSS - обозначение финансового инструмента, PP - временной период в минутах) и сохраняется в директории /HISTORY. В дальнейшем сохраненные данные используются для построения графиков, а также для тестирования торговых стратегий.
В окне "Архив котировок" можно изменять имеющиеся данные. Для этого сначала необходимо выбрать требуемые инструмент и период в левой части окна. При этом произойдет загрузка соответствующих данных, которые будут представлены в виде таблицы. Чтобы добавить запись о новом баре, следует нажать одноименную кнопку, заполнить требуемые поля в новом окне и нажать кнопу "OK". После этого новый бар появится в исторической базе. Выделив существующую запись и нажав кнопку "Правка", можно изменить соответствующий бар. Для удаления бара из истории необходимо выделить его и нажать одноименную кнопку.
Исторические данные можно экспортировать в файлы форматов CSV, PRN и HTM. Для этого необходимо в левой части окна "Архив котировок" выбрать требуемый инструмент и нажать кнопку "Экспорт". Далее следует выбрать один из трех файловых форматов и указать путь размещения на жестком диске. Кроме экспорта, доступен также импорт исторических данных в терминал для дальнейшего использования. Импорту подлежат только файлы форматов CSV, PRN, HTM и HST. При этом сначала в левой части окна "Архив котировок" необходимо выбрать инструмент и период, для которых будет производиться импорт. Затем, нажав кнопку "Импорт", необходимо настроить параметры импорта:
Разделитель разделитель данных в импортируемом файле. В качестве разделителей можно выбрать запятую, точку с запятой, пробел или знак табуляции;
Пропуск столбцов пропускать колонки при импортировании. Это бывает полезным, если импортируемый файл имеет больше типов данных, чем требуется;
Пропуск строк пропускать ряды (строки) при импортировании;
Сдвиг часов сдвинуть данные на несколько часов во времени;
Только выделенные импортировать только выделенные данные. Выделение данных производится по строкам, при этом используются клавиши "Ctrl" и "Shift";
Объемы разрешить/запретить импорт объемов;
После завершения импорта исторические данные уже можно использовать для отображения графиков и тестирования советников.
Сначала идет заголовок базы
struct HistoryHeader { int version; // версия базы char copyright[64]; // копирайт char symbol[12]; // инструмент int period; // период инструмента int digits; // число знаков после запятой в инструменте time_t timesign; // временной отпечаток создания базы time_t last_sync; // время последней синхронизации int unused[13]; // для будущего использования };
затем массив баров (выравнивание однобайтовое)
#pragma pack(push,1) //---- Стандартное представление котировки в базе struct RateInfo { time_t ctm; // текущее время в секундах double open; double low; double high; double close; double vol; }; #pragma pack(pop)