К содержанию
CyberSoftLabRoman Leonov

Справочник

Глоссарий и полка ссылок

Термины рынка, риска, Python, MQL5, AI и бэктеста — с поиском. На соседней вкладке: где скачать Python, MT5, TradingView и выписать ключи.

Прямая ссылка: cybersoftlab-labkit.zip

217 из 217 терминов

Пишите «magic», «σ», «walk-forward», «OnTick» — фильтр по названию, синонимам и тексту.

Рынок и ордера· 56

Ask
Цена, по которой рынок продаёт вам. Рыночная покупка бьёт в ask. В стакане — лучшее предложение.
Bid
Цена, по которой рынок покупает у вас. Рыночная продажа бьёт в bid. Спред = ask − bid.
Спред

spread

Разница ask и bid. Издержки входа. На тонком рынке спред рвётся — без фильтра бот торгует воздух.
Пункт / pip

pip · point

Минимальный шаг котировки в привычной шкале. В MT5 смотрите SYMBOL_POINT и digits, не «как на картинке брокера».
Лот

lot · volume

Объём позиции. Нормализуйте к volume_step, volume_min, volume_max до OrderSend / create_order. Иначе режет биржа.
Тик

tick

Изменение котировки. OnTick в MT5 зовётся не по времени, а по тику. На тонком символе тишина лечится OnTimer.
OHLC
Open, High, Low, Close бара. Индикаторы и бэктесты живут на OHLC; скальп на тиках — другой мир, не смешивайте без модели проскальзывания.
Стакан

order book · DOM

Лимитные заявки вокруг mid. Полезен как фильтр ликвидности, бесполезен как «предсказатель», если вы не считаете очередь.
Проскальзывание

slippage

Разница ожидаемой и фактической цены.fill. Закладывайте в бэктест, иначе живая эквити не совпадёт с картинкой.
Гэп

gap

Разрыв котировок (выходные, новости). Стоп за гэпом исполнится хуже. На 00:00 и NFP бот должен уметь молчать.
Сессия

session

Окно активности: Азия, Лондон, Нью-Йорк, MOEX. Спред и объём разные. Фильтр сессии — дешёвый край.
Своп / ролловер

swap · rollover

Плата за перенос позиции через ночь. Для свинг-бота своп входит в expectancy, для скальпа — почти нет.
Маржа и плечо

margin · leverage

Плечо не увеличивает «правоту», только скорость разорения. Считайте риск от эквити, не от номинала контракта.
Хедж / неттинг

hedging · netting

Хедж-счёт MT5 держит лонг и шорт раздельно. Неттинг схлопывает. Magic и учёт позиций пишутся по-разному.
Спот

spot

Покупка актива. Нет экспирации и фандинга. Иное исполнение, чем у перпетуала — не копируйте фьючерсный бот один в один.
Перпетуал

perp · perpetual · своп

Бессрочный фьючерс с funding. Фандинг — отдельная PnL-нога. Игнорируете его — «прибыльная» стратегия гниёт за неделю.
Mark price
Расчётная цена ликвидации на крипте, не last. Стопы и банкротство считаются от mark. Логируйте оба.
Ликвидация

liquidation

Принудительное закрытие при нехватке маржи. Это не стоп: проскальзывание хуже. Не подходите к краю плечом.
MOEX / срочный рынок

FORTS · MOEX

Фьючерсы и опционы РФ. ГО, клиринг, вечерняя сессия, шаг цены, лотность — всё не как в форексе. Спецификацию читайте на moex.com.
Контракт / шаг цены

tick size · contract size

Цена × объём × multiplier = стоимость пункта. Ошибка множителя — ошибка сайзинга на порядок.
Рыночный ордер

market order

Исполнение по текущему bid/ask. Гарантия наполнения, не цены. В тонком стакане проскальзывание — часть цены входа.
Лимитный ордер

limit

Цена не хуже указанной. Может не исполниться. Post-only лимитка — попытка быть мейкером.
Стоп-ордер

stop · stop market

Становится рыночным при касании стоп-цены. На гэпе исполнится хуже стопа. Это не «гарантия цены».
Стоп-лимит

stop-limit

После стоп-цены выставляется лимит. На импульсе можете не наполниться и остаться в позиции. Знайте, зачем он вам.
Трейлинг-стоп

trailing stop

Стоп едет за ценой на фиксированную дистанцию или ATR. В боковике спиливает. В тренде отдаёт часть движения.
Take profit

TP

Лимит на фиксацию. Фиксированный TP режет хвосты трендовых систем. Часто лучше трейлить, чем тупо TP 1:2.
Stop loss

SL

Выход при ошибке гипотезы. Без SL сайзинг бессмысленен. Ставьте за структуру/σ, не «за круглое число красиво».
OCO

one cancels other

Связка: исполнился TP — снялся SL и наоборот. На частичных биржах эмулируйте в боте, не верьте «брокер сам».
Post-only
Заявка только как maker. Если пересечёт спред — отклонят. Нужна, когда комиссия maker дешевле и вы не гонитесь за fill.
Reduce-only
Ордер только уменьшает позицию, не разворачивает. Обязателен на фьючерсах, иначе SL может открыть шорт.
Maker / Taker
Maker добавляет ликвидность, taker снимает. Комиссии разные, иногда maker-ребат. Скальп без учёта комиссии врёт в тестере.
Комиссия

fee · commission

Процент или фиксированная плата за fill. Плюс своп/фандинг. В бэктесте без комиссий любая шумовая система «работает».
Mid price
(bid+ask)/2. Удобно для mark-to-market, опасно как цена входа: вы не торгуете mid, вы торгуете ask или bid.
VWAP
Средневзвешенная по объёму. Бенчмарк исполнения. «Цена лучше VWAP» — про качество fill, не про альфу.
TWAP
Нарезка крупного ордера по времени. Снижает импакт. Бот TWAP — очередь дочерних лимиток, не один market на весь объём.
Частичное исполнение

partial fill

Наполнили не весь объём. Состояние позиции ≠ заявленный лот. Учёт остатка — часть автомата, не «потом разберёмся».
GTC / IOC / FOK / DAY
Время жизни заявки: до отмены, немедленно-остаток снять, всё или ничего, до конца сессии. Неверный TIF = «ордер исчез».
Лонг / шорт / флэт

long · short · flat

Купили, продали, нет позиции. Флэт — тоже состояние. Бот должен явно знать, в каком он режиме, а не «вроде закрыли».
Усреднение

averaging · pyramid · DCA

Добавление к позиции. Пирамида по тренду ≠ усреднение убытка. Мартингейл в боте — ускоренное разорение, не «система».
Сетка

grid

Лесенка лимиток вокруг цены. В диапазоне печатает, в тренде копит инвентарь. Без потолка сетки и kill-switch — мина.
Break-even

безубыток

Перенос SL в точку входа плюс издержки. Слишком рано — вас выбивает шумом. Слишком поздно — не защищает.
Частичная фиксация

scale out

Закрыть долю на TP1, остаток трейлить. Меняет распределение R. В логах каждая нога — отдельное событие.
Новостной фильтр

NFP · FOMC · CPI

Минуты вокруг события спред рвётся, стопы снимают. Часто дешевле не торговать окно, чем «предугадать цифру».
Ликвидность / глубина

liquidity · depth

Сколько объёма можно снять, не сдвинув цену. Тонкий рынок + крупный лот = вы сами себе проскальзывание.
Импакт

market impact

Сдвиг цены вашим ордером. На крипте малого капа уже заметен. Крупный вход режьте TWAP/лимитками.
Латентность

latency

Время от сигнала до ack биржи. Python+VPS рядом с биржей. «Домашний Wi‑Fi скальп» — лотерея очереди.
ECN / STP / dealing desk
Модель исполнения брокера. Dealing desk может двигать котировку против вас. Для бота важны реальные тики, не маркетинг «ECN».
FIFO
Первым закрывается старейший вход. На части юрисдикций и неттинг-счетах. Хедж-логика с FIFO ломается.
Open interest

OI

Число открытых фьючерсных позиций. Рост OI с трендом — подтверждение, падение — закрытие. Не сигнал входа сам по себе.
Funding rate

фандинг

Периодический платёж между лонгами и шортами перпа. Высокий фандинг съедает hold. В PnL отдельной строкой.
Контанго / бэквордация

contango · backwardation

Фьючерс дороже/дешевле спота. Ролл в контанго стоит денег. Для календарных ботов — статья издержек, не мелочь.
Базис

basis

Фьючерс минус спот. Сходится к экспирации. Арбитражные боты живут на базисе и комиссиях, не на «направлении BTC».
Кросс / минор / экзотик
EURGBP — кросс, USDTRY — экзотик. Спред и гэпы иные, чем у мажоров. Не копируйте EURUSD-настройки на экзотик.
CFD
Контракт на разницу, не поставка актива. Условия стопов и дивидендов — в спецификации брокера, не «как на бирже».
Опцион / IV

implied volatility

IV — вшитая в цену опциона волатильность. Грек и IV crush — отдельный класс систем. Не путайте с σ от SMA на споте.
Последняя / расчётная цена

last · settlement

Last — последняя сделка, settlement — клиринг. Маржа и ГО часто от расчётной. Бот должен знать, какую цену он логирует.

Риск· 26

Просадка

drawdown · DD

Падение эквити от пика. Считайте по закрытым и по floating. Max DD — ограничение проп-фирмы и ваш kill-switch.
Разорение

ruin

Вероятность снести счёт при данной серии убытков. Сайзинг 2% «на глаз» без распределения сделок — путь к ruin.
Сайзинг

position sizing · лот от риска

Объём от доли капитала и стопа, не от «уверенности». Первая функция бота. Без неё сигнал — лотерея размера.
Риск на сделку

risk per trade

Обычно 0.25–1% капитала до стопа. Проп-счета часто жёстче. Дневной лимит — отдельное правило, не сумма сделок «как получится».
R-multiple
Результат в единицах начального риска. +2R при винрейте 40% может быть лучше +0.3R при 80%. Сравнивайте системы в R, не в пунктах.
Матожидание

expectancy

Средний R на сделку: winrate × avg_win − (1−winrate) × avg_loss. Если ≤ 0 после издержек — код не спасёт.
Sharpe / Sortino
Доходность на единицу волатильности (Sortino — только вниз). Высокий Sharpe на 30 сделках ничего не значит. Смотрите устойчивость по годам.
Kill-switch

дневной лимит · выключатель

Флаг: после порога DD бот flatten и молчит до следующего дня/ручного сброса. Живёт в состоянии, пишется в лог, тестируется отдельно.
Корреляционный риск

correlation risk

Три «разных» сигнала по BTC, ETH и SOL — одна нога. Лимит экспозиции на кластер, не на тикер.
Бета

beta

Чувствительность к бенчмарку (BTC, SPX). Высокая бета = вы торгуете рынок, не свою «уникум-идею».
Heat / экспозиция

exposure · heat

Суммарный открытый риск. Caps: на символ, на направление, на кластер, на день. Без caps бот коррелирует сам с собой.
Винрейт

winrate

Доля прибыльных сделок. 80% мелких плюсов и один −10R — система в минусе. Смотрите вместе с avg win/loss.
Profit factor
Сумма прибылей / сумма убытков. PF 1.05 на истории с оптимизацией — ничего. Смотрите PF на OOS и по годам.
Recovery factor
Чистая прибыль / max DD. Высокая прибыль при глубокой яме — счёт могли не пережить. Проп так и считает.
SQN

System Quality Number

Метрика Ван Тарпа: качество системы с поправкой на число сделок. Мало сделок — SQN врёт оптимизмом.
Kelly / дробный Kelly

Kelly criterion

Теоретически оптимальная доля. Полный Kelly слишком агрессивен на оценке винрейта. На практике 0.25–0.5 Kelly или фиксированный %.
Серия убытков

consecutive losses

Оцените 10–15 лоссов подряд на вашей статистике. Сайзинг и дневной лимит должны это переживать без паники.
Trailing drawdown
Просадка от пика эквити, часто правило пропа. Не от старта месяца, а от хая. Бот должен считать тот же пик, что фирма.
MAE / MFE
Макс. неблагоприятное / благоприятное отклонение внутри сделки. MAE > стопа — стоп тесный. MFE >> TP — вы рано фиксируете.
R:R

risk reward

Отношение потенциальной прибыли к риску на входе. Плановый R:R не равен фактическому: проскальзывание и ранний выход портят картинку.
Толстые хвосты

fat tails · kurtosis

Реальные доходности не нормальны. −5σ бывает чаще, чем в гауссе. Позиция, живущая на «σ почти не бывает», когда-нибудь умрёт.
VaR / CVaR
Потери не хуже порога с вероятностью p; CVaR — средний хвост. Оценка на истории, не гарантия. Стресс важнее красивого VaR.
Стресс-тест

stress test

Прогон на 2020-03, 2022, флэш-краш, расширение спреда ×5. Если бот там сносит счёт — лимиты не готовы.
Правила проп-фирмы

prop · consistency

Дневной лосс, trailing DD, запрет новостей, consistency. Бот под проп — это набор ограничений, не «та же стратегия крупнее».
Овернайт-риск

overnight · gap risk

Позиция через ночь/выходные. Гэп через стоп. Для скальпа — закрывать к сессии. Для свинга — закладывать гэп в сайзинг.
Валютная экспозиция

currency exposure

Несколько пар с USD — скрытый долларовый фактор. Коррелированные ноги суммируйте в фактор, не в тикеры.

Python· 29

venv / uv

virtualenv · uv

Изоляция зависимостей. Не ставьте ccxt в системный Python. uv — быстрый менеджер: uv init && uv add ccxt.
pip / PyPI

pip · pypi

Каталог пакетов. Фиксируйте версии в pyproject.toml / requirements.txt. «Поставилось само» через полгода не соберётся.
ccxt
Единый слой бирж: Binance, Bybit, OKX. Унифицирует create_order, fetch_ohlcv, watch_trades. Всё равно читайте нюансы биржи: reduceOnly, postOnly, hedge mode.
WebSocket

WS

Поток котировок и ордеров. REST — для старта и сверки. Боевой скальп без WS слеп. Переподключение и seq-номера обязательны.
asyncio
Несколько задач без потоков: рынок, ордера и контроль в одном цикле. Не ставьте обычный blocking requests внутрь — цикл остановится.
HMAC / подпись

API key · hmac

Ключ + секрет подписывают запрос. Секрет только на сервере, в .env не в git. Права ключа — trade без withdraw.
Nonce / timestamp
Защита от повтора запроса. Расхождение часов с биржей = -1021 / invalid nonce. NTP и допустимое окно recvWindow.
Rate limit / 429

429 · лимит запросов

Биржа режет частоту. Backoff, очередь, не спамьте fetch_ohlcv в OnTick-эквиваленте. Логируйте вес эндпоинта.
pandas / numpy
Исследование и векторный бэктест. В живом скальпе тяжёлый DataFrame на каждый тик — латентность. Разделяйте research и runtime.
логирование

logging

JSON-строка: ts, event, client_order_id, qty, px, reason. Без логов вы спорите с брокером по памяти.
dotenv

.env

Локальные секреты. Файл в .gitignore. На проде — переменные окружения хоста, не скриншот из чата.
Аннотации типов

type hints

qty: float, side: Literal['buy','sell']. Ловят путаницу лота и цены до боя. mypy/pyright — в CI, не «когда-нибудь».
dataclass / pydantic
Модели ордера и конфига. Pydantic валидирует JSON биржи. Голый dict['qty'] разъезжается на первом смене API.
pytest
Тесты сайзинга, kill-switch, идемпотентности. Биржу мокайте. Без тестов на NormalizeLot вы узнаете о баге по счёту.
ruff / formatter

ruff · black

Линтер и формат. Единый стиль, меньше шума в диффе с AI. ruff check --fix в pre-commit.
datetime UTC

timezone

Все метки — timezone-aware UTC. naive datetime — баги сессий и DST. Биржевой ts часто ms epoch — храните явно.
Decimal vs float
Деньги и лоты — Decimal или целые тики. float(0.1+0.2) в объёме даёт invalid volume. Цену тика храните как int шагов.
structlog / JSON-логи
Одна строка JSON на событие. Потом grep/jq по client_order_id. Print() в проде — не лог.
tenacity / backoff
Повторы с джиттером на 429/5xx. Не бесконечный while True. После N попыток — circuit breaker, не надежда.
aiohttp / websockets
HTTP и WS в asyncio. Один session на процесс, не connect на каждый ордер. Ping/pong и reconnect — ваши, не «библиотека сама».
FastAPI webhook
Приём алертов TradingView. Подпись/секрет вебхука, идемпотентность, быстрый 200, работа в очереди. Не торгуйте в HTTP-хендлере.
APScheduler / cron
Переоценка, сверка, отчёт в Telegram. Для рынка — бар и WS, не cron каждую секунду. Cron — для суточных задач.
Graceful shutdown

SIGTERM

По сигналу: перестать входить, дождаться ack, зафлашить логи, опционально flatten. systemd/docker шлёт SIGTERM, не спрашивает.
Контекстный менеджер

with

Сокеты, файлы, блокировки. with закрывает даже при исключении. Утечка WS-соединений — классика новичков.
Enum / Literal
Сторона, ТФ, режим — перечисления, не строки 'Buy'/'BUY'/'buy'. Сверка с биржей в одном адаптере.
Mock-биржа

paper adapter

Фейковый адаптер с теми же методами, что live. Прогоняйте сценарии: reject, partial, disconnect. Дешевле демо-счёта для логики.
pathlib
Пути к конфигу и логам. Не конкатенация строк с '/'. На Windows иначе умрёте в первый же деплой.
SQLite / состояние
Локальный журнал ордеров и идемпотентных ключей. Перезапуск бота не должен забыть, что уже отправили.
Redis / очередь
Когда процессов несколько: сигнал в очередь, воркер исполняет. Для одного бота часто хватает asyncio.Queue.

MQL5 / C++· 29

OnTick
Обработчик тика. Не место для тяжёлого I/O и истории на 10к баров. Быстрая проверка флагов, остальное — таймер и события торговли.
OnTimer
Периодический пульс, когда тиков нет. Watchdog, сверка позиций, «жива ли связь». EventSetTimer в OnInit.
OnTradeTransaction
Факт сделки/ордера от сервера. Источник истины по fills, не догадка после OrderSend.
CTrade / MqlTradeRequest

OrderSend

Структура заявки: symbol, volume, type, filling, deviation, magic, comment. Filling mode обязан совпасть с символом.
Magic number

magic

Идентификатор советника на счёте. Несколько ботов без разных magic путают чужие позиции и закрывают не своё.
NormalizeDouble / volume_step

NormalizeLot

Лот и цена кратны шагу символа. Иначе RETCODE_INVALID_VOLUME / PRICE. Нормализация — до отправки, не «биржа поправит».
Stops level / freeze

SYMBOL_TRADE_STOPS_LEVEL

Минимальная дистанция стопа от цены и зона заморозки модификаций. Игнор = invalid stops. Особенно на золоте и крипто-CFD.
Filling mode

FOK · IOC · return

Как биржа наполняет объём. Неверный type_filling — частая причина «советник не открывает» на конкретном брокере.
CopyBuffer / хендлы индикаторов
Индикатор создаётся в OnInit, данные копируются в массив. iMA() на каждом тике — антипаттерн. Проверяйте код возврата CopyBuffer.
Тестер MT5

Strategy Tester

Режимы: OHLC, 1 min, every tick. «Every tick based on real ticks» ближе к правде и дороже. Без реальных тиков скальп врёт.
Комментарий ордера

comment

Не идентификатор. Брокер может переписать. Идентичность — magic + собственный id в логе / comment как подсказка.
OnInit / OnDeinit
Создание хендлов, таймера, проверка символа — OnInit. Снятие таймера и объектов — OnDeinit. Утечка хендлов после перезапуска графика.
OnCalculate
Расчёт индикатора. prev_calculated говорит, сколько баров уже посчитано. Пересчёт всего массива каждый тик — лаги терминала.
ExpertRemove
Снять советник с графика из кода (ошибка символа, нет торговли). Лучше halt-флаг, чем молчаливый return в OnTick.
SymbolSelect / SymbolInfo
Символ должен быть в Market Watch. Info-запросы без Select возвращают нули — «лотность 0» начинается здесь.
PositionsTotal / ticket
Обход позиций по индексу хрупкий. Берите ticket, фильтруйте magic и symbol. Иначе закроете чужой советник.
HistorySelect / deals
История сделок за период. Сверка дневного PnL и kill-switch по факту, не по «я помню вход».
TRADE_RETCODE

retcode

Код ответа торгового сервера. Логируйте retcode и comment. invalid stops / no money / requote — разные ветки, не один Print('fail').
OrderCheck / OrderCalcMargin
Проверка заявки и маржи до отправки. Дешевле, чем ловить reject. CalcProfit — для оценки TP в деньгах.
CopyRates / CopyTicks
Копия баров и тиков в массив. Проверяйте возврат >= 0. ArraySetAsSeries(true) — индексация как в индикаторах, 0 = текущий бар.
MqlTick
Структура тика: bid, ask, last, volume, flags. Флаги говорят, что изменилось. Не берите last как цену входа в FX.
WebRequest
HTTP из терминала. Домен в списке разрешённых. Для вебхуков и котировок с сайта. Таймаут и разбор JSON — ваши.
iCustom / хендл
Чужой индикатор по имени. Хендл в OnInit, CopyBuffer в работе. Без хендла — каждый вызов тяжёлый и нестабильный.
input / #property
Входные параметры и свойства эксперта. Группы input group для риска отдельно от сигналов. Не хардкодьте лот в коде.
MQH / #include
Заголовки модулей: trade, risk, signals. Один .mq5 — тонкий, логика в .mqh. Иначе файл на 4к строк не отревьюить.
Оптимизация тестера

genetic · forward

Генетика плюс forward period. Без форварда вы подгоняете шум. Задержка исполнения и случайное проскальзывание — включите.
AccountInfo / маржа
Свободная маржа, уровень, валюта счёта. Ордер, который не проходит по марже, должен отсекаться до Send.
ChartID / объекты
Рисование зон и меток на графике. Префикс имён с magic. OnDeinit чистит, иначе после снятия советника график в мусоре.
Print vs FileWrite
Print улетает в журнал и теряется. Боевой лог — файл CSV/JSON в MQL5/Files с flush. Иначе разбор ночного сбоя невозможен.

Архитектура бота· 21

Идемпотентность

client_order_id

Повтор того же сигнала не должен открыть вторую позицию. Ключ: hash(signal, bar_ts, side). Сеть двоит запросы — бот обязан это переживать.
Watchdog
Сторож: нет тиков N секунд, WS молчит, ордер висит — алерт и безопасный режим. Без него бот «жив» в htop и мёртв на рынке.
Flatten
Закрыть всё и отменить заявки. Вызывается kill-switch, потерей связи, ручным стопом. Пишите как отдельную процедуру, тестируйте.
Конечный автомат

state machine

Состояния: idle, pending, in_position, flattening, halted. Переходы явные. Флаги «уже почти вошли» по всему коду — источник двойных входов.
Paper / live split
Один движок сигналов, два адаптера исполнения. Не копируйте бота в «боевой» папке с правкой трёх строк — разъедется.
Конфиг vs код
Символ, риск, сессии, лимиты — конфиг. Логика входа — код. Чтобы сменить пару, не надо пересобирать советник.
Circuit breaker
Автостоп при серии ошибок API, расширении спреда, дыре в данных. Ближайший родственник kill-switch, но про инфраструктуру.
Синхронизация часов

NTP · clock

Бары, nonce, сессии завязаны на время. Расхождение с биржей ломает подпись и MTF. Сервер — UTC, явно.
Порты и адаптеры

hexagonal

Ядро сигналов не знает Binance. Адаптер говорит на API. Смена биржи — новый адаптер, не if binance в стратегии.
Сверка / reconciliation
Периодически: наши ордера vs биржа. Расхождение — алерт и halt. Без сверки « intra-memory правда» расходится с счётом.
Heartbeat
Регулярный импульс «жив». Нет пульса N секунд — считайте процесс мёртвым. Watchdog снаружи (systemd) + внутри (нет тиков).
Backpressure
Очередь сигналов растёт — не входите чаще, чем исполняете. Drop или coalesce, не раздувайте 10к отложенных market.
At-least-once
Доставка события минимум один раз. Дубликаты будут. Поэтому идемпотентность обязательна. Exactly-once на биржевом WS — сказка.
Дебаунс сигнала

cooldown

Один вход на бар / N секунд паузы. Иначе OnTick напишет пачку ордеров на одном импульсе.
Bar-close vs tick
Решение на закрытии бара стабильнее, на тике быстрее и шумнее. Смешивать в одном коде без флага — разные системы.
Календарь сессий

holidays

Праздники биржи, ранние закрытия, воскресенья форекса. Торговать «как в будний день» в сессию низкой ликвидности — подарок спреду.
Canary / бумажный параллель
Сначала paper рядом с live на том же сигнале. Расхождение fill — чините модель, не увеличивайте лот.
Ротация секретов

key rotation

Ключ биржи имеет срок и право. Смена без даунтайма: новый ключ в конфиге, старый revoke. Утечка — revoke сразу.
Runbook
Что делать, если halt, если биржа 5xx, если позиция «не наша». Пишется до инцидента. Ночью вы не изобретаете процедуру.
Метрики процесса

healthcheck

Счётчики: ордера/мин, ошибки, задержка WS, незакрытые заявки. Алерт по порогу, не «глянул htop».
Конфиг-файл

yaml · toml

Риск, символ, сессии — вне кода. Валидация при старте. Неверный лот в конфиге должен не поднять процесс, а упасть громко.

AI и промпты· 18

Системный промпт

system prompt

Роль, запреты, критерии приёмки. «Напиши прибыльного бота» — мусор. «Роль: инженер исполнения, не стратег; сайзинг обязателен» — работа.
Скилл

skill · CLAUDE.md

Файл правил, который агент подмешивает в контекст: как у вас принято считать лот, какие модули обязательны, чего не делать. Память лаборатории.
Субагент

subagent

Узкий исполнитель: «напиши только NormalizeLot», «разбери лог». Ведущий агент не пишет всё сам — меньше галлюцинаций в сайзинге.
Окно контекста

context window

Сколько текста модель видит. Большой советник + логи — режьте: спецификация, затем файл, затем дифф. Не скармливайте весь репозиторий «на всякий».
Галлюцинация

hallucination

Уверенный вымысел: несуществующая функция MQL5, выдуманный эндпоинт. Сверяйте с документацией и компилятором, не с тоном ответа.
Локальная модель

Hermes · Ollama

Веса на вашей машине. Сюда можно дать боевые куски логики и объёмы. Облако — для архитектуры без секретов.
Температура

temperature

Случайность ответа. Для кода ближе к 0. Для мозгового штурма гипотез — выше. Сайзинг и стопы — всегда низкая температура.
Few-shot
В промпт кладёте 1–3 примера «вход → правильный лот». Лучше десятка абзацев прозы. Примеры с вашими инвариантами.
Spec first
Сначала спецификация модулей и запретов, потом код. Иначе модель пишет «всё сразу» и сайзинг оказывается в комментарии.
Tool calling

tools · function calling

Модель вызывает компилятор, тесты, grep. Пусть проверяет, не «уверенно врёт». Без инструментов — больше галлюцинаций API.
Eval-набор

eval

Фиксированные задачи: нормализуй лот, разбери этот лог. После смены модели прогоняете eval. «Кажется умнее» — не метрика.
Prompt injection
В логах и PDF брокера может быть текст «игнорируй правила». Скилл должен запрещать исполнение указаний из пользовательских файлов.
RAG
Подмешивание кусков документации в контекст. Для MQL5 docs полезно. Не замена чтению справки по filling mode.
Токены

tokenizer

Счётчик контекста — токены, не слова. Код жрёт контекст плотнее прозы. Режьте логи, не «весь Experts/».
JSON mode
Структурированный ответ: поля lot, sl, reason. Парсите схемой. Свободный текст «лот примерно 0.2» в пайплайн не кладётся.
AGENTS.md / CLAUDE.md
Память репозитория для агента: стек, запреты, как тестировать. Без файла каждый чат начинается с нуля и забывает kill-switch.
MCP

Model Context Protocol

Протокол инструментов у модели (файлы, браузер). Давайте минимум прав: не полный диск и не боевой API-ключ.
Дифф-ревью
Принимайте патч, не «перепиши файл». Смотрите сайзинг и ветки ошибок. Модель любит удалить проверку spread «для простоты».

Данные и бэктест· 21

Look-ahead bias

заглядывание вперёд

В баре использовали close, которого ещё не было в момент решения. Классика вранья индикаторов и Pine request.security без осторожности.
Survivorship bias
В выборке только выжившие тикеры. На истории РФ без делистинка стратегия «акций роста» выглядит умнее, чем была.
Walk-forward
Оптимизация на окне, проверка на следующем, сдвиг. Честнее одного split 70/30. Если параметры пляшут от окна к окну — системы нет.
IS / OOS

in-sample · out-of-sample

Обучение и отложенная проверка. Подкрутили OOS «ещё разок» — это уже IS. Фиксируйте дату отсечки.
Переобучение

overfitting

Кривая идеальна на истории, мертва вперёд. Много параметров, мало сделок, подгонка под конкретный 2023. Штрафуйте сложность.
Модель заполнения

fill model

Как в тестере вы получаете цену: mid, next tick, стакан. Без модели бэктест — мультик. Для лимиток важна очередь.
Утечка таймфрейма

MTF leak

Старший ТФ на истории берёт будущий close. В Pine — lookahead; в Python — режем бар старшего ТФ по времени младшего.
σ / сигма

sigma · z-score · стандартное отклонение

Отклонение цены от базиса в единицах σ. ±2σ / ±3σ — зоны лимиток mean-reversion. В тренде цена может ехать по +2σ. Нужен фильтр.
Пирсон ρ

correlation · корреляция

Линейная связь доходностей от −1 до 1. Не причинность. Высокая ρ у альтов к BTC — не диверсификация.
Множественное тестирование

multiple testing

1000 комбинаций параметров — случайный чемпион. Штраф за число попыток, иначе OOS тоже «подкручен» отбором.
CPC / purged k-fold

CPCV · embargo

Кросс-валидация рядов с запретом соседних баров (утечка через автокорреляцию). Обычный k-fold для цен врёт.
Стационарность

ADF

Среднее и дисперсия не пляшут. Цены редко стационарны, доходности — чаще. Mean-reversion на нестационарном уровне — ловушка.
Коинтеграция / half-life
Спред пары возвращается к среднему за half-life баров. Если half-life = 400 дней, «пара» вам не помощник на M15.
Hurst
H>0.5 — память/тренд, H<0.5 — возврат. Оценка шумная на коротких окнах. Режим, не вечная константа рынка.
Режим рынка

regime

Тренд / флэт / шок. Система из флэта 2017 умирает в тренде 2021. Детектор режима или разные профили конфига.
Volume / dollar bars
Бар не по времени, а по объёму. Стабильнее статистика на разной активности сессий. Сложнее стыковать с TV/MT5.
Корп. действия

split · dividend

Сплит без корректировки ряда = дыра в стратегии. Для акций и CFD проверяйте, что фид уже adjusted.
DST / таймзона фида
Сервер брокера, биржа и ваш бот — три часовых пояса. Бар «00:00» без зоны — баг сессионного фильтра.
Монте-Карло

bootstrap

Перестановка сделок/путей эквити. Смотрите распределение max DD, не одну красивую кривую тестера.
Permutation test
Случайно переставьте доходности: если «альфа» жива — у вас подгонка под шум. Дешёвый тест честности.
Tick → bar
Агрегация тиков в OHLC. Правило: бар закрыт в ts_end, не включайте будущий тик. Ошибка здесь = look-ahead на всём пайплайне.

TradingView / Pine· 17

overlay
indicator(..., overlay=true) рисует на цене. RSI — overlay=false. Путаница даёт «индикатор в углу графика».
request.security
Данные другого ТФ/символа. Легко словить lookahead. Для боевых алертов — бар закрыт, lookahead_off.
Repainting

перерисовка

Сигнал на истории красивый, в реале исчезает. Причины: close текущего бара, security без закрытия, calc_on_every_tick на истории.
strategy vs indicator
strategy() умеет ордера и тестер TV. indicator() — расчёт и алерты. Для подарка лаборатории — индикатор: вы сами решаете, как входить.
alertcondition / webhook
Алерт TV может стучать в Python-бота. Это не исполнение: между вебхуком и ордером — ваши риск-модули.
ta.sma / ta.stdev / ta.rsi
Базовые серии Pine. stdev — основа σ-полос. Считайте на закрытом баре, если сигнал идёт в алерт.
barstate.isconfirmed
Бар закрыт. Для алертов и webhook — фильтр №1 против перерисовки текущего бара.
var vs varip
var — раз в бар, varip — на каждом тике. Путаница даёт «на истории одно, в лайве другое».
lookahead_on / off
request.security с lookahead_on видит close старшего ТФ раньше времени. Для реальной торговли — off и бар закрыт.
max_bars_back
Сколько истории доступно серии. Слишком мало — na на старте. Слишком много — тяжёлый скрипт.
table / label / line
Таблица статусов ТФ, метки сигналов, линии зон. Не спамьте объектами каждый тик — лимиты TV.
input.*
Параметры индикатора: длина, множители σ, ТФ. Группируйте. Пользователь не должен лезть в код, чтобы сменить 20 на 50.
strategy.entry / exit
Входы тестера TV. Pyramiding, commission, slippage — заполните, иначе PF сказочный. Это не ордер на бирже.
process_orders_on_close
Исполнение стратегии на закрытии бара. Ближе к честному, дальше от скальпа внутри бара.
calc_on_every_tick
Пересчёт на тике. В сочетании с незакрытым баром — источник repaint. Для подарка лаборатории лучше бар-клоуз.
request.security_lower_tf
Данные младшего ТФ массивом внутри бара старшего. Легко словить будущее внутри бара. Нужна дисциплина индексов.
Pine v5 / v6
Версия языка в шапке //@version. Фичи и поведение security менялись. Не мешайте примеры v4 в v5 без правки.

Связь

Нужен бот или разбор стратегии

Разберём идею, соберём бота, проверим риск. Пишите в Telegram — отвечаю лично.