Smart Money Concepts — один из самых аналитически требовательных стилей трейдинга. Чтобы выявить change of character, break of structure, неотработанные ордер-блоки, fair value gaps, снятия ликвидности и зоны Optimal Trade Entry на Fib-ретрейсменте 0.618–0.79, нужно постоянно следить за графиками, корректно размечать структуру и ждать конфлюэнтного сетапа, который может появиться раз в день. Большинство дискреционных SMC-трейдеров пропускают сетапы, потому что в нужный момент их нет у экрана, или входят в неправильный сетап, потому что в горячке путают BoS с CHoCH. SMC-бот, построенный ИИ, решает обе проблемы: он смотрит каждую свечу, последовательно применяет правила и никогда не путает одну структурную модель с другой.
Этот гайд разбирает, как на самом деле работает торговый бот Smart Money Concepts, собранный ИИ — детекция структуры, логика входа OTE, математика Fib-ретрейсмента, поиск неотработанных ордер-блоков — и показывает, как собрать такого бота на обычном языке на fomoed. Мы пройдёмся по каждому из семи SMC-примитивов, доступных ИИ, рассмотрим полную стратегию CHoCH + Fib от промпта до работающего бота и объясним, почему автоматизированное исполнение обычно превосходит дискреционную SMC-торговлю даже у опытных графистов.
Почему SMC + ИИ — мощный мультипликатор
Сложность Smart Money Concepts — не в теории. Теория хорошо задокументирована, и большинство опытных трейдеров умеют распознать CHoCH или неотработанный бычий ордер-блок на чистом графике. Сложность — в исполнении: делать это последовательно, на заявленном таймфрейме, по всем заявленным парам, не пропуская сетапы из-за того, что не смотрели в нужный момент или сетап сформировался в 3 часа ночи по местному времени.
Дискреционную SMC-торговлю убивают две вещи. Первая — selection bias: вы помните сработавшие сетапы и забываете пролетевшие, что искажает оценку прибыльности стратегии. Вторая — дрейф исполнения: вы начинаете неделю с намерением торговать только сетапы класса A, а к четвергу заходите на сетапах класса B, потому что устали ждать и хочется «что-то сделать». Автоматизация решает обе проблемы. У бота нет эмоционального состояния, в которое можно «уплыть», и каждая сделка — выигрышная или проигрышная — записывается в одну и ту же базу, доступную для разбора без розовых очков.
Что изменилось недавно — так это то, что бота больше не нужно писать самостоятельно. Алгоритмическая детекция CHoCH требует корректного определения swing-хаёв и swing-лоёв, отслеживания структуры в виде последовательностей HH-HL-LH-LL и распознавания момента, когда закрытие пробивает последний lower high (в медвежьем тренде, сигнализируя о бычьем CHoCH). Это несколько сотен строк аккуратного Python-кода. Большинство ритейл-трейдеров SMC так и не написали его — они продолжали торговать дискреционно, надеясь распознать паттерны на глаз. Теперь ИИ пишет этот слой детекции за вас — точнее, он опирается на проверенную в боях SMC-библиотеку, которую движок кастомных стратегий fomoed предоставляет внутри песочницы, так что ИИ не приходится изобретать pivot-детектор заново при каждой генерации.
Семь SMC-примитивов, доступных ИИ
Когда вы описываете SMC-стратегию обычным языком, ИИ генерирует Python-скрипт, который запускается в изолированном рантайме. Скрипт не пишет собственную детекцию пивотов — он опирается на кураторскую библиотеку-хелпер fomoed.smc, в которой есть семь примитивов. Каждый соответствует концепции, знакомой SMC-трейдерам:
1. Свинги. fomoed.smc.swings(highs, lows, lookback) возвращает swing-хаи и swing-лои в недавней истории цены. Swing-хай в индексе i — это максимальный high в окне от i - lookback до i + lookback. Значение lookback по умолчанию — 20 свечей, что подходит для большинства таймфреймов. Возвращает dict с массивами highs и lows, где для каждого обнаруженного пивота указаны индекс и цена.
2. Структура. fomoed.smc.structure(highs, lows, lookback) берёт свинги и маркирует их как HH (higher high), HL (higher low), LH (lower high) или LL (lower low). Возвращает текущий тренд (bullish, bearish или neutral) и последовательность структуры. Бот может использовать это, чтобы проверить «я в аптренде?» прежде чем брать лонг-сетап.
3. Break of Structure (BoS). fomoed.smc.bos(opens, highs, lows, closes, lookback) детектит пробои в направлении тренда. Бычий BoS — это сильное закрытие выше последнего swing-хая в бычьем тренде; медвежий BoS — сильное закрытие ниже последнего swing-лоя в медвежьем тренде. Слово «сильное» здесь важно: хелпер требует, чтобы тело пробивающей свечи было минимум в 1.5 раза больше скользящего среднего тела за 20 баров — это отфильтровывает вялые пробои без импульса.
4. Change of Character (CHoCH). fomoed.smc.choch(highs, lows, closes, lookback) детектит точки разворота тренда. Бычий CHoCH — это закрытие выше последнего lower high, когда тренд был медвежьим, сигнал о развороте. Медвежий CHoCH — закрытие ниже последнего higher low, когда тренд был бычьим. Это тот SMC-примитив, который дискреционные трейдеры чаще всего путают с BoS. Хелпер проводит это различие алгоритмически.
5. Ордер-блоки. fomoed.smc.order_blocks(opens, highs, lows, closes) возвращает активные (неотработанные) зоны бычьих и медвежьих ордер-блоков. Бычий OB — это последняя медвежья свеча перед импульсным движением, пробившим swing-хай; медвежий OB — зеркальный вариант. Согласно методологии ICT, зоны строятся по ТЕЛУ свечи (open–close), а не по полному диапазону с тенями. Возвращаются только зоны, которые не были «тэгнуты» после формирования — как только цена возвращалась к OB, он считается отработанным и выпадает из списка.
6. Fair Value Gaps (FVG). fomoed.smc.fvg(opens, highs, lows, closes, min_gap_pct) находит незакрытые трёхсвечные паттерны дисбаланса. Бычий FVG — это разрыв между high свечи i-1 и low свечи i+1, где свеча i была импульсной между ними. Параметр min_gap_pct отсеивает мелкие гэпы (по умолчанию 0.2% от цены). Каждый возвращаемый FVG содержит fill_pct — насколько гэп уже закрыт последующими тенями.
7. Снятие ликвидности. fomoed.smc.liquidity_sweeps(highs, lows, closes, sweep_depth_pct, reclaim_candles) детектит паттерны стоп-ханта: тень ниже swing-лоя с последующим реклеймом выше уровня в заданном количестве свечей (бычье снятие) или зеркальный медвежий вариант. Параметр sweep_depth_pct — минимальная глубина пробития уровня, которая считается снятием, чтобы отсеивать касания.
В дополнение к семи SMC-примитивам ИИ может использовать fomoed.fib для математики Fib-ретрейсмента: fib.retracement(swing_high, swing_low, level) возвращает цену на заданном Fib-уровне (0.5, 0.618, 0.705, 0.79, 0.886), fib.zones возвращает dict всех стандартных уровней, а fib.in_zone возвращает булево значение для «находится ли цена около этого Fib-уровня в пределах X процентов от размера свинга».
Стратегия CHoCH + Fib на обычном языке, от и до
Разберём реальную стратегию от промпта до работающего бота. Стратегия: торговать развороты, дожидаясь бычьего CHoCH, затем входить на откате к уровню 0.705 Fib-ретрейсмента импульсного свинга. Take profit — следующий swing-хай выше точки входа; stop loss — снятый low ниже CHoCH.
На шаге AI Trading Agent вы пишете такой промпт:
«Открывай лонг при бычьем CHoCH с последующим откатом к уровню 0.705 Fib пробойного свинга. Take profit на следующем swing-хае выше входа. Stop loss на последнем swing-лое ниже CHoCH. Только лонги — без шортов».
Через несколько секунд экран ревью в визарде показывает интерпретацию ИИ:
Сводка ИИ: SMC-сетап на разворот тренда. Ожидает бычий CHoCH — закрытие цены выше последнего lower-high при медвежьем тренде, сигнал разворота. Затем ждёт отката цены в зону 0.705 Fib-ретрейсмента импульсного свинга (low → CHoCH high), что попадает в зону OTE. Открывает лонг на сконфигурированный размер позиции, когда цена касается зоны. Take profit — следующий swing-хай выше входа; stop loss — самый низкий swing-лой ниже CHoCH (где будут вынесены стопы при неудачном развороте). Только лонги — никаких шортовых сетапов.
Как это работает:
1. Следить за бычьим CHoCH — закрытием цены выше последнего lower high при медвежьем тренде (сигнал разворота).
2. После CHoCH измерить импульсный свинг (low → CHoCH high) и вычислить уровень 0.705 Fib-ретрейсмента.
3. Дождаться отката цены в зону 0.705 Fib (в пределах 0.5% от размера свинга).
4. Открыть лонг на сконфигурированный размер позиции, когда цена касается зоны.
5. Зафиксировать прибыль на следующем swing-хае выше входа, либо выйти по стопу на самом низком swing-лое (снятая ликвидность).
Вы сразу видите, понял ли ИИ стратегию. Если что-то не так — правите промпт и перегенерируете. Когда всё совпадает с вашей задумкой, сохраняете, и бот стартует на следующем закрытии свечи.
Что на самом деле пишет ИИ (за кулисами)
Для стратегии CHoCH + Fib выше ИИ генерирует Python-скрипт на 30–40 строк, который запускается в песочнице на каждом закрытии свечи. Выглядит он примерно так (сокращённо для читаемости):
def on_candle(ctx):
if len(ctx.closes) < 100:
return None
# Exit logic if already in a position
if ctx.position is not None:
sw = fomoed.smc.swings(ctx.highs, ctx.lows, lookback=20)
entry = ctx.position.entry_price
price = ctx.closes[-1]
# TP at next swing high above entry
tp = next((s['price'] for s in reversed(sw['highs'])
if s['price'] > entry), None)
# SL at most recent swing low below entry
sl = next((s['price'] for s in reversed(sw['lows'])
if s['price'] < entry), None)
if tp and price >= tp:
return {'action': 'close', 'reason': f'TP swing-high {tp:.2f}'}
if sl and price <= sl:
return {'action': 'close', 'reason': f'SL swing-low {sl:.2f}'}
return None
# Entry logic: bullish CHoCH + fib pullback
choch = fomoed.smc.choch(ctx.highs, ctx.lows, ctx.closes, lookback=20)
bull = [c for c in choch if c['type'] == 'bullish_choch']
if not bull:
return None
last = bull[-1]
idx = last['index']
if idx < 10:
return None
swing_low = float(ctx.lows[max(0, idx - 30):idx].min())
swing_high = float(ctx.highs[idx:].max())
if swing_high <= swing_low:
return None
price = ctx.closes[-1]
if fomoed.fib.in_zone(price, swing_high, swing_low, 0.705,
tolerance_pct=0.5):
return {
'action': 'buy',
'size_usd': ctx.user.position_size_usd,
'reason': f"CHoCH @ {last['broken_level']:.2f}, fib 0.705 pullback",
}
return NoneКонечные пользователи никогда не видят этот код — они видят сводку ИИ и шаги «Как это работает». Python хранится на сервере для аудита и выполняется в изолированном рантайме. Смысл в том, чтобы показать здесь, что ИИ на самом деле производит: короткую сфокусированную логику, которая делегирует тяжёлые задачи (детекцию пивотов, Fib-математику, отслеживание структуры) хелпер-библиотеке. ИИ не переизобретает SMC-алгоритмы при каждой генерации бота — он опирается на те же проверенные в боях реализации, которые использует пресет SMC.
Почему автоматизированный SMC обычно обгоняет дискреционный
Опытный трейдер-человек и хорошо собранный SMC-бот, глядя на один и тот же график, часто нарисуют одну и ту же структуру. Почему же на горизонте нескольких месяцев бот, как правило, обгоняет человека?
Стабильность исполнения. Бот берёт каждый сетап класса A. Человек — большую часть. Даже один пропущенный сетап в неделю, накопленный за квартал, заметно меняет доходность. Дискреционный трейдер также чаще пропускает сетапы, которые «не нравятся», не формулируя почему — иногда это хорошая интуиция, но в среднем это стоит денег.
Никакого look-elsewhere bias. Люди подсознательно торгуют с оглядкой на широкий рынок — сетап выглядит хуже, если BTC только что упал, лучше — если ваши другие позиции в зелёной зоне. Боту всё равно. Если правила сошлись — он берёт сделку.
Терпение в скуке. SMC-трейдеры, торгующие руками, в медленные недели начинают расширять критерии («возьму этот сетап класса B, я уже 4 дня не торговал»). Боту не скучно. Если за неделю не сформировался ни один A-сетап — он неделю сидит в кэше. Именно это терпение и делает стратегию прибыльной в долгую.
Круглосуточный мониторинг. Сетапы не формируются в ваше торговое время. Лучший CHoCH на 4-часовом графике в этом месяце может выстрелить в 3 часа ночи по местному. Бот не спит. Вы — да.
Минус автоматизированного SMC в том, что он упускает контекстное суждение, которое приносит опытный человек. Если широкий рынок в явном бычьем режиме, дискреционный трейдер может поднять порог для медвежьих сетапов. Бот следует правилам независимо от контекста. Решение в автоматизированной системе — закладывать детекцию режима прямо в промпт, например: «бери лонг-сетапы CHoCH только когда BTC выше 200-дневной EMA на дневном графике». Если вы можете сформулировать фильтр режима — ИИ его реализует.
Риск-менеджмент встроен по умолчанию
Один из вопросов, который возникает по поводу торговых ботов, сгенерированных ИИ: «а вдруг ИИ попытается набрать чрезмерный сайз или налепить кучу ордеров?» Fomoed решает это, отделяя капитальные решения от стратегических. Размер позиции, плечо и торговый режим (live или paper) вы задаёте на шаге Money в визарде ДО написания промпта. ИИ получает эти значения как ограничения, а не как переменные, которые он может менять.
Когда сгенерированный ИИ скрипт возвращает действие вроде {'action': 'buy', 'size_usd': 100, ...}, супервизор песочницы ограничивает запрашиваемый размер вашим значением из визарда. Если вы выставили $50 на шаге Money, а ИИ просит $200 — платформа выставляет ордер на $50 и логирует это ограничение. Реальный вызов execute_entry использует ваш сконфигурированный размер, а не запрошенное скриптом значение. ИИ не может переопределить ваш капитальный лимит, даже если бы захотел.
Та же защита распространяется на take profit и stop loss. Настройки TP и SL из визарда управляют стандартным пайплайном выходов платформы; действие close от ИИ — дополнительное. Если в визарде вы выставили стоп-лосс 2%, то стоп сработает при падении на 2% независимо от того, что говорит скрипт ИИ. Роль ИИ — добавить интеллект на входе, а не переопределить ваши правила риска.
Именно это разделение делает AI Trading Agent безопасным для запуска с реальными деньгами. Логика стратегии — сгенерирована ИИ; риск-менеджмент — настроен в визарде и применяется платформой. Эти два слоя явно разъединены.
Часто задаваемые вопросы
Может ли ИИ детектить CHoCH и BoS автоматически?
Да. Хелперы fomoed.smc.choch и fomoed.smc.bos детектят их алгоритмически, используя ту же логику отслеживания структуры, что и выделенный пресет SMC. ИИ не переизобретает детекцию — он опирается на существующую реализацию. Это значит, что качество детекции одинаково у ботов, сгенерированных ИИ, и у ботов, построенных на пресетах платформы.
ИИ лучше трейдеров-людей в SMC?
В исполнении правил — да. В контекстном суждении — пока нет. Бот стабильнее на механической части SMC-торговли — корректно размечает структуру, находит неотработанные ордер-блоки, считает Fib-ретрейсменты, берёт каждый подходящий сетап. Бот хуже интегрирует широкий рыночный контекст, если этот контекст явно не заложен в промпт. Гибридный подход (пусть ИИ занимается детекцией сетапов, а вы решаете, давать ли ему торговать агрессивно на этой неделе) обычно работает лучше, чем чистая автоматизация или чистая дискреция.
Как ИИ обрабатывает входы на Fib-ретрейсменте?
Модуль fomoed.fib предоставляет Fib-математику: по swing-хаю и swing-лою он вычисляет цену на любом Fib-уровне (0.5, 0.618, 0.705, 0.79, 0.886). Хелпер in_zone принимает процент допуска и возвращает, находится ли текущая цена в пределах этого допуска от Fib-уровня. Сгенерированные ИИ боты обычно ждут, пока цена не коснётся конкретного Fib-уровня (чаще всего 0.705 или 0.79 — зона OTE), прежде чем входить. Можно проверять несколько Fib-уровней одновременно; ИИ выдаст подходящую логику из вашего описания.
Можно ли бэктестить AI-стратегию SMC?
Да. Paper trading запускает тот же сгенерированный ИИ скрипт против живых рыночных данных с симулированным исполнением — без риска капиталом. Это рекомендуемый способ валидации новой SMC-стратегии перед выходом в live, особенно потому, что SMC-сетапы чувствительны к таймфрейму (стратегия, работающая на 1-часовом графике, может не работать на 5-минутном). Песочница бэктеста fomoed дополнительно прогоняет стратегии на исторических данных для более быстрых итераций.
А что насчёт ордер-блоков и Fair Value Gaps?
Оба доступны через fomoed.smc.order_blocks и fomoed.smc.fvg. Order blocks возвращают неотработанные зоны с границами по телу свечи; хелпер автоматически удаляет зоны, как только цена их коснулась. FVG возвращают незакрытые трёхсвечные гэпы с атрибутом fill_pct, чтобы сгенерированный ИИ скрипт мог решать, считать ли частично закрытый гэп. Оба хелпера используют ту же логику детекции, что и пресет SMC, так что поведение одинаково по всей платформе.
Можно ли совмещать SMC с другими стратегиями?
Да — и именно в этом AI Trading Agent сильнее фиксированных пресетов. Типичная стратегия с конфлюэнсом может комбинировать «бычий CHoCH плюс RSI не в перекупленности плюс цена в неотработанном бычьем ордер-блоке плюс никаких недавних медвежьих FVG выше текущей цены». ИИ переводит этот конфлюэнс в нужные вызовы (fomoed.smc.choch, ctx.indicators.rsi, fomoed.smc.order_blocks, fomoed.smc.fvg) и комбинирует их в условии входа. Пресет SMC сам по себе такой кроссдоменный конфлюэнс делать не умеет — AI Trading Agent создан как раз для этого.
Как бот обрабатывает CHoCH, который инвалидируется до отката к Fib?
Сгенерированный ИИ скрипт переоценивает условия входа на каждом закрытии свечи. Если бычий CHoCH сработал, но цена так и не откатилась к уровню 0.705 Fib — а вместо этого улетела выше — бот не входит. Если CHoCH инвалидируется (цена закрывается обратно ниже пробитого уровня), следующий вызов fomoed.smc.choch это отразит, и бот не будет действовать на устаревшем сигнале. Состояние пересчитывается на каждом тике из текущих рыночных данных, а не сохраняется между тиками.
Соберите своего первого SMC-бота
Самый быстрый способ понять, как AI Trading Agent работает с SMC — зарегистрироваться, выбрать AI Trading Agent как стратегию в визарде и вставить промпт вроде того, что приведён в этом гайде. Используйте режим paper trading для первого бота — стратегия работает на живых данных без расхода реального капитала, и вы увидите, как часто сетапы реально срабатывают на выбранной паре и таймфрейме.
Для более широкого контекста того, что AI Trading Agent умеет помимо SMC, см. наш базовый гайд по торговым ботам, построенным ИИ. Чтобы сравнить, какой пресет стратегии выбрать под какие рыночные условия, гайд по сравнению стратегий покрывает всю линейку.
Соберите SMC-бота на обычном языке
CHoCH, BoS, ордер-блоки, fair value gaps, снятия ликвидности и Fib-ретрейсменты — описаны словами, исполнены ИИ, безопасны в песочнице. Бесплатный запуск в paper-режиме, пока валидируете.
Начать бесплатно →

