Скрипт-конвертор дат.

MQL5 Experts Scripts

Job finished

Execution time 3 days

Specification

Файл terminal.ini установки времени содержит в секундном формате, а даты для  серий автотестера приходится записывать вручную.  Хочу облегчить и заодно обезопасить процесс.

При активации скрипт призван перевести указанные заранее в его меню в формате MqlDateTime  даты в формат datetime и записать их построчно в текстовый файл.
В меню скрипта устанавливаем 36+1 датовых строчек, кодово  разделенных на 12 серий по 3 даты в каждой.

37-я строчка для контроля ошибок и блокировки лишних серий.

Ограничение записи: 

1.Если в серии хотя бы ОДНА дата старше предельной, 

то вся серия игнорируется для записи

2. Если в серии нарушается старшинство  первых дат над последующими, т.е. если From>OptFwd или OptFwd>To

то серия игнорируется для записи. 


Я думаю,  никаких StructToTime не потребуется, ниспадающее меню дату автоматом переводит.

input datetime Time_1_1 = 1388534400; // From_1
input datetime Time_1_2 = 1393545600; // OptFwd_1
input datetime Time_1_3 = 1398816000; // To_1

input datetime Time_2_1 = 1393545600; // From_2
input datetime Time_2_2 = 0; вся серия пропускается // OptFwd_2
input datetime Time_2_3 = 1393545600; // To_2
.......... и т.д. 12 серий по 3 даты
input datetime Time_12_1 = 1388534400; // From_12
input datetime Time_12_2 = 1393545600; // OptFwd_12
input datetime Time_12_3 = 1398816000; // To_12

input datetime Time_Limit = 1111111000; // Time_Limit

if (0<1111111000) Block2 =0

Результат для записи в текстовом файле C:\Program Files\MT5\Config\data.txt
1388534400
1393545600
1398816000
1388534400
1393545600

1398816000

(Данный пост содержит полное ТЗ. )

Responded

1
Developer 1
Rating
(844)
Projects
1445
72%
Arbitration
119
29% / 47%
Overdue
355
25%
Working
Published: 3 articles
2
Developer 2
Rating
(49)
Projects
134
27%
Arbitration
62
13% / 53%
Overdue
58
43%
Free
Published: 266 articles, 1 code
3
Developer 3
Rating
(10)
Projects
14
14%
Arbitration
1
0% / 0%
Overdue
0
Free

Project information

Budget
10 USD
Deadline
from 1 to 2 day(s)