во первых mql более-менее сносно работает с CSV и нет необходимости парсить таким образом файлы.
(лень продираться сквозь простыню приложенного кода,но) существенная разница в прочитанном/записанном/конвертированном может быть например в GMT..вы ж время таким образом сохранили ?
во первых mql более-менее сносно работает с CSV и нет необходимости парсить таким образом файлы.
(лень продираться сквозь простыню приложенного кода,но) существенная разница в прочитанном/записанном/конвертированном может быть например в GMT..вы ж время таким образом сохранили ?
Здесь два столбика времени - первый в datetime (чтоб ориентироваться на графике) и четвертый столбик string - кол-во секунд прошедших с какого-то там года чтоб была линейная абсолютная координата. Первый столбик указывает GMT. Но при чтении из файла он меня не интересует, я его не читаю.
А создан такие файлы для того чтоб достаточно было один раз все эти значения посчитать (это долго и они в принципе не меняются), а затем использовать многократно в разных местах и диапазонах.
Замените float на double
Заменил. И при заполнении файла, и при чтении - результат такой же.
где-то не там заменяли :-)
float f;
f=StringToInteger("1471891920");
Print(f);
/// получится (фанфары!!) 1471891968.0
проблема лоцирована - правьте код..и впредь включайте #property strict и обращайте внимание на ошибки и предупреждения компилятора
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Имеется .csv файл созданный этими строчками:
Этот блок повторяется и создает много строчек в этом же файле. Затем, создается еще много аналогичных файлов.
Получаются файлы 1.csv, 2.csv, 3.csv и т.д. С содержимым типа:
2016.08.22 18:52:00,9,20,1471891920,1.1245,1.1274,1.1306,1.1335,1.1367,1.1396,1.1428
2016.08.19 08:44:00,9,20,1471596240,1.1171,1.1205,1.1259,1.1293,1.1347,1.1381,1.1435
2016.08.18 08:43:00,9,20,1471509780,1.1105,1.1158,1.1214,1.1267,1.1323,1.1376,1.1432
...
Далее, я читаю другим скриптом любой из файлов так:
Вот в чем проблема:
Значения выделенные зеленым читаются верно, а выделенные красным - нет:
1471891968.0 ,1.1245 ,1.1274 ,1.1306 ,1.1335 ,1.1367 ,1.1396 ,1.1428
1471596288.0 ,1.1171 ,1.1205 ,1.1259 ,1.1293 ,1.1347 ,1.1381 ,1.1435 - прочитанные значения.
1471509760.0 ,1.1105 ,1.1158 ,1.1214 ,1.1267 ,1.1323 ,1.1376 ,1.1432
2016.08.22 18:52:00,9,20,1471891920,1.1245,1.1274,1.1306,1.1335,1.1367,1.1396,1.1428
2016.08.19 08:44:00,9,20,1471596240,1.1171,1.1205,1.1259,1.1293,1.1347,1.1381,1.1435 - записанные значения, которые
2016.08.18 08:43:00,9,20,1471509780,1.1105,1.1158,1.1214,1.1267,1.1323,1.1376,1.1432 именно так видны в блокноте.
Значения выделенные красным отличаются в последних 2-3 цифрах.
Ну и вопрос - в чем может быть проблема ?
Уже спасибо.