Specification
Название: 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 порядковый номер
калькуляции в директории.
Responded
1
Rating
Projects
106
52%
Arbitration
17
12%
/
65%
Overdue
25
24%
Free
2
Rating
Projects
4
25%
Arbitration
1
0%
/
100%
Overdue
1
25%
Free
3
Rating
Projects
395
28%
Arbitration
155
20%
/
52%
Overdue
112
28%
Free
4
Rating
Projects
19
11%
Arbitration
21
5%
/
86%
Overdue
3
16%
Working
5
Rating
Projects
1
0%
Arbitration
1
0%
/
100%
Overdue
0
Free
6
Rating
Projects
928
46%
Arbitration
31
39%
/
29%
Overdue
93
10%
Working
Project information
Budget
30 USD
For the developer
27
- 27
USD
Deadline
14 day(s)