指定
Техническое задание на Загрузчик «Import».
Цель: импорт в МТ5 из подготовленных макросами csv-файлов данных открытого интереса.
Задача:
- создать программу загрузки с выводом информации на Табло для контроля и управления процессом загрузки;
- создать скрипт на базе стандартного индикатора Moving Average для проверки 4 индикаторных линий (по ценам OHLC, то есть по загруженным long_fiz, short_fiz, long_yur, short_yur).
Срок исполнения заказа: 2 недели.
Стоимость работы: $200
Авторские права принадлежат Заказчику.
Состав общего проекта:
- Загрузчик «MOEX» - загрузка файлов из интернета в компьютер;
- Макрос «IDA» - преобразование данных для записи в файл с последующим построением диаграмм в Excel, подготовка файлов для Загрузчика «Import», регистрация данных в таблице IDA всех значимых данных активов;
- Загрузчик «Import» - загрузка данных из соответствующих файлов в МТ5.
Рис. 1 Табло. Исходное состояние при включении Загрузчика
Важно: все переключения кнопок осуществляются способом ДЩМ - Двойного Щелчка по левой кнопке Мышки
Рис. 2 Лист «Import» файла «Import.xlsx». Исходное состояние
.
I. Исходное состояние Табло при включении Загрузчика (Рис. 1) и состояние в ячейках файла «Import.xlsx» (Рис. 2):
А) В Табло отображаются:
- светло-зеленым цветом радиокнопка «Автоматический режим»;
- красным цветом отображаются радиокнопка «СТОП»;
- бесцветным цветом отображаются лампочка «Состояние» (файлов для импорта нет).
Б) На листе «Import» файла «Import.xlsx» отображаются:
- значение в ячейке А1 =0, то есть нет файла для импорта;
- название cимвола актива в колонке «Active» в ячейке В1 отсутствует;
- название файла «Файл в папке B:\Import» в ячейке С1 отсутствует.
При включении Загрузчика после загрузки файлов в папку B:\Import отображаются:
- синим цветом лампочка «Состояние» (файл для импорта есть);
- значение в ячейке А1 =1;
- в ячейке В1 название cимвола, например, Test_OI;
- в ячейке С1 название файла, например, Test_OI_M1_20250807130902_202508072347.csv.
Рис. 3 Лист «Import» файла «Import.xlsx». Данные для импорта
II. Режим работы «Ручной режим».
Данный режим необходим для отладочных работ и для ручной корректировки данных. Факт наличия файла для импорта отобразится синим цветом лампочка «Состояние».
Режим работы устанавливаем путем ДЩМ по радиокнопке «Ручной режим». Цвет радиокнопки «Ручной режим» отображается светло-зеленым цветом.
Запуск импорта производится путем ДЩМ по кнопке «Однократный пуск».
Рис. 4 Табло. Режим работы «Ручной».
Важно:
- переход значения в ячейке А1 из 0 в 1 – это команда Загрузчику из макроса «IDA» на импорт данных в МТ5, вернее в «Ручном режиме» в спортивных терминах это команда «На старт», а команда «Старт» - это ДЩМ по кнопке «Однократный пуск».
- сигнал окончания Загрузчиком импорта данных – это переход значения в ячейке А1 из 1 в 0, а для визуального контроля на Табло - переключение цвета лампочки из синего цвета в бесцветный.
PS: по сигналу окончания импорта данных макрос «IDA» осуществляет регистрацию данных актива в таблице IDA и удаление файла импорта. В последующем макрос «IDA» выдает команду Загрузчику «MOEX» на новую загрузку данных биржи.
- сигнал окончания Загрузчиком импорта данных служит командой скрипту в МТ5 на пересчет данных.
III. Режим работы «Автоматический режим».
Для выхода из «Ручного режима» в «Автоматический режим» необходимо ДЩМ по радиокнопке «Автоматический режим». Отличие от «Ручного режима» только одно - переход значения в ячейке А1 из 0 в 1 – при включенной кнопке «Старт» это команда Загрузчику на импорт данных в МТ5 сразу, а не после ДЩМ по кнопке «Однократный пуск». На то он и есть «Автоматический режим».
IV. Дополнительная информация.
1. Пользователю необходимо останавливать Загрузчик путем ДЩМ по кнопке «СТОП» после переключения цвета лампочки из синего цвета в бесцветный (иначе данные текущего файла не зарегистрируются в таблице IDA, то есть в последующем эти данные вновь нужно загружать). В программе предусмотреть защиту - ДЩМ по кнопке «СТОП» регистрировать как заявку на команду остановки, а сама остановка Загрузчика должна происходить после перехода лампочки «Состояние» в бесцветный вид.
2. Путем ДЩМ по кнопке «с нижнем тире» в Табло Загрузчика можно Табло свернуть в нижнюю строку на экране монитора (с надписью на аватарке, например, «МТ»). При этом процесс регулярности загрузок можно отслеживать по информации на Табло загрузчика «MOEX».
Табло из нижней строки на экране можно щелчком мыши снова «развернуть» на мониторе.
3. Путем ДЩМ по кнопке «с буквой Х» выключается программа Загрузчика с сохранением файла «Import.xlsx». Данная операция должна осуществляться при условии отображения радиокнопки «СТОП» красным цветом.
При повторном запуске Загрузчика незагруженные данные (в случае синего цвета лапочки «Состояние») можно проверить на листе «Import» файла «Import.xlsx».
4. Загрузчик должен производить перед импортом данных автоматическую проверку наличия символа.
В случае сбоя в загрузке, например, отсутствия символа в МТ5 (несовпадение с именем в файле, другие причины) производится:
- остановка загрузки данного актива;
- вывод сообщения об ошибке во всплывающее окно (например, «Ошибка ввода данных»). В случае появления окна сообщения ошибок окно закрывается Пользователем вручную. Незагруженный файл в вышеуказанной папке остается, Загрузчик останавливается, загорается радиокнопка «Стоп» красным цветом.
V. Важно:
1. Заказчик предоставляет Разработчику файлы для импорта в символ RI_test.
2. Заказчик предварительно в своем терминале создает все символы для используемых активов, в том числе символ RI_test для тестирования.
3. Заказчик предоставляет файл «Import.xlsx».
4. Заказчик производит проверку корректности загрузки данных путем:
- экспорта в файл значений Test_OI из МТ5;
- преобразования csv-файла в «умную таблицу», в которой сверяются эти данные с исходными данными.
5. Заказчик производит проверку работы скрипта на базе стандартного индикатора Moving Average с поочередной проверкой 4 индикаторных линий (по ценам OHLC);
6. В программе Загрузчика предоставить Заказчику возможность изменения пути к папке импорта файлов, например, D:\Import MT5 в случае отсутствия диска В.
7. Исполнитель предоставляет Заказчику:
- исходники файлов Загрузчика;
- исходники скрипта на базе стандартного индикатора Moving Average в формате mq5-файла;
- файл созданного символа Test_OI_config.json, у которого применен размер тика в виде целого числа, равного 1
(данные открытого интереса в виде целого числа).
В настоящее время применяются параметры символов на базе вечного фьючерса IMOEXF, где размер тика 0.5.