parser ini.dll
Info
The parser ini.dll is a Script for MetaTrader 4 that Описание:Скайп-чат поддержки продукта: Последние версии библиотек, скриптов и приложений: ftp://zhunko_guest:abd4vsuc@ftp. zhunko.
Usage
This tool is typically used for enhancing chart analysis and decision making.
Platform
This Script works exclusively on MetaTrader 4 (both build 600+ and newer versions).
Setup
Place the downloaded file in MQL4/Scripts folder via File ? Open Data Folder in MetaTrader 4.
How to Install and Use parser ini.dll
1. Installation: Move your script file into the MQL/Scripts directory and restart the platform.
2. Execution: Drag the script onto a chart; it will perform a one-time action, such as closing all open orders or clearing chart objects.
3. Editing: Use MetaEditor (F4) to modify code, click "Compile," and verify no errors appear in the terminal before running.
4. Removing: Scripts stop automatically, but you can remove them manually by right-clicking the chart and choosing "Remove Script."
Frequently Asked Questions
Q: How are scripts different from EAs? A: Scripts execute a single action and then stop; EAs monitor the market and trade continuously.
Q: Can I assign a hotkey to a script? A: Yes, right-click the script in the Navigator, select "Set Hotkey," and define your preferred keyboard shortcut.
Q: Why did my script stop? A: Scripts are designed to stop immediately after finishing their programmed command; this is normal behavior.
What this tool does
Описание:Скайп-чат поддержки продукта: Последние версии библиотек, скриптов и приложений: ftp://zhunko_guest:abd4vsuc@ftp.
Typical Use Case
This Script excels in automated trading and technical analysis on MetaTrader 4.
Compatible Platform & Setup
This Script works on MetaTrader 4. Place the file in the MQL4/Scripts folder and restart the terminal.
Description & Settings
Related: hi-lo range oscillator and middle point channel - another powerful script for MetaTrader 4 traders.
Описание:Скайп-чат поддержки продукта:
Also recommended: script to close all negative trades first and then followed by positive trades - similar script with strong performance on MetaTrader 4.
Последние версии библиотек, скриптов и приложений:
ftp://zhunko_guest:[email protected]
Ещё одно решение для работы с ini-файлами.
От аналогов отличается:
- Есть возможность записи/чтения массивов до 3-х измерений.
- Можно применять любые теги разделов. Даже непарные.
- Есть синхронизация работы с текущим файлом из разных процессов.
- Самое главное! Библиотека работает не с файлом на диске, а с его копией в памяти. Т.е. Библиотека один раз читает файл в память, затем анализ текста, потом закрывает файл. Это быстро и не мучает диск.
- Есть возможность использовать привычные программисту комментарии.
- Встроен автоматический контроль текста файла на ошибки. Если есть ошибки, парсер показывает ошибки в диалоговом окне. Может пригодиться для ручного заполнения файла.
- Все ошибки комментируются, неточности исправляются и перед закрытием файла он перезаписывается исправленным текстом. Такой маленький "компилятор".
- Можно записывать и перезаписывать заголовок файла отдельной функцией.
- Есть выбор кодировки файла (ansi/unicode).
Комплект:
- Заголовочный файл функций библиотеки "parserini.mqh".
- Тестовый скрипт с примерами "check_parserini.dll.mq4".
- Папка с файлами "parserini.h" и "parserini.lib" для подключения библиотеки к c++ проектам.
- Архив со всем вышеперечисленным и dll, разложеным по папкам.
Правила парсера :
1. ОБЩИЕ ПОЛОЖЕНИЯ.
1.1. Первая строка текста может быть заголовком. Можно записать туда что-нибудь полезное с обязательным комментарием (//).
1.2. Последний символ текста должен быть комбинацией знаков перевода каретки и переноса строки (\r\n).
1.3. Пара ключ-значение всегда начинается с новой строки.
1.4. Между ключом и его значением должен стоять символ равно (=).
1.5. Ключи и их значения регистрозависимы.
2. КЛЮЧИ.
2.1. Ключи могут состоять из любых символов, кроме символов типографики, знаков пунктуации, математических знаков и зарезервированного слова "end".
3. ЗНАЧЕНИЯ КЛЮЧЕЙ.
3.1. Значение ключа может состоять только из букв латинского алфавита, букв русского алфавита, цифр, знаков пунктуации и разделителей слов (пробел ( )).
3.2. Значение ключа может быть равным пустой строке.
3.3. Если применяется метод, возвращающий число, к пустой строке, то он возвращает ноль.
3.4. Значения ключа могут перечисляться через вертикальную черту (|), точку с запятой (;) и запятую (,). Это означает набор значений (массив значений) для первого, второго и третьего измерений массива соответственно. Последние символы (,), (;), (|) ставить не обязательно.
Пример записывает одномерный массив: param=1,2,3,4,5,6,7,8,9
Пример записывает двухмерный массив: param=1,2,3;4,5,6;7,8,9
Пример записи трёхмерного массива: param=1,2,3;4,5,6;7,8,9|1,2,3;4,5,6;7,8,9|1,2,3;4,5,6;7,8,9
3.5. Число может иметь первым символом знак плюс (+) или минус (-).
3.6. Значение ключа всегда заканчивается комбинацией знаков перевода каретки и переноса строки (\r\n).
4. КОММЕНТАРИИ.
4.1. Возможны комментарии типа (//) и (/**/).
4.2. Комментарии синтаксическим анализом игнорируются.
5. РАЗДЕЛЫ.
5.1. Имя раздела может состоять из любых символов, кроме текущих символов открывающего и закрывающего тегов раздела.
5.2. Имя раздела ограничивается двумя любыми символами.
5.3. Парсер может работать с любым количеством обозначений разделов.
5.4. При инициализации перечисление тегов разделов выглядит, как строка, где в каждой паре ячеек указывается открывающий и закрывающий имя раздела теги. Пример: "# []". Если закрывающий тег является пустой строкой, то необходимо вместо него указать пробел. Открывающий тег не может быть пробелом.
5.5. Возможны два варианта обозначения раздела по умолчанию.
Вариант 1. Блок раздела начинается с новой строки с символа (#) и продолжается уникальным пользовательским именем и завершается пустой строкой ( ). Пример: #userspace0.
Вариант 2. Блок раздела начинается с новой строки с символа ([), продолжается уникальным пользовательским именем и завершается символом (]). Пример: [userspace0].
5.6. Парсер выбирает первое встретившееся из перечисленных обозначений разделов. Другие игнорирует и комментирует.
5.7. Завершается блок раздела началом следующего блока другого раздела или тегом (#end) для первого варианта и ([end]) для второго варианта.
5.8. Если был установлен раздел, то перед применением любого метода чтения или установки пары ключ-значение необходимо вызвать метод установки или чтения раздела.
5.9. Нельзя использовать для имени раздела зарезервированное слово "end".
6. ПАРСЕР.
6.1. Все одинокие знаки перевода каретки (\r) и знаки переноса строки (\n) дополняются до комбинации --\> (\r\n).
6.2. После комментариев типа (/**/) и до комбинации знаков перевода каретки и переноса строки (\r\n) все символы переносятся на новую строку.
6.3. Пробелы и знаки табуляции удаляются только из строк с парами ключ-значение.
6.4. Пробелы и знаки табуляции удаляются из значения ключа только спереди от знака равно (=) и сзади значения до комбинации (\r\n).
6.5. Повторные записи уже существующих ключей внутри одного раздела парсером автоматически комментируются (//).
6.6. Повторные записи уже существующих разделов парсером автоматически комментируются (//).
You may also like: collaps expert advisor - excellent alternative for script users on MetaTrader 4.
Source Code
#property copyright "robotfx"
#property link "https://robotfx.org"
#property show_inputs
#property strict
#include <parserini.mqh> // Заголовочный файл библиотеки "parserini.dll".
input string filename = "checkparser.ini"; // Имя ini-файл.
input string sectiontag = "[]"; // Теги обозначения раздела. Строка, где указывается открывающий и закрывающий имя раздела теги. Пример: "# " или "[]".
input bool write = false; // Запись в ini-файл.
input bool read = false; // Чтение из ini-файла.
input bool clear = false; // Очищение ini-файла.
.......
⚠ Limitations & Risk Warning
- This tool is provided for educational and testing purposes only.
- Past performance does not guarantee future results.
- Trading involves substantial risk of loss. Use on a demo account first.
- Results may vary depending on market conditions, broker, and settings.
- We recommend thorough backtesting and forward testing before using with real funds.