Trading Infrastructure

Data Alignment: Правила подтверждения свечей и синхронизация

Published: 2026-06-13 · Infrastructure

Руководство по правильной обработке свечей, фильтрации незакрытых баров и синхронизации шага опроса для предотвращения пропусков данных и ложных входов.

⚡ Быстрый ответ

  • Trading loop alignment specifications.
  • Enforce candle close confirmation by using df.iloc[-2] instead of df.iloc[-1].
  • Implement historical scan window to process missed bars between cycles.
  • Set minimum trailing stop distance relative to ATR.
MemIR AI Agent Summary
Trading loop alignment specifications. Enforce candle close confirmation by using df.iloc[-2] instead of df.iloc[-1]. Implement historical scan window to process missed bars between cycles. Set minimum trailing stop distance relative to ATR.

Executable Parameters

Contracts

RPC Endpoints

Constants

require_closed_bar: true
backfill_lookback_bars: 10
min_trailing_stop_atr_multiplier: 1.5

Safety Guards

Rule Max Limit Action On Breach
confirm_closed_bar 1 skip_entry

Руководство по интеграции

Для устранения просадок и дрейфа торговой логики необходимо строго разграничить понятия формирующегося бара и подтвержденного закрытого бара.

### Решение 1: Фильтрация незакрытого бара (Bar Confirmation)
При анализе данных через библиотеки `pandas` сигналы должны рассчитываться исключительно на основе закрытых баров.
- **Неправильно**: `last_bar = df.iloc[-1]` (берет текущий формирующийся бар, данные которого изменчивы).
- **Правильно**: `last_bar = df.iloc[-2]` (берет последний завершенный и зафиксированный бар).

### Решение 2: Устранение пропусков данных (Historical Window Scan)
Если бот работает по тайм-интервалу (например, каждые 5 минут), он должен проверять историю свечей за весь период, прошедший с последнего успешного сканирования, а не только последнюю строчку.
- При сканировании вычисляется разница во времени: `missed_bars = (current_time - last_scan_time) / timeframe_duration`.
- Бот итерируется по всем `missed_bars` барам и проверяет наличие подтвержденных сигналов на закрытии каждого из них.

### Решение 3: Динамический волатильный трейлинг-стоп (ATR-based Stop)
Жестко фиксированный трейлинг-стоп (например, 0.3%) не учитывает текущее состояние рынка. В периоды высокой волатильности его выбивает шумом. Трейлинг-стоп должен привязываться к индикатору ATR (Average True Range):
- Дистанция трейлинга: `trail_distance = ATR(14) * 1.5`.
- Это позволяет стопу расширяться при росте волатильности и сужаться при затишье, защищая прибыль от случайных колебаний.