Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
FileUnlimited - библиотека для MetaTrader 5
- Просмотров:
- 2601
- Рейтинг:
- Опубликован:
- 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 (Range Bound Channel Index) удаляет низкочастотный тренд, формируемый низкочастотными составляющими спектра и высокочастотный шум, формируемый высокочастотными составляющими спектра.
SATLМедленная адаптивная линия тренда (Slow Adaptive Trend Line) используется для подавления шумов и рыночных циклов с более длинными периодами колебаний.