Техническое задание
Название: AvtoCalc
Требуется скрипт на MQL4, либо ином языке программирования, но с графической обалочкой, который:
- Считывает последовательно файлы из указанной директории (возможно ограничение в рамках песочницы)
- Считывает данные о настройках из отдельного файла- файл сценарию
- Производит обработку данных согласно сценарию и записывает результат в отдельный файл
Файл для чтения - CSV , структура разделена ";", разрядность "," - файл представляется в виде
таблицы, первая строка является шапкой этой таблицы.
Структура файла сценария - каждая строка файла - отдельный сценарий на обработку данных, состоящий
из команды фильтрации, перечисления данных подлежащих калькуляции с коммандами для калькуляции.
Сценарии выполняются последовательно после обработки всех файлов в директории.
Команда для фильтрации
Filter (Stroka, Stolbec, Metod)
Stroka - номер строки (с которой начинаются данные для фильтрации)
Stolbec - номер столбца
Metod - метод фильтрации:
0 - не фильтровать
1 - от большего значения к меньшему
-1 - от меньшего значения к большему
2 - по очередности появления нового значения в столбце
Фильтров может быть установлено больше одного, фильтрация данных происходит последовательно в
обратном порядке относительно установленных фильтров (т.е. сначала выбирается первое значения
фильтра 1, потом все значения фильтра 2). Каждый результат фильтрации подлежит калькуляции, при этом
если на один столбец приходится более одной калькуляции, то в итоговом файле создается
дополнительный стобец.
Комманды для калькуляции:
Calc(Stroka, Stolbec, Metod)
Stroka - указывается строка нахождение шапки таблицы
Stolbec - указывается столбец нахождение шапки таблицы
Metod:
Max - максимальное значение
Min - минимальное значение
Summ - сумма всех значений
AVR - среднее значение
Структура итогового файла:
Шапка:
НАЗВАНИЕ ОБРАБОТАННОГО ФАЙЛА,
НАЗВАНИЕ ОТФИЛЬТРОВАННЫХ ДАННЫХ 1,
ЗНАЧЕНИЕ ФИЛЬТРА 1,
НАЗВАНИЕ ОТФИЛЬТРОВАННЫХ ДАННЫХ N,
ЗНАЧЕНИЕ ФИЛЬТРА N,
РЕЗУЛЬТАТ КАЛЬКУЛЯЦИИ (Metod) 1,
РЕЗУЛЬТАТ КАЛЬКУЛЯЦИИ (Metod) N.
Между обработанными файлами делается разрыв "-----------".
Пример смотрите в файле Primer_01.xlsx
Название итогового файла - добавление к первоначальному файлу "_Calc_001", где 001 порядковый номер
калькуляции в директории.
Откликнулись
1
Оценка
Проекты
106
52%
Арбитраж
17
12%
/
65%
Просрочено
25
24%
Свободен
2
Оценка
Проекты
4
25%
Арбитраж
1
0%
/
100%
Просрочено
1
25%
Свободен
3
Оценка
Проекты
395
28%
Арбитраж
155
20%
/
52%
Просрочено
112
28%
Свободен
4
Оценка
Проекты
19
11%
Арбитраж
21
5%
/
86%
Просрочено
3
16%
Работает
5
Оценка
Проекты
1
0%
Арбитраж
1
0%
/
100%
Просрочено
0
Свободен
6
Оценка
Проекты
928
46%
Арбитраж
31
39%
/
29%
Просрочено
93
10%
Работает
Информация о проекте
Бюджет
30 USD
Исполнителю
27
- 27
USD
Сроки выполнения
14 дн.