SomaOil
- Эксперты
-
Andrii Soma
If you bought my EA, contact me to join the Telegram group.
Also, there is a group on this website if you don't have Telegram: - Версия: 1.1
- Обновлено: 18 июля 2026
- Активации: 10
SomaOil — мультистратегийный пробойный советник для MetaTrader 5, созданный исключительно для сырой нефти WTI (XTIUSD). Один график, один советник, 20 независимых стратегий, работающих вместе как единый диверсифицированный портфель.
Чтобы сделать его доступным на старте, я использую прозрачную модель поэтапного роста цены:
- Стартовая цена: 100 USD (48 часов)
- Начиная с понедельника цена увеличивается на 100 USD за каждые 10 проданных копий
- Цена повышается не чаще одного раза в день, даже если в тот же день продано более 10 копий
Ранние покупатели фиксируют самую низкую цену на весь срок жизни продукта.
Концепция
Вместо одной настройки, склонной к переобучению под узкий рыночный режим, SomaOil поставляется с подобранным набором из 20 преднастроенных стратегий, которые все работают параллельно под одним советником на одном графике WTI.
У каждой стратегии свой magic number, комментарий, таймфрейм, параметры определения свинга, выходы, дистанции по новостям и шаг лота. Они используют один движок исполнения, но торгуют независимо, поэтому вы получаете настоящую диверсификацию по таймфреймам и ширине пробоя без управления десятками графиков.
Создание портфеля
Я провёл оптимизации на двух взаимодополняющих in-sample диапазонах, каждый с той же сеткой параметров:
- 5 групп таймфреймов: D1, H12, H8, H4, H1
- Три варианта ширины пробоя:
- V1 Broad: более широкие свинги, меньше, но более сильных сетапов;
- V2 Medium: сбалансированная частота сетапов;
- V3 Narrow: более узкие свинги, более частые сетапы.
- Все они оптимизировались по return / drawdown:
- Сначала по Return / Balance DD
- Затем по Return / Equity DD
Два диапазона оптимизации и их out-of-sample окна:
- Res1 — In Sample: 2018.10.10–2024.10.10 | OOS: 2024.10.10–2026.06.26
- Res2 — In Sample: 2020.06.26–2026.06.26 | OOS: 2018.10.10–2020.06.26
Res1 и Res2 — взаимодополняющие половины одной истории, поэтому каждый диапазон валидирует другой вне выборки. W2 OOS (2018–2020) находится внутри W1 IS, а W1 OOS (2024–2026) — внутри W2 IS — тот же перекрёстно валидированный паттерн Res1/Res2, что и у SomaBTC, привязанный к доступной истории XTIUSD с 2018.10.10.
Эта комбинация таймфрейм × ширина × диапазон оптимизации и даёт диверсификацию. Разные стратегии срабатывают в разных режимах волатильности, поэтому кривая эквити не зависит от одного типа поведения рынка.
Каждая кандидат-стратегия затем проходила фильтрацию:
- Если стратегии слишком сильно коррелировали с другой оставшейся стратегией, они удалялись.
- Если стратегия не соответствовала real ticks или не прошла своё out-of-sample окно, она удалялась.
- Все оптимизации выполнялись с включённым закрытием торговли в пятницу, что исключило оптимизацию под рискованные выходные гэпы.
Итого после этого осталось только 20 стратегий — 7 из Res1 и 13 из Res2.
Итоговый портфель по диапазону оптимизации и таймфрейму свинга:
- Res1 (7): 1 D1, 1 H12, 2 H4, 3 H1
- Res2 (13): 2 D1, 4 H12, 2 H8, 4 H4, 1 H1
- Итого (20): 3 D1, 5 H12, 2 H8, 6 H4, 4 H1
И на последнем шаге размер лота для каждой стратегии был задан проприетарным скриптом на Python, который нашёл лучшую комбинацию return / balance DD. Стратегии с более высокой корреляцией по DD получают меньшие аллокации, а стратегии, приносящие больше ценности, — большие.
Magic numbers
Каждая стратегия использует уникальный 8-значный magic number, чтобы MetaTrader мог отличать её сделки от других советников или ручных ордеров. Magic виден на каждом ордере и позиции, а также в комментарии стратегии (например, SomaOil #1 81241201).
Цифры не случайны — они кодируют, что это за стратегия:
- 1-я цифра — семейство EA (8 = SomaOil)
- 2-я цифра — диапазон оптимизации (1 = Res1, 2 = Res2)
- 3–4-я цифры — таймфрейм свинга в часах (01 H1, 04 H4, 08 H8, 12 H12, 24 D1)
- 5-я цифра — ширина пробоя (1 Broad, 2 Medium, 3 Narrow)
- 6-я цифра — цель оптимизации (1 Balance DD, 2 Equity DD)
- 7–8-я цифры — исходный ID set-файла из исследовательской партии
Пример: magic 81241201 читается как SomaOil · Res1 · D1 · Broad · Equity DD · set #01.
Это упрощает определение, какая стратегия открыла сделку в терминале или в истории счёта, без открытия настроек советника.
Риск и размер лота
Доступны два режима размера:
- Ручной лот — фиксированный лот на сделку
- Lot per balance step — автоматический размер от капитала счёта, масштабируемый по стратегиям
Дополнительные настройки позволяют точно настроить профиль риска:
- Глобальный множитель риска поверх рассчитанного лота
- Опциональный лимит лота EA через MaxLots ( 0 по умолчанию = без лимита EA; только спецификация брокера); > 0 — жёсткий максимум
- Выбор баланса или эквити в качестве базы для расчёта
- Режим OnlyUp — лоты только растут вместе с пиковым капиталом и никогда не снижаются во время торговой просадки; выводы снижают пик для расчёта, а депозиты повышают его (оба сразу синхронизируют пик и пересчитывают лот). При запуске советник задаёт исторический максимум из недавней истории закрытых сделок (настраиваемый lookback), чтобы база OnlyUp была осмысленной с первого тика, а не сбрасывалась при каждом перезапуске
- Выбор базовой валюты (USD, EUR, GBP, HKD, SGD или пользовательская пара) для корректного расчёта на счетах не в USD
- Защита от маржин-колла (по умолчанию вкл.) — перед выставлением ордеров советник учитывает существующие односторонние отложенные стопы/лимиты как уже требующие маржу по рыночному ордеру, чтобы свободная маржа не была перегружена, если брокер резервирует мало на отложенных; также может уменьшать рассчитанный лот, чтобы в худшем случае одновременные односторонние ордера оставались в пределах бюджета маржи, привязанного к вашей базе размера. Отключайте только если полностью контролируете плечо и запас маржи.
Новостной фильтр
SomaOil включает встроенный календарь новостей США по трём типам событий высокого влияния:
- NFP — Non-Farm Payrolls
- CPI — Consumer Price Index
- IR / FOMC — решения центробанков по ставкам
Вокруг каждого события советник может независимо блокировать новые входы, отменять отложенные ордера и закрывать открытые позиции. У каждой стратегии свои окна минут до и минут после, поэтому защита от новостей настраивается по стратегии, а не глобально.
Broker GMT можно задать вручную или определить автоматически, чтобы новостные окна всегда совпадали с временем брокера, в том числе при переходе на летнее/зимнее время. Классификатор ужесточён, чтобы исключить типичные ложные срабатывания, такие как ADP Nonfarm Employment и выступления/протоколы FOMC.
Торговое окно
Опциональное окно открытия в понедельник / закрытия в пятницу позволяет избегать выходных гэпов. Можно выбрать, отменять ли также отложенные ордера или закрывать открытые позиции вне торгового окна.
Несколько стратегий также используют встроенное ежедневное сессионное окно (часы начала/окончания по стратегии), чтобы избегать периодов низкой ликвидности. Они входят в пресет портфеля и не являются отдельными пользовательскими параметрами.
Оптимизация выполнялась с включённым закрытием в пятницу — это настройка по умолчанию, поэтому нет переоптимизации под рискованные условия выходных гэпов.
Фильтр спреда
SomaOil может не выставлять отложенные пробойные ордера, когда спред брокера слишком широкий — это важно для нефти, где спред расширяется при рollover, новостях и низкой ликвидности.
Фильтр действует только на отложенные ордера. Открытые позиции и их выход (SL, TP, трейлинг, безубыток) не затрагиваются.
Два глобальных параметра:
- MaxSpreadPips (по умолчанию 80) — максимальный спред в пунктах MT5 для 3-значной котировки WTI (например 50 в Market Watch ≈ 0,050 цены). 0 = фильтр выключен.
- RemovePendingSpreadSeconds (по умолчанию 60) — удалить отложенные ордера стратегии, если спред непрерывно выше лимита столько секунд. 0 = только блокировка новых ордеров, без удаления.
Блокировка выставления — на баре входа стратегии при широком спреде EA не ставит новые отложенные и не переносит уровни; кратковременные всплески не удаляют существующие ордера.
Удаление при длительном высоком спреде — после полного периода ожидания (таймер сбрасывается при любом снижении спреда ниже лимита) отложенные ордера стратегии удаляются и могут быть выставлены снова на следующем баре входа.
Один и тот же ввод работает на 2- и 3-значных символах нефти. Эффективный лимит также масштабируется по DefaultValue стратегии и текущей референсной цене нефти.
Prop Firm Compliance
Опционально к входам и выходам можно применять случайный сдвиг в пипсах на сделку через MaxRandomizationPips. Это даёт вашему счёту немного другие уровни, чем у других трейдеров с тем же советником — полезно на prop-firm и funded счетах, где одинаковые паттерны копитрейдинга могут быть замечены. Установите значение в ноль, чтобы отключить.
SomaOil также включает опциональный слой compliance (по умолчанию выкл.): блокировку по максимальной дневной просадке, правило запрета хеджирования и лимит отложенных ордеров. См. EnablePropFirmCompliance и связанные параметры ниже.
Дашборд на графике
SomaOil выводит на график живой дашборд:
- Статус лицензии и активный портфель
- База расчёта лота и эффективный капитал
- Отложенные ордера и открытые позиции по Buy/Sell
- Плавающий P/L и закрытый P/L за сегодня
- Просадка баланса и эквити, абсолютная и в процентах
- Статистика проскальзывания: за всё время, 7 дней, 24 часа
- Текущий спред и число активных стратегий
- Следующие и последние события NFP, CPI и IR/FOMC
Дашборд можно отключить в Strategy Tester для более быстрых бэктестов.
Параметры
Переопределения
- EnableMagicOverride -> при вкл. номера сделок назначаются как OverrideMagicBase + индекс стратегии; при выкл. (по умолчанию) каждая стратегия использует встроенный ID
- OverrideMagicBase -> начальный номер сделки при включённом magic override
- EnableCommentOverride -> при вкл. все сделки используют один комментарий; при выкл. (по умолчанию) у каждой стратегии свой
- OverrideComment -> текст комментария при включённом comment override
Направление торговли
- AllowBuyTrades -> разрешить long и buy-отложенные
- AllowSellTrades -> разрешить short и sell-отложенные
Размер лота
- LotsAdjustMinChangePercent -> мин. % изменения перед обновлением активного лота
- Risk -> ManualLotSize (фикс. StartLots) или LotSizeStep (авто от капитала)
- AdjustLotsizeToVariableValues -> пересчёт лота при изменении баланса или эквити
- StartLots -> фикс. лот в ручном режиме или нижняя граница в step
- MaxLots -> опциональный лимит EA; 0 = только спецификация брокера
- UseEquity -> расчёт от эквити вместо баланса
- OnlyUp -> лоты только растут с пиковым капиталом и не снижаются во время торговой просадки; выводы снижают пик, депозиты повышают
- RestorePeakFromHistory -> задать пик OnlyUp из недавней истории закрытых сделок при старте
- RestorePeakLookbackDays -> дней истории для восстановления пика (0 = вся)
- ManualBalanceForLotSizing -> фикс. капитал для расчёта при > 0
- RiskMultiplier -> глобальный множитель на рассчитанный лот
- MarginCallProtection -> резерв маржи для односторонних отложенных и ограничение лота бюджетом маржи
- BaseCurrency -> USD, EUR, GBP, HKD, SGD или custom для счетов не в USD
- CustomBaseCurrencyPair -> символ брокера при BaseCurrency = custom
GMT
- Broker_GMT_OFFSET_Summer -> ручное смещение GMT брокера летом (часы)
- Broker_GMT_OFFSET_Winter -> ручное смещение GMT брокера зимой (часы)
- AutoGMT -> автоопределение GMT брокера (ручные смещения игнорируются)
Новостные фильтры
- EnableNFP_Filter -> включить окно защиты NFP
- NFP_CloseOpenTrades -> закрыть позиции перед NFP
- NFP_ClosePendingOrders -> отменить отложенные перед NFP
- EnableIR_Filter -> включить окно защиты IR / FOMC
- IR_CloseOpenTrades -> закрыть позиции перед IR
- IR_ClosePendingOrders -> отменить отложенные перед IR
- EnableCPI_Filter -> включить окно защиты CPI
- CPI_CloseOpenTrades -> закрыть позиции перед CPI
- CPI_ClosePendingOrders -> отменить отложенные перед CPI
Минуты до/после для каждой стратегии встроены в портфель, отдельных параметров нет.
Торговые часы
- UseTradingTimeZones -> включить недельное окно понедельник–пятница
- KillPending -> отменять отложенные вне окна
- KillOpen -> закрывать позиции вне окна
- MondayOpenHour / MondayOpenMinute -> окно открывается в понедельник в это время брокера
- FridayCloseHour / FridayCloseMinute -> окно закрывается в пятницу в это время брокера
Несколько стратегий также используют встроенное ежедневное сессионное окно (часы начала/окончания по стратегии) как часть пресета портфеля. Это не отдельные пользовательские параметры.
Дашборд
- DisableDashboardInTesting -> скрыть дашборд в Strategy Tester
- DashboardUpdateSeconds -> интервал обновления дашборда (сек)
Spread Filter
- MaxSpreadPips -> макс. спред в пунктах MT5 (3-значная котировка); масштаб по DefaultValue; 0 = выкл.
- RemovePendingSpreadSeconds -> удалить отложенные после непрерывно высокого спреда (сек.); 0 = не удалять
Соответствие Prop Firm
Все параметры по умолчанию выкл. / ноль — нулевое влияние на производительность при отключении.
- MaxRandomizationPips -> смещение вход/выход для prop firm; уникальность vs других пользователей EA (0 = выкл.)
- EnablePropFirmCompliance -> главный переключатель; должен быть true, чтобы правила ниже работали
- PF_MaxDailyDrawdownPercent -> макс. дневная потеря equity в % от дневной базы (0 = выкл.)
- PF_MaxDailyDrawdownMoney -> макс. дневная потеря equity в валюте счёта (0 = выкл.)
- PF_DailyResetHour -> час брокера/сервера (0–23), когда сбрасывается дневное окно
- PF_DailyLossBufferPercent -> запас безопасности перед жёстким лимитом (по умолчанию 10%)
- PF_DisallowHedging -> блокирует входы в противоположном направлении; удаляет противоположные отложенные
- PF_MaxTotalPendingOrders -> лимит отложенных ордеров EA (0 = выкл.)
Рекомендуемая настройка
- Символ: сырая нефть WTI — прикрепите советник к графику US crude / WTI вашего брокера. Тот же инструмент часто торгуется под разными тикерами; на наших тестовых терминалах встречались: XTIUSD, USOUSD, USOUSD.s, WTI, SpotCrude. SomaOil рассчитан на символы, начинающиеся с XTIUSD; если у брокера другое имя, откройте Обзор рынка и найдите WTI, crude, oil или USO.
- Таймфрейм: любой (советник читает свои таймфреймы внутри себя)
- Тип счёта: рекомендуется ECN / RAW-spread для узких спредов
- Минимальный рекомендуемый баланс: 2000 USD для риска по умолчанию. Рассчитанный лот не может быть меньше 0.01 на сделку, поэтому на счетах ниже этого уровня риск дальше не уменьшить.
- VPS: рекомендуется для стабильного исполнения 24/5
- Добавьте "https : // ea-license-server . somatrade . org" и "https : // www . worldtimeserver . com/" в разрешённые URL в MT5 (Сервис → Настройки → Советники)
Итог
- 20 преднастроенных пробойных стратегий на одном графике WTI (XTIUSD)
- Два диапазона оптимизации с перекрёстной OOS-валидацией, 2018–2026
- Таймфреймы: D1, H12, H8, H4 и H1
- Многоуровневые выходы с break-even и трейлинг-стопами
- Встроенная защита от новостей США с фильтрацией ложных срабатываний
- Опциональный фильтр спреда для отложенных ордеров (MaxSpreadPips + удаление при длительном высоком спреде)
- Опциональная рандомизация входов/выходов для уникальности на prop firm (MaxRandomizationPips)
- Опциональный режим prop firm compliance (макс. дневная DD, no-hedge, лимит отложенных) — по умолчанию выкл.
- Полный живой дашборд на графике
- Прозрачный старт с поэтапной ценой: 100 USD, +100 USD за 10 копий, максимум раз в день
