Советник торгует непосредственно на графике того символа, к которому он привязан (без жестко заданных символов). Он открывает не более одной сделки в неделю, и все решения стратегии рассчитываются исключительно на основе данных по закрытым свечам дневного периода (D1) в соответствии со временем сервера.
Оба фильтра являются опциональными переключателями, которые могут только дополнительно ограничивать входы (они никогда не будут самостоятельно создавать входы или ослаблять Правило 1):
| Входные данные | Значение по умолчанию | Единица | Значение и эффект |
|---|---|---|---|
| InpLots | 0,10 | лоты | Фиксированный размер позиции, запрашиваемый при каждом входе в рынок. Он округляется в меньшую сторону до шага объема по символу; размер, меньший SYMBOL_VOLUME_MIN, приводит к отмене входа (он никогда не округляется в большую сторону), размер, превышающий SYMBOL_VOLUME_MAX, ограничивается максимальным значением. |
| InpStopLossPercent | 10,0 | процент от цены входа | Расстояние стоп-лосса ниже цены входа. Если параметр SYMBOL_TRADE_STOPS_LEVEL брокера требует большего расстояния, стоп-лосс увеличивается. Значения, меньшие или равные 0, отклоняются при запуске: советник не работает без стоп-лосса. |
| InpMagic | 20260922 | идентификатор | Магическое число, обозначающее собственные позиции советника. Учитываются и управляются только позиции по символу графика, имеющие данное магическое число. |
| InpMaxSlippagePoints | 30 | пунктов | Запрашиваемое максимальное отклонение (допустимый проскальзывание) при входе и выходе из рынка. Это запрос на допустимое отклонение, а не гарантированный предел: фактическая цена исполнения также зависит от режима исполнения и политики брокера. |
| InpTradeComment | «MonDip long» | текст | Комментарий, прикреплённый к ордеру на вход, отображаемый в истории сделок терминала. |
| InpUseIBS | true | вкл. / выкл. | Включает дополнительный фильтр входа IBS (см. ниже). Фильтр может только ужесточить условия входа. |
| InpIBSMax | 0,25 | коэффициент в диапазоне (0, 1] | Максимально допустимое значение IBS для бара понедельника. Значения, выходящие за пределы интервала (0, 1], отбрасываются при запуске. |
| InpUseMA | true | вкл. / выкл. | Включает дополнительный фильтр входа на основе долгосрочной скользящей средней (см. ниже). |
| InpMAPeriod | 180 | ежедневные бары | Период простой скользящей средней дневных цен закрытия, рассчитываемый по закрытым свечам D1, заканчивающимся свечой понедельника. Значения меньше 2 отбрасываются при запуске. |
| InpVerboseLog | true | вкл. / выкл. | Выводит дополнительные сведения в журнале. Недельная линия принятия решения всегда выводится независимо от этого параметра. |
Следующие фрагменты дословно взяты из предоставленного исходного кода. Это выбранные фрагменты логики принятия решений, а не полные исполняемые программы. Сигнал (правило 1):
//--- ПРАВИЛО 1 ------------------------------------------------------ // РЕШЕНИЕ D8: «ниже» — это строгое сравнение; если значение равно, неделя считается безторговой. if(!(bar.close < refBar.close)) return(StringFormat("SKIP - rule 1: the Monday close %s is not below the previous trading day's close %s (equal or above).", DoubleToString(bar.close, _Digits), DoubleToString(refBar.close, _Digits)));
Фильтры (IBS и долгосрочная скользящая средняя):
//--- ФИЛЬТР 1: СРК ---------------------------------------------- if(InpUseIBS) { if(!haveIBS) { // РЕШЕНИЕ D7 return("SKIP - IBS filter: High == Low on the Monday bar, the ratio is undefined - no-trade day."); } if(!(ibs <= InpIBSMax)) // РЕШЕНИЕ D8: «<=», как указано return(StringFormat("SKIP - IBS filter: IBS %.4f is above InpIBSMax %.4f.", ibs, InpIBSMax)); } //--- ФИЛЬТР 2: долгосрочная скользящая средняя ------------------------------------- if(InpUseMA) { if(!haveMA) return(StringFormat("SKIP - MA filter: not enough daily history to compute the MA(%d).", InpMAPeriod)); if(!(bar.close < ma)) // РЕШЕНИЕ D8: строгое использование символа «<» return(StringFormat("SKIP - MA filter: the Monday close %s is not below the MA(%d) %s.", DoubleToString(bar.close, _Digits), InpMAPeriod, DoubleToString(ma, _Digits))); }
Выход (закрытие в среду и позже):
MqlDateTime dtBar; TimeToStruct(tBar, dtBar); // РЕШЕНИЕ D18 if(!BarIsAtOrAfterWednesday(dtBar.day_of_week)) return; // РЕШЕНИЕ D2: сигнал на выход срабатывает при закрытии свечи среды и // выполняется на первом тике после этого, повторяется до тех пор, пока позиция не будет закрыта. // РЕШЕНИЕ D24: «бар закрылся» — это определение MT5 — момент, когда следующий // Дневной бар открывается в соответствии с серверным временем, а не с моментом закрытия торгов на спотовом рынке. CloseOurPosition(StringFormat("rule 2 - the daily bar %s closed and it is a %s (Wednesday close reached)", TimeToString(tBar, TIME_DATE), WeekdayName(dtBar.day_of_week)));

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/78343
ATR Monitor — дневной, недельный и месячный диапазон
Отображает суточный, недельный и месячный ATR, текущий диапазон между максимумом и минимумом, диапазон в процентах от ATR, а также изменение цены относительно цены открытия каждого периода.
Session Range Box
Рисует высокую/низкую коробку выбранного сеанса (по умолчанию: Азиатский диапазон 00:00-06:00 UTC) и расширяет ее вперед в качестве уровней прорыва на оставшуюся часть дня.
Marginal Drawdown Contribution Analyzer
Скрипт для счетов, на которых запущено несколько советников или конфигураций. Он суммирует чистый результат каждой конфигурации (по магическому номеру или по магическому номеру и символу) за календарный день и оценивает вклад каждой из них в просадку портфеля: просадку, добавленную методом «оставь один», долю в наихудшей просадке и долю в дисперсии Эйлера. Он выводит на экран выводы, рекомендации и эвристическую оценку по шкале от A+ до F. Скрипт работает «из коробки» на встроенном демонстрационном портфеле и написан на чистом MQL5.
GDS Renko Trade Manager — MetaTrader 5
Менеджер ручной торговли для MetaTrader 5: готовые «кирпичики» Ренко, настраиваемые уровни безубыточности и скользящего стоп-лосса, а также панель инструментов Ренко прямо на графике. Автоматические входы отсутствуют.