SessionFibo EA

Визуальный помощник для ручной торговли золотом (XAUUSD) в MetaTrader 4: сессионные фибо-сетки с подтверждением экстремумов, новостной календарь, тени прошлого, подсказки входов и панели счёта.

Что это

SessionFibo EA — визуальный помощник для ручной торговли золотом (XAUUSD) в MetaTrader 4. Он строит на графике фибо-сетки торговых сессий, дня, недели и месяца, показывает новостной календарь, «тени» прошлых периодов, подсказки входов и состояние счёта. Торговля в нём есть, но выключена по умолчанию: основная задача — показать, где робот вошёл бы и почему, а решение остаётся за трейдером.

Кому подходит: тем, кто торгует внутри дня от уровней Фибоначчи и сессионных диапазонов. Всё, что советник считает, он рисует; всё, что рисует, можно включить и выключить одной кнопкой.

Что он не делает: не открывает сделки без явного включения торговли, не использует DLL, не отправляет данные никуда, кроме одного запроса к календарю ForexFactory.

Установка

Установка занимает пять минут; единственный обязательный ручной шаг — разрешить советнику доступ к календарю.

  1. Скопируйте XAUUSD_SessionFibo_v2.mq4 в папку MQL4\Experts терминала (Файл → Открыть каталог данных). Откройте файл в MetaEditor и нажмите F7 — в журнале должно быть 0 error(s).

  2. Сервис → Настройки → Советники: включите «Разрешить WebRequest для следующих URL» и добавьте две строки: https://nfs.faireconomy.media и https://cdn-nfs.faireconomy.media. Без этого календарь не загрузится, всё остальное будет работать.

  3. Откройте график XAUUSD (рекомендуется M5) и перетащите советника из окна «Навигатор → Советники». Во вкладке «Общие» включите «Разрешить советнику торговать» — это нужно даже в режиме помощника, иначе не будут работать кнопки закрытия позиций.

  4. Проверка: справа появятся три окна — Счёт, Управление, Отображение; на графике — сетки сессий; внизу слева — зелёная строка «Новости: N, обновл. …». Красная строка называет, что нужно сделать.

Язык и масштаб определяются автоматически: язык — по языку терминала, масштаб панелей — по DPI экрана. Оба можно задать вручную параметрами Language и PanelScale.

Для работы с новостями в тестере стратегий советник использует тот же архив, что и на живом графике; за прошлые даты событий в нём нет (см. «Частые вопросы»).

Сетки Фибоначчи

Каждая сетка — диапазон одного периода, на который наложены уровни 0…100 и расширения. Сетки всегда считаются для всех периодов; что показывать на текущем таймфрейме, решают галочки окна «Отображение».

Сетка Период (время брокера) Данные Цвет
Азия 02:00 – 10:30 (23:00 – 07:30 UTC) M1 зелёный
Европа 10:00 – 20:00 (07:00 – 17:00 UTC) M1 оранжевый
Америка 15:30 – 23:00 зимой, на час раньше летом (США) M1 синий
День сутки брокера M5 серый
Неделя понедельник 00:00 – пятница M30 фиолетовый
Месяц с 1-го числа H1 коричневый

Сессии строятся за сегодня, вчера и ещё два дня назад (GridHistoryDays), день — за вчера и сегодня, неделя и месяц — за прошлый и текущий периоды. Границы сессий заданы в UTC и пересчитываются под смещение брокера автоматически, включая летнее время США.

Уровни. Основные: 0, 23.6, 38.2, 50, 61.8, 76.4, 100 — сплошные линии. Сигнальные: 11.8 и 88.2 — коричневый штрих-пунктир. Расширения: −23.6, −11.8, 111.8, 123.6, 150, 161.8 — точечные. Подписи трёх групп заканчиваются на разной длине, чтобы не накладываться. Наборы уровней редактируются в параметрах MainLevels, SignalLevels, ExtLevels.

Ориентация. 100 — начало движения периода, 0 — его конец. Если сессия шла вниз, 0 внизу; если вверх — 0 вверху. Расширения за 0 (−11.8, −23.6) — цели пробоя в сторону движения, за 100 (111.8, 123.6) — цели против него.

Как определяются 0 и 100. Не по одиночным теням, а по «отработанным» экстремумам: уровнем становится самый крайний бар, у которого в зоне 5% диапазона (ConfirmZonePct) есть ещё не менее двух баров с телами (ConfirmBars = 3). Одиночный шип сетку не переносит — он ложится на расширения. В первый час периода требуется больше подтверждений (ConfirmBarsAtOpen = 6), новостные бары и шесть минут после них из расчёта исключаются.

Фиксация. Как только оба экстремума подтверждены, сетка фиксируется. Новые максимумы в зоне до 123.6 её не двигают — это ложные пробои. Выход за 123.6 или −23.6 — истинный пробой: сетка снимает фиксацию и ступенькой переносит границу на новый подтверждённый экстремум. Внутри периода 0 и 100 только расширяются, назад не возвращаются.

Живая сетка текущей сессии появляется, когда диапазон превысил четыре медианных бара (LiveMinRangeBars), и перестраивается на каждом новом баре своих данных. Завершённые сетки считаются один раз тем же алгоритмом — живая и завершённая версии одной сессии всегда совпадают.

Панели

Три окна в правом верхнем углу: Счёт, Управление, Отображение. Заголовок каждого окна и каждой группы внутри сворачивает содержимое; все нажатия запоминаются и переживают смену таймфрейма и перезапуск терминала.

Счёт

Таблица состояния счёта, обновляется каждую секунду.

Строка Что показывает
Баланс, Эквити эквити зелёная, пока выше баланса
Своб. маржа свободная маржа и уровень маржи в процентах
Просадка за день от пика эквити с начала дня; краснеет после 5%
Buy / Sell / Итого число позиций, лоты, плавающий результат; в «Итого» — чистая позиция
Средний ноль цена, при которой все открытые позиции в сумме дают 0 с учётом свопа и комиссии
Stop Out цена принудительного закрытия брокером при текущих позициях и балансе
Сегодня … Год результат закрытых сделок по XAUUSD за период

Управление

Группа Кнопка Действие
Позиции ЗАКРЫТЬ ВСЁ закрыть все позиции и снять отложенные ордера
Позиции Закрыть LONG / SHORT закрыть только одну сторону
Позиции Снять отлож. удалить отложенные ордера
Позиции Все по символу / Только робот область действия всех кнопок и строк «Счёта»: все сделки по XAUUSD (включая ручные) или только сделки советника
Робот ТОРГОВЛЯ: ВКЛ / ВЫКЛ включает исполнение сигналов; выключено — советник только рисует подсказки
Робот Режим Авто → Диапазон → Тренд ВВЕРХ → Тренд ВНИЗ; ручной режим подсвечен оранжевым
Робот Сигнал: ложный пробой сигнал ретеста границы после ложного пробоя
Робот Сигнал: сетка сессии лимитники на уровнях живой сессии
Робот Ждать новости перед входом в день важной новости не входить до релиза
Робот Лот − / + фиксированный лот с шагом 0.1; нажатие на значение возвращает расчёт по риску
Действия Безубыток стоп на цену входа для всех позиций в плюсе
Действия Разворот закрыть всё и открыть противоположную позицию на чистый объём

Отображение

Галочки хранятся отдельно для трёх групп таймфреймов — M1–M15, M30–H1, H4 и выше, — поэтому на M5 и на H4 можно держать разные наборы.

Группа Галочка
Сетки сессии сегодня, вчера, −2/−3 дня; расширения на истории; фибо дня, недели, месяца; цена в подписях уровней
Сделки и сигналы история сделок; стрелки сигналов; подсказки входов; состояние пробоев
Новости значки на графике; список ближайших
Линии и тени средний ноль; линия Stop Out; тени прошлого

Стартовый набор: на M1–M15 — сессии сегодня и вчера; на M30–H1 — сессии сегодня, день и неделя; на H4 — неделя и месяц. Чтобы вернуть стартовые наборы, удалите глобальные переменные терминала с префиксом SF2_XAUUSD_ (F3).

Новости

Календарь берётся из недельного экспорта ForexFactory, копится в архиве и используется четырьмя способами: значки на графике, список ближайших событий, звук перед релизом, исключение новостных баров из расчёта сеток.

Загрузка. При старте и затем раз в 4 часа (NewsRefreshHours) советник запрашивает файл текущей недели по адресам из NewsURLs (основной и зеркало, по очереди). Всё новое дописывается в SF2_news_archive.txt в общей папке терминала — она видна и тестеру. Смена таймфрейма и перестановка советника загрузку не вызывают; при ошибке сети работает архив. Строка внизу графика зелёная, когда всё хорошо, и красная с указанием причины, когда нужно вмешаться: не разрешён URL, лимит запросов, архив старше четырёх дней.

Фильтр. По умолчанию — только High по USD (NewsCurrencies, NewsIncludeMedium). Выходные дни выбранных валют показываются серым, но на логику не влияют.

На графике. Крупная точка в момент релиза на 50% дневного диапазона: красная — High, оранжевая — Medium, серая — выходной. Наведение — время, валюта, название, прогноз, предыдущее значение. Под строкой состояния — список пяти ближайших событий с временем брокера.

Звук. За 15 минут — news.wav, за 5 минут — дважды alert2.wav (NewsSound15, NewsSound5). Событие также пишется в журнал «Эксперты».

Влияние на сетки. Бары в окне 15 минут до и 6 минут после релиза (NewsBeforeMin, NewsAfterMin) не могут стать 0 или 100 и не считаются касаниями — новостной шип всегда ложится на расширения. Дополнительно советник сам распознаёт аномальный бар: диапазон больше трёх медианных (NewsBarMult) — и исключает его вместе с шестью минутами после, даже если события в календаре нет.

Ручной импорт. Файл SF2_news_import.csv в общей папке, строки вида 2026-09-04 12:30;USD;High;Non-Farm Employment Change (время UTC). Советник подхватывает его при старте, сливает с архивом и переименовывает в .imported. Так можно загрузить историю для тестера или обойтись без сети, если источник станет недоступен.

Подсказки и линии

Всё ниже включается галочками окна «Отображение» и не зависит от того, включена ли торговля.

Подсказки входов. Пунктирные отрезки у уровней живой сессии с подписью вида «SELL 4415.90 TP 4404.20 SL 4433.10» — ровно те лимитные ордера, которые робот выставил бы в текущем режиме. В режиме тренда — только в одну сторону, с пометкой [тренд]. Перестраиваются на каждом баре и при смене сетки; исчезают в окне новости и до релиза. Когда живой сессии нет (выходные, паузы), подсказки строятся от последней завершённой.

Состояние пробоев. Подпись у границы сетки, где идёт ложный пробой: серая «шип за 100/0 вверх (4632), ждём возврат внутрь», затем оранжевая «вернулись внутрь, ждём ретест 4613 → SELL». Когда ретест состоялся — стрелка сигнала с целью и шипом в тултипе.

Средний ноль. Золотистый пунктир — цена, при которой все открытые позиции в сумме дают ноль. Покупки и продажи взаимно вычитаются; если объёмы равны, линии нет — результат зафиксирован и показан в панели.

Stop Out. Красный штрих-пунктир — цена, при которой брокер начнёт принудительно закрывать позиции, по текущему балансу, использованной марже и чистой позиции. Считает только XAUUSD: позиции по другим инструментам приближают реальный уровень.

История сделок. Квадратик на входе (синий Buy, красный Sell), квадратик на выходе (зелёный в плюс, красный в минус) и тонкий пунктир между ними. Наведение — направление и объём на входе, результат и длительность на выходе. Открытая позиция тянется пунктиром к текущей цене с плавающим результатом. Глубина — HistoryDays (10 дней).

Тени прошлого. Бледные свечи прошлого периода позади текущих: пять назад и пять вперёд от эквивалентного момента, сдвинутые к текущей цене, чтобы видеть форму движения, а не абсолютные уровни. Голубые — ближний период, оранжевые — дальний; подпись над правым концом ряда — дата источника. Наборы по таймфрейму: M1–M15 — вчера и неделю назад; M30–H1 — неделю и месяц назад; H4+ — месяц и год назад. Параметры: GhostBars, GhostAlignPrice (выключите, чтобы видеть реальные цены), GhostScaleATR, GhostMonthMode.

Режимы: диапазон и тренд

Советник различает два состояния рынка и меняет от этого и подсказки, и сигналы. Текущий режим виден в строке состояния и на кнопке «Режим».

Диапазон — по умолчанию. Уровни живой сессии торгуются в обе стороны: покупки от нижней части сетки, продажи от верхней, цели через два уровня к середине.

Тренд включается одним из двух способов.

  1. Новостной импульс: в день High-новости входы блокируются до релиза плюс 6 минут; через 15 минут после релиза (NB_ImpulseMin) проверяется, вышла ли цена за границу живой сетки старшей сессии. Вышла — направление задано до конца дня.

  2. Структура недели: цена находится в последних 38.2% хода прошлой недели к её 0 (TB_WeekFrac), и сегодняшний день ориентирован в ту же сторону. Проверка на истории показала, что в такой ситуации пятница в трёх случаях из четырёх не возвращается к середине недели, а закрывает её на ходу.

В тренде подсказки и лимитники ставятся только по направлению — от уровней между ценой и пробиваемой границей, цель за противоположной границей (−23.6), стоп за 111.8; ложные пробои против тренда игнорируются. Возврат в диапазон — когда цена уходит из зоны 38.2 недели или день меняет ориентацию.

Ручное переключение кнопкой «Режим» имеет приоритет над автоматикой; ручное значение подсвечено оранжевым, чтобы не забыть вернуть «Авто».

Торговля (опционально)

Кнопка «ТОРГОВЛЯ: ВКЛ» превращает подсказки в реальные ордера — те же уровни, те же стопы и цели. Логика одна, различается только последний шаг. Рекомендуемый порядок: неделя на демо рядом с ручной торговлей, потом включение.

Сигнал Вход Стоп Цель
Сетка сессии (диапазон) лимитники на уровнях ниже 38.2 (Buy) и выше 61.8 (Sell) живой сессии за −11.8 / 111.8 + 2% диапазона через два уровня к середине, до 38.2 / 61.8
Сетка сессии (тренд) лимитники только по направлению, от 38.2 до 88.2 за 111.8 −23.6 живой сетки
Ложный пробой ретест 100 или 0 после того, как шип дошёл до 111.8 / −11.8, но не до 123.6, и цена вернулась внутрь за шипом + 5% 38.2% диапазона внутрь (уровень 61.8)

Приоритет сессий. Америка старше Европы, Европа старше Азии. Пока идёт старшая сессия, сигналы младшей живой не берутся; при совпадении сигналов на одном баре берётся старший.

Корзина. Все позиции сигнала «Сетка» закрываются разом при суммарной прибыли ≥ 1% баланса (RG_BasketPct) или заданной суммы (RG_BasketMoney); в тренде — при выходе цены на −11.8. До двух позиций в сторону в диапазоне (RG_MaxPerSide), до четырёх по тренду (TB_MaxPositions).

Лот. По умолчанию — от риска 0.5% баланса на расстояние до стопа (RiskPercent). FixedLot или кнопки «Лот −/+» задают фиксированный объём.

Защита счёта. Стоп торговли на день при убытке 3% (MaxDailyLossPct); Equity Auto Close — закрыть всё при плавающей прибыли или убытке в процентах эквити или в валюте (EAC_ProfitPct, EAC_LossPct, EAC_ProfitMoney, EAC_LossMoney, выключены по умолчанию). Equity Auto Close действует и на ручные позиции, если область действия — «Все по символу». Всё закрывается в 23:45 перед роловером (CloseAllBeforeRollover), после 22:00 новых входов нет.

Советник всегда ставит стоп на каждую позицию. Серии без стопов против движения — единственный сценарий, который его логика не покрывает и покрывать не будет.

Параметры

Полный список — в свойствах советника; здесь те, что меняют чаще всего.

Параметр По умолчанию Что делает
Language Auto язык подписей: по языку терминала, русский или английский
PanelScale 0 (авто) масштаб панелей в %; 0 — по DPI экрана
PanelWidth 300 ширина панелей до масштабирования
ThemeAuto true подстраивать цвета сеток под тёмный фон графика
BrokerGMTOffset 3 смещение брокера для тестера; на живом счёте определяется автоматически
GridHistoryDays 3 сколько прошлых дней сессий считать
ConfirmZonePct / ConfirmBars 5 / 3 зона и число баров для подтверждения 0 и 100
LockGridPct 23.6 порог истинного пробоя, за которым сетка переносится
NewsCurrencies USD валюты новостей через запятую
NewsBeforeMin / NewsAfterMin 15 / 6 окно исключения баров вокруг релиза
NB_BlockBeforeNews true не входить до релиза в день High-новости
EnableTrading false стартовое состояние кнопки «Торговля»
RiskPercent / FixedLot 0.5 / 0 расчёт лота
MaxDailyLossPct 3 стоп торговли на день
EAC_LossPct 0 закрыть всё при плавающем убытке в % эквити
GhostBars 5 свечей теней назад и вперёд

Состояние кнопок и галочек хранится в глобальных переменных терминала (F3, префикс SF2_XAUUSD_) и имеет приоритет над входными параметрами.

Частые вопросы

Панели есть, сеток нет. Смотрите строку внизу: красная «ГРАФИК НЕ ОБНОВЛЯЕТСЯ: посл. бар …» означает, что файл истории этого таймфрейма застрял. Закройте терминал, удалите XAUUSD\<минуты>.hst (для M5 — XAUUSD5.hst) из history\сервер>\ запустите терминал и откройте график заново.

Нет новостей, строка красная. Текст называет причину. «Разрешите URL» — добавьте адрес в Сервис → Настройки → Советники → WebRequest и переставьте советника. «Лимит запросов» — ForexFactory заблокировал на пять минут после частых запросов; советник повторит сам через 4 часа, архив продолжает работать. «Устарели» — источник не отвечал больше четырёх дней; проверьте соединение или положите файл импорта.

Подписи на кнопках обрезаны. Увеличьте PanelWidth (340 для 4K) или задайте PanelScale вручную.

На M5 включил «Фибо недели», а линий нет. Недельная сетка на M5 — несколько линий через весь экран, часто за его пределами; уменьшите масштаб графика или посмотрите на H1.

Подсказок входов нет. Они появляются, когда живая сессия подтвердила оба экстремума и её диапазон превысил четыре медианных бара; до релиза High-новости и в окне новости их нет по правилу. На выходных подсказки строятся от последней сессии пятницы.

Средний ноль и Stop Out не показаны. Только при открытых позициях по XAUUSD в выбранной области действия («Все по символу» или «Только робот»).

История сделок пустая. Во вкладке «История счёта» терминала должен стоять период «Вся история» — другой фильтр ограничивает то, что видит советник. Показываются сделки за HistoryDays дней.

Тестер: нет новостей. Экспорт ForexFactory даёт только текущую неделю; для истории положите SF2_news_import.csv в общую папку терминала. Без него в тестере работает только распознавание новостных баров по размеру.

Тестер: другие сетки, чем на живом графике. Тестер генерирует бары только тестируемого таймфрейма, остальные берёт из файлов истории. Советник это проверяет и при нехватке данных считает по таймфрейму теста — сетки могут отличаться на доли доллара.

Как вернуть заводские галочки. F3 → удалить переменные с префиксом SF2_XAUUSD_ → переставить советника.

Комментарии

Вопросы, замечания, предложения по советнику. Комментарии публикуются после проверки автором.

Пока нет комментариев — будьте первым.