Goldtrends
- エキスパート
- バージョン: 1.1
- アップデート済み: 12 8月 2026
- アクティベーション: 5
При оставлении положительного отзыва, можем предоставить эксклюзивные настройки!!
TrendRider — трендовый советник для золота (XAUUSD, H1)
TrendRider — трендовый советник для золота (XAUUSD, H1)
========================================================
Техническое описание. Версия 1.01.
НАЗНАЧЕНИЕ
Пробойная трендовая система на канале Дончиана с фильтрами направления и силы
тренда. Разработана и настроена под XAUUSD на таймфрейме H1.
Одна позиция на символе в каждый момент времени. Стоп-лосс выставляется
серверным ордером при открытии. Мартингейл, сетка ордеров, усреднение
убыточных позиций и торговля без стопа не используются.
ЛОГИКА РАБОТЫ
Дискретизация. Все решения принимаются один раз на бар, в момент появления
нового бара. Расчёт ведётся по данным закрытого бара со сдвигом 1; внутри бара
состояние не пересчитывается. Тиковый поток используется только для обнаружения
смены бара и для срабатывания серверных стоп-ордеров.
Каналы. Верхняя и нижняя границы канала входа — максимум и минимум за EntryLen
баров, считая от сдвига 2. Канал выхода строится так же за ExitLen баров.
Смещение на два бара означает, что сигнальный бар в расчёт собственного канала
не входит, то есть пробой является пробоем предшествующего диапазона, а не
самого себя.
Индикаторы. EMA(EmaLen), ADX(AdxLen), ATR(AtrLen) — стандартные индикаторы
терминала, значения берутся с бара 1. Сторонние индикаторы и iCustom
не используются.
Условие входа в длинную позицию:
Close[1] > ВерхняяГраницаКанала(EntryLen, сдвиг 2)
и Close[1] > EMA[1]
и ADX[1] > AdxMin
Короткая позиция — зеркально: закрытие ниже нижней границы канала и ниже EMA.
Каждое из трёх условий отключается обнулением соответствующего параметра.
Дополнительные условия входа, по умолчанию выключенные:
EmaSlopeBars EMA[1] > EMA[1 + EmaSlopeBars] для покупки
BreakoutBufATR Close[1] > ВерхняяГраница + BreakoutBufATR × ATR[1]
MaxExtATR |Close[1] − EMA[1]| / ATR[1] <= MaxExtATR
HourFrom/HourTo час открытия текущего бара внутри заданного окна
Эти четыре условия ограничивают только открытие позиции. Закрытие по встречному
сигналу выполняется независимо от них: отфильтрованный разворот не должен
оставлять позицию в рынке против сломанного тренда.
Условия выхода из длинной позиции — любое из трёх:
сработал стоп-лосс;
Close[1] < НижняяГраницаКанала(ExitLen, сдвиг 2);
сформировался встречный сетап (при ExitOnOpposite = true — даже если
открытие коротких запрещено параметром AllowShort).
Стоп-лосс. Устанавливается на расстоянии AtrMultSL × ATR[1] от цены исполнения
и нормализуется по SYMBOL_TRADE_STOPS_LEVEL и числу знаков символа. Ордер
принадлежит серверу и исполняется при выключенном терминале.
Безубыток. При выполнении условия
Close[1] − ЦенаОткрытия >= BreakevenATR × ATR[1]
стоп переносится на цену открытия позиции. Перенос выполняется по храповому
принципу: стоп только приближается к цене и никогда не отодвигается от неё.
Модификация не отправляется, если текущий стоп находится внутри зоны
SYMBOL_TRADE_FREEZE_LEVEL.
Трейлинг-стоп. При TrailMultATR > 0 стоп подтягивается на расстояние
TrailMultATR × ATR[1] от закрытия, по тому же храповому правилу. Если
одновременно включён безубыток, из двух уровней выбирается более близкий
к цене. По умолчанию трейлинг выключен.
РАСЧЁТ ОБЪЁМА
РискВДеньгах = Equity × RiskPct / 100
ЦенаПунктаНаЛот = ДистанцияСтопа / SYMBOL_TRADE_TICK_SIZE
× SYMBOL_TRADE_TICK_VALUE
Объём = РискВДеньгах / ЦенаПунктаНаЛот
Результат приводится к сетке объёмов брокера: округление вниз по
SYMBOL_VOLUME_STEP, ограничение сверху SYMBOL_VOLUME_MAX, SYMBOL_VOLUME_LIMIT
и параметром MaxLots, ограничение снизу SYMBOL_VOLUME_MIN.
Требуемая маржа проверяется через OrderCalcMargin. Если она превышает 90%
свободной маржи, объём уменьшается пропорционально; если и минимальный лот
не проходит по марже, вход отменяется, а причина пишется в журнал — заявка,
заведомо отклоняемая сервером, не отправляется.
Поведение при недостаточном депозите задаётся параметром AllowMinLot. Когда
расчётный объём меньше SYMBOL_VOLUME_MIN, советник либо торгует минимальным
лотом (AllowMinLot = true), либо отказывается от торговли и пишет в журнал,
какой депозит нужен для соблюдения заданного риска (AllowMinLot = false).
Второй режим исключает молчаливое превышение риска на малом счёте.
ПОРЯДОК ПРОВЕРОК ПЕРЕД ОТКРЫТИЕМ
1. защита по просадке (MaxDDPct) — при срабатывании торговля прекращается;
2. достаточность истории: Bars() не меньше самого длинного используемого
периода с запасом;
3. готовность данных индикаторов;
4. минимальная ширина стопа (MinStopPts);
5. наличие открытой позиции — при открытой позиции выполняется только её
сопровождение;
6. пауза после серии убытков (LossStreak / CooldownBars);
7. текущий спред (MaxSpreadPts);
8. фильтры точности входа (BreakoutBufATR, MaxExtATR, HourFrom/HourTo);
9. торговая сессия символа через SymbolInfoSessionTrade;
10. расчёт объёма и проверка маржи.
Сигнал, сформированный вне торговой сессии, не отбрасывается: он запоминается
и исполняется при открытии рынка. Без этого на инструментах, где бар
открывается до старта сессии, сделок не было бы вовсе.
ЗАЩИТНЫЕ МЕХАНИЗМЫ
BreakevenATR Перенос стопа на цену открытия после заданной прибыли в ATR.
LossStreak Пауза на CooldownBars баров после указанного числа убыточных
CooldownBars сделок подряд. Счётчик обнуляется первой прибыльной сделкой.
MaxDDPct Полная остановка торговли при достижении заданной просадки
по средствам. Открытая позиция при этом закрывается. Просадка
считается от максимума equity за время работы.
MaxRiskPct Пропуск входа, стоимость стопа которого в деньгах превышает
заданный процент средств.
MinStopPts Отказ от торговли при неправдоподобно узком расчётном стопе.
Защита от участков истории с вырожденным ATR, на которых
расчёт объёма даёт аномально большую позицию.
MaxLots Жёсткий потолок объёма независимо от расчёта.
MaxSpreadPts Пропуск входа при спреде выше заданного.
AllowMinLot Поведение при объёме ниже минимального лота (см. выше).
ОБРАБОТКА ТОРГОВОГО ОКРУЖЕНИЯ
Проверяются: режим торговли символа (SYMBOL_TRADE_MODE), уровень стопов
(SYMBOL_TRADE_STOPS_LEVEL), зона заморозки (SYMBOL_TRADE_FREEZE_LEVEL),
предельный совокупный объём (SYMBOL_VOLUME_LIMIT), шаг и границы объёма,
расписание торговых сессий, свободная маржа.
Коды возврата торговых операций анализируются. Отказ сервера с кодом
«рынок закрыт» переводит сигнал в отложенное состояние, остальные отказы
записываются в журнал с кодом и текстовым описанием.
Советник не использует DLL, не обращается в интернет, не читает и не пишет
файлы, не применяет iCustom и сторонние библиотеки. Работает на счетах
с неттингом и с хеджированием: в обоих режимах поддерживается не более одной
позиции по символу, отбор ведётся по MagicNumber и имени символа.
ВХОДНЫЕ ПАРАМЕТРЫ
Сигнал
EntryLen int 70 длина канала входа, баров; минимум 2
ExitLen int 20 длина канала выхода, баров; минимум 2
EmaLen int 100 период EMA-фильтра направления; 0 — выключить
AdxLen int 14 период ADX
AdxMin double 30.0 минимальный ADX для входа; 0 — выключить
Риск
AtrLen int 14 период ATR
AtrMultSL double 2.5 стоп-лосс в единицах ATR; больше нуля
TrailMultATR double 0.0 трейлинг-стоп в единицах ATR; 0 — выключить
RiskPct double 1.0 риск на сделку, % средств; от 0 до 100
Контроль просадки
MaxRiskPct double 0.0 потолок стоимости сделки, % средств; 0 — выкл.
LossStreak int 3 убытков подряд до паузы; 0 — выключить
CooldownBars int 48 длительность паузы, баров
EmaSlopeBars int 0 требуемый наклон EMA за N баров; 0 — выключить
Точность входа
BreakoutBufATR double 0.0 запас пробоя в ATR; 0 — выключить
MaxExtATR double 0.0 предел удаления цены от EMA в ATR; 0 — выкл.
требует включённого EmaLen
HourFrom int 0 первый час открытия сделок, время сервера
HourTo int 0 последний час включительно; равные значения
выключают фильтр, HourFrom > HourTo задаёт
окно через полночь
BreakevenATR double 2.5 прибыль в ATR для переноса стопа в безубыток;
0 — выключить
Защита
MinStopPts int 50 минимальная ширина стопа, пунктов
MaxLots double 0.0 потолок объёма; 0 — ограничение брокера
MaxSpreadPts int 0 максимальный спред для входа; 0 — выключить
MaxDDPct double 40.0 остановка торговли при просадке, %; 0 — выкл.
AllowMinLot bool true разрешить минимальный лот, когда расчётный
объём меньше него
Стороны
AllowLong bool true разрешить покупки
AllowShort bool true разрешить продажи
ExitOnOpposite bool true закрывать по встречному сигналу, даже если
соответствующая сторона отключена
Прочее
MagicNumber int 770001 идентификатор сделок советника
SlippagePts int 30 допустимое проскальзывание, пунктов
Некорректные значения отклоняются в OnInit с кодом INIT_PARAMETERS_INCORRECT
и сообщением в журнале: отрицательные величины, нулевые периоды, RiskPct вне
диапазона, часы вне 0…23, MaxExtATR при выключенном EmaLen, одновременное
отключение обеих сторон торговли.
РЕКОМЕНДУЕМЫЕ НАСТРОЙКИ (XAUUSD, H1)
EntryLen 70 ExitLen 20 EmaLen 100 AdxMin 30
AtrLen 14 AtrMultSL 2.5 TrailMultATR 0 RiskPct 1.0
LossStreak 3 CooldownBars 48 BreakevenATR 2.5
Эти значения скомпилированы в советник как значения по умолчанию: запуск без
правки параметров даёт настроенную конфигурацию. Тот же набор продублирован
файлом настроек в папке «Пресеты».
О выборе значений. Длина канала входа 70 и период EMA 100 отобраны прогонами
по сетке параметров с проверкой на независимом участке истории. Трейлинг-стоп
выключен намеренно: на этой стратегии он закрывает позицию на откате, после
чего пробойный сигнал открывает её заново, что ухудшает результат на всех
проверенных наборах. Пауза после серии убытков и безубыток на 2.5 ATR — два
механизма, прошедшие проверку на обеих половинах доступной истории; пороги
безубытка 1.0, 1.5, 2.0, 3.0 и 4.0 проверены и работают хуже.
Фильтры точности входа (BreakoutBufATR, MaxExtATR, HourFrom/HourTo) оставлены
в советнике как инструмент настройки под другой инструмент или другой рынок,
но на XAUUSD H1 они выключены: каждый из них ухудшал результат.
ТРЕБОВАНИЯ
Инструмент XAUUSD; на других инструментах требуется собственная настройка
Таймфрейм H1
Тип счёта неттинг или хеджирование, любой; предпочтителен узкий спред
по золоту
Минимальный такой, чтобы RiskPct средств покрывал стоимость минимального
депозит лота. Для золота при цене около 4300 за унцию и стопе 2.5 ATR
это примерно 170 000 рублей или 1 900 долларов. На меньшем
счёте объём упирается в минимальный лот, и фактический риск
на сделку превышает заданный
VPS не обязателен: стоп-лосс размещён серверным ордером
ОГРАНИЧЕНИЯ
Стратегия трендовая. Она рассчитана на продолжительные направленные движения
и структурно убыточна в боковике; серии убыточных сделок подряд — штатный
режим работы, а не признак неисправности.
Набор параметров подобран под золото на часовом графике. Перенос настроек
на другие инструменты и таймфреймы без собственного тестирования не имеет
оснований: на валютных парах та же логика требует иных длин каналов.
Советник не торгует на инструменте, где запрещена торговля, отсутствует
достаточная история или недостаточно свободной маржи для минимального лота.
Торговля на финансовых рынках связана с риском потери средств. Перед
использованием на реальном счёте протестируйте советника на условиях
вашего брокера и проведите форвард-тест на демо-счёте.
При оставлении положительного отзыва, можем предоставить эксклюзивные настройки!
