BuffersHunter
- Утилиты
- Версия: 1.40
BuffersHunter — это скрипт, который считывает и анализирует буферы любого индикатора MetaTrader 5. Больше не нужно гадать, в каком буфере хранятся сигналы на покупку, где уровни, а где линии индикатора. Запустите скрипт — и через секунду получите полную структуру всех буферов с автоопределением их типов.
Для кого этот скрипт?
Для разработчиков советников. Вы нашли интересный индикатор, хотите использовать его сигналы в своём роботе, но не знаете номера буферов и что в них хранится. BuffersHunter покажет всё за один запуск.
Для трейдеров-исследователей. Вы изучаете новый индикатор и хотите понять, какие данные он передаёт. Возможно, там есть скрытые буферы с полезной информацией, которую вы не видите на графике.
Для тех, кто покупает индикаторы на Маркете. Не все разработчики документируют структуру буферов. BuffersHunter поможет разобраться самостоятельно.
Как это работает?
-
Укажите папку (Market, Examples, Indicators) и имя индикатора — точно как в Навигаторе
-
Запустите скрипт на любом графике
-
Результат появится в журнале и сохранится в текстовый файл в папке MQL5\Files
Скрипт подключается к индикатору с настройками по умолчанию, считывает заданное количество баров и анализирует содержимое каждого буфера.
Важно: Для чтения буферов индикатора его необязательно устанавливать на график — скрипт всё читает напрямую: подключает индикатор, читает буферы и отключает индикатор.
Что показывает скрипт?
Для каждого буфера выводится:
-
Тип буфера — определён автоматически на основе анализа значений
-
Fill rate — какой процент баров содержит значения
-
Max continuous — максимальная длина непрерывного отрезка значений
-
Текущее значение на нулевом баре
-
История последних N баров (настраивается)
-
Последнее непустое значение — если в видимой истории одни нули
Типы буферов, которые определяет скрипт:
| Тип | Описание |
|---|---|
| LINE | Непрерывная линия — значения есть на большинстве баров, редко прерывается |
| SEGMENT | Прерывистая линия — значения частые, но с пропусками (начало и конец есть) |
| LEVEL | Горизонтальные отрезки — одинаковые значения, повторяющиеся несколько баров подряд |
| ARROW | Стрелки/сигналы — одиночные значения на отдельных барах |
| SIGNAL | Сигналы 1/-1/0 — типичные буферы для покупки/продажи |
| HISTOGRAM | Гистограмма — положительные и отрицательные значения на большинстве баров |
| LINE (filter) | Фильтр/уверенность — значения в диапазоне 0-1 или 0-100 |
| UNKNOWN | Неиспользуемый буфер — значений не найдено за всё время поиска |
Пример результата
========== UNIVERSAL BUFFER READER v1.40 ========== Indicator: Market\IndicatorName Handle created successfully! Symbol: XAUUSD Timeframe: PERIOD_M15 ------------------------------------- BUFFER #0 [LINE] Fill rate: 40/100 bars (40.0%) Max continuous: 30 bars (75.0% of non-zero) Current value [0]: 0.00 History (last 10 bars): [0] = 0.00 ... Last non-zero value [37]: 4493.62 ------------------------------------- BUFFER #11 [LINE (filter)] Fill rate: 100/100 bars (100.0%) Max continuous: 100 bars (100.0% of non-zero) Current value [0]: 0.50 ------------------------------------- BUFFER #26 [SIGNAL UP/DN] Fill rate: 2/100 bars (2.0%) Current value [0]: 0.00 Signal: NONE History (last 10 bars): [2] = -1.00 DOWN ... BUFFER TYPE SUMMARY: Lines: 12 (continuous) Levels: 4 (horizontal segments) Filters: 1 (0-1 or 0-100 range) Arrows: 6 (isolated values) Signals: 1 (1/-1/0) Unknown: 7 (possibly unused buffers)
После такого анализа сразу видно:
-
Буферы 16-25 — линии индикатора (цены, уровни)
-
Буфер 11 — фильтр уверенности (значения 0.50)
-
Буфер 26 — сигналы BUY/SELL (1 и -1)
-
Буферы 4-6, 12-15 — не используются
Важные замечания (честно и прозрачно)
1. Автоопределение типов — предположительное
Скрипт анализирует последние N баров (по умолчанию 100) и на основе статистики делает вывод о типе буфера. Это предположение, а не точный факт. Некоторые индикаторы могут использовать буферы нестандартным способом. Всегда проверяйте на графике.
2. Индикатор запускается с настройками по умолчанию
Скрипт не передаёт параметры в индикатор. Если индикатор требует обязательных параметров при запуске — скрипт не сможет его прочитать. В этом случае вы увидите ошибку.
3. Неиспользуемые и отключенные буферы
Нулевые буферы могут быть неиспользуемыми, а могут быть отключены в настройках индикатора. Значения в буферах параметров, отключенных по умолчанию, скрипт прочитать не сможет — они останутся UNKNOWN. Увеличьте Bars to search (например, до 500 или 1000) — возможно, сигналы просто очень редкие.
4. Время в буферах
Некоторые индикаторы хранят время сигнала (Unix timestamp) прямо в буфере. Скрипт определяет такие значения и показывает их в читаемом формате.
Как использовать результаты в советнике?
После того как вы определили номера буферов, использовать их в коде очень просто:
// Подключение индикатора int handle = iCustom(_Symbol, _Period, "Market\\IndicatorName"); // Чтение сигнального буфера double signal[]; CopyBuffer(handle, 26, 0, 1, signal); if(signal[0] == 1.0) OpenBuy(); else if(signal[0] == -1.0) OpenSell();
Настройки скрипта
| Параметр | По умолчанию | Описание |
|---|---|---|
| Indicator folder | Market | Папка индикатора (Market, Examples, Indicators) |
| Indicator name | IndicatorName | Имя индикатора как в Навигаторе |
| Bars to show | 10 | Сколько последних баров показывать в истории |
| Bars to search | 100 | Сколько баров анализировать для определения типа |
| Show detailed info | true | Подробный или краткий вывод |
| Save results to file | true | Сохранять результат в txt-файл |
Системные требования
-
MetaTrader 5 (терминал)
-
Любой таймфрейм
-
Любой торговый символ
-
Не требует DLL
-
Не торгует сам (скрипт, не советник)
BuffersHunter — ваш инструмент для быстрого анализа любых индикаторов. Запустил → узнал → использовал в советнике.
