Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 2622
- Рейтинг:
- Опубликован:
- 2011.08.16 13:07
- Обновлен:
- 2016.11.22 07:33
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Библиотека для работы с файлами средствами WinAPI без ограничений по месту нахождения.
Сейчас реализована только работа с константными файлами (только чтение), будет обновляться по мере багофикса и дополнения кодом.
Файлы FileUnlimited.mqh, FileUnlimitedConstants.mqh и StringUtils.mqh нужно скопировать в каталог_данных_терминала\MQL5\Include\TheXpert, библиотеку ConstFileUnlimited.mqh нужно скопировать в каталог_данных_терминала\MQL5\Libraries\TheXpert, а скрипт FileUnlimitedTest.mq5 в каталог_данных_терминала\MQL5\Scripts.
Постарался, чтобы использование класса было максимально просто.
Вот пример использования (дублирую скрипт)
#include <TheXpert/FileUnlimited.mqh> #include <TheXpert/StringUtils.mqh> #define CP_UTF16 1200 void OnStart() { string name = "TheXpert\\Test.txt"; string path = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Files\\" + name; int hFile = FileOpen(name, FILE_WRITE | FILE_TXT, ' ', CP_UTF16); if (hFile == INVALID_HANDLE) { Print("File not opened."); return; } bool writeBool = false, readBool = true; long writeLong = -4369549, readLong = 0; double writeDouble = -4369549.245, readDouble = 0; datetime writeDatetime = 2596824987, readDatetime = 0; color writeColor = Blue, readColor = White; string writeString = "2r4i6bf4wb9tb69vw", readString = ""; FileWrite(hFile, writeBool); FileWrite(hFile, writeLong); FileWrite(hFile, writeDouble); FileWrite(hFile, writeDatetime); FileWrite(hFile, writeColor); FileWrite(hFile, writeString); FileClose(hFile); // --------------------------------------------- // начиная отсюда используется либка для чтения. // --------------------------------------------- ConstFile* file = OpenConstFile(path); if (CheckPointer(file) != POINTER_INVALID) { file.Read(readBool); Print("readBool = ", readBool); file.Read(readLong); Print("readLong = ", readLong); file.Read(readDouble); Print("readDouble = ", readDouble); file.Read(readDatetime); Print("readDatetime = ", readDatetime); file.Read(readColor); Print("readColor = ", readColor); file.Read(readString); Print("readString = ", readString); delete file; } else { Print("Failed to open ConstFile at path -- ", path); } }
Библиотека работает только с юникодными файлами, отсюда введение кодовой страницы CP_UTF16 (почему-то нет в константах языка).
Большая просьба сообщать обо всех обнаруженных ошибках в комментариях или в этой теме.
Замечания, пожелания, здоровая критика категорически приветствуется.
Давайте вместе сделаем вещь, которая будет потом полезна всем!
![RBCI](https://c.mql5.com/i/code/indicator.png)
Цифровой фильтр RBCI (Range Bound Channel Index) удаляет низкочастотный тренд, формируемый низкочастотными составляющими спектра и высокочастотный шум, формируемый высокочастотными составляющими спектра.
![SATL](https://c.mql5.com/i/code/indicator.png)
Медленная адаптивная линия тренда (Slow Adaptive Trend Line) используется для подавления шумов и рыночных циклов с более длинными периодами колебаний.