ict-trading-model README

The project's README from github.com/carreypro/ict-trading-model. As one markdown file: README.md.

ICT Trading Model

Tests License: MIT

A Codex skill that combines multi-timeframe bias, liquidity mapping, premium/discount location, session context, displacement, market structure, and PD arrays into a strict ICT/SMC setup-validation framework. It supports chart screenshots, live candles, and OHLCV JSON across bullish, bearish, and no-trade scenarios. Every analysis returns one auditable status—confirmed, developing, invalidated, or no-trade—with the supporting evidence, exact trigger, structural invalidation, liquidity target, and estimated reward to risk.

Its core advantage is evidence-gated planning: an FVG, order block, or opposing candle cannot create a trade signal by itself. The complete sequence must be evaluated:

Higher-timeframe bias
→ Liquidity objective
→ Premium / discount location
→ Liquidity sweep
→ Displacement and strict FVG
→ Close-confirmed MSS or BOS
→ Retracement into OB / FVG / Breaker / OTE
→ Invalidation and target
→ Risk-to-reward validation

The skill produces analysis and conditional trade plans only. It never executes orders.

What It Delivers

Capability Output
Multi-timeframe context Bias, dealing range, liquidity objective, and premium/discount location
Setup validation Sweep, displacement, strict FVG, close-confirmed MSS/BOS, and retracement evidence
Execution planning Exact trigger, structural invalidation, target liquidity, and reward to risk
Decision control One status: confirmed, developing, invalidated, or no-trade
Auditability Observed, derived, interpretive, and missing evidence kept separate

Installation

Install the skill directly from GitHub:

npx skills add https://github.com/carreypro/ict-trading-model --skill ict-trading-model

Invoke it explicitly in Codex:

Use $ict-trading-model to analyze this chart.

It may also activate automatically when a request refers to ICT, SMC, liquidity sweeps, FVGs, order blocks, breakers, OTE, MSS, or BOS.

Quick Start

Review a chart screenshot

Use $ict-trading-model to review this chart.

Reconstruct the setup in chronological order and identify:
- higher-timeframe bias;
- BSL and SSL;
- liquidity sweeps;
- displacement and strict FVGs;
- MSS or BOS;
- valid order blocks or breakers;
- entry conditions, invalidation, and targets;
- valid opportunities and false signals.

A screenshot supports visual analysis only. Any price level, candle boundary, or timestamp that cannot be read reliably must be marked unverified.

Analyze a live market

Use $ict-trading-model to analyze BTC-USDT-SWAP.

Bias timeframe: 4H
Structure timeframe: 15m
Execution timeframe: 5m

Return one status: confirmed, developing, invalidated, or no-trade.
List the evidence for every required condition. Do not execute a trade.

For live analysis, the agent should fetch current market data first and disclose the venue, data timestamp, and latest closed candle.

Validate your own trade thesis

I think price swept the previous high, formed a bearish MSS, and left a bearish FVG.

Use $ict-trading-model to verify the thesis strictly:
- Is the previous high valid liquidity?
- Was the move a sweep or an accepted breakout?
- Was there genuine bearish displacement?
- Was the MSS confirmed by a candle close?
- Does the FVG satisfy the three-candle definition?
- Did the proposed order block cause displacement and the structure break?
- Is the entry still available, or has price already moved too far?

The skill challenges the thesis against the evidence instead of forcing the chart to match it.

Analyze an OHLCV file

Use $ict-trading-model to analyze:
/absolute/path/to/candles.json

Scan both bullish and bearish structures and report the most recent candidates.

Analysis Workflow

The skill follows the same nine-stage process for chart reviews, live markets, and historical OHLCV data.

1. Confirm the data context

Identify the instrument, venue, candle timeframe, intended holding period, data timestamp, and whether the active candle has closed. Example data and stale screenshots must never be presented as live market data.

2. Establish higher-timeframe bias

Determine higher-timeframe order flow, the active dealing range, and the primary external liquidity objective. The higher timeframe provides direction; it does not provide a precise entry by itself.

3. Build the liquidity map

Mark relevant liquidity and reference points:

4. Evaluate price location

Within a clearly defined dealing range, classify price as premium, equilibrium, or discount. Identify the next liquidity objective and any obstacle between current price and that objective.

Bearish setups are preferred in premium; bullish setups are preferred in discount.

5. Wait for a liquidity event

A bullish reversal model requires a valid sell-side liquidity sweep. A bearish reversal model requires a valid buy-side liquidity sweep. A break without rejection or displacement is not automatically a sweep.

6. Confirm displacement and structure

Valid displacement should show decisive expansion, meaningful candle bodies, a strong close, and a strict FVG.

7. Define the execution zone

Identify the order block that actually caused displacement and the structure break. Give the zone more weight when it overlaps with:

OTE is the 0.62–0.79 retracement of the displacement leg. 0.705 is its midpoint, not a property of the order block itself.

8. Validate risk

Every plan must define:

9. Return one decision status

Status Meaning
confirmed Every required condition has been verified.
developing The narrative is valid, but a required structure break, retracement, or confirmation is still missing.
invalidated Price has breached the structural invalidation level.
no-trade The entry is late, evidence conflicts, data is insufficient, or reward to risk is unacceptable.

Complete Usage Example

User prompt:

Use $ict-trading-model to analyze the uploaded ETH 15-minute chart.

My thesis is that price swept the previous high and then broke the latest swing low.
Do not accept the thesis without verification. Check:

1. whether the previous high represents valid BSL;
2. whether the sweep produced bearish displacement and a strict bearish FVG;
3. whether a candle body closed below the swing low;
4. which bullish candle, if any, qualifies as the bearish order block;
5. whether the order block, FVG, and OTE overlap;
6. whether the setup is confirmed, developing, invalidated, or no-trade;
7. what must happen next if the setup is still developing.

Do not execute a trade.

Expected response shape:

Status: developing
Direction: potential short

Verified:
- Liquidity above the previous high was reached and rejected.
- Downside expansion followed the rejection.

Not yet verified:
- The latest swing low was breached only by a wick, not by a candle close.
- Exact bearish FVG boundaries cannot be confirmed from the screenshot.

Required next steps:
- Wait for a 15-minute close below the swing low.
- Confirm that displacement creates a strict bearish FVG.
- Wait for price to retrace into a premium-side FVG or valid order block.

Invalidation:
- Price closes back above the sweep high.

Conclusion: the setup is not confirmed, and an early short is not justified.

The central rule is simple: missing evidence produces developing or no-trade, never an invented confirmation.

Deterministic OHLCV Scanner

The included scanner provides repeatable mechanical detection for candle data:

python3 scripts/ict_scan.py \
  --input /absolute/path/to/candles.json \
  --direction auto \
  --swing-width 2 \
  --minimum-rr 2

It detects:

Supported input formats

Object format:

{
  "meta": {
    "instrument": "BTC-USDT-SWAP",
    "timeframe": "5m"
  },
  "candles": [
    {
      "timestamp": "2026-10-10T02:00:00Z",
      "open": 100,
      "high": 102,
      "low": 99,
      "close": 101,
      "volume": 1234
    }
  ]
}

Array format:

[
  [1791597600000, 100, 102, 99, 101, 1234]
]

The scanner requires at least 10 candles. Reverse-chronological input is sorted automatically before analysis.

Scanner output

The scanner returns a mechanical_status with the detected evidence and candidate setup. This is not the final trading decision. Higher-timeframe context, the quality of the liquidity pool, event risk, and actual execution costs still require human or agent review.

Repository Structure

ict-trading-model/
├── SKILL.md                       # Skill instructions and decision process
├── agents/openai.yaml             # Agent metadata
├── references/ict-model.md        # ICT/SMC definitions and validation rules
├── references/output-contract.md  # Required analysis output format
├── scripts/ict_scan.py            # Deterministic OHLCV scanner
└── tests/test_ict_scan.py         # Scanner test suite

Limitations and Risk Notice

Development and Testing

Run the test suite and syntax check from the repository root:

python3 -m unittest discover -s tests -v
python3 -m py_compile scripts/ict_scan.py

License

Released under the MIT License.

ict-trading-model (carreypro/ict-trading-model)

Searching Database…

Что это такое?ICT Trading Model — это скилл для Codex, который объединяет оценку направления по нескольким таймфреймам, картирование ликвидности, определение положения цены в зоне премии/дискаунта, контекст торговых сессий, импульсные движения (displacement), рыночную структуру и PD-массивы в строгую систему проверки торговых сетапов по методике ICT/SMC (Inner Circle Trader / Smart Money Concepts).
Это торговый бот, который сам выставляет ордера, или просто инструмент для анализа?Он только выдаёт анализ и условные торговые планы; сам он ордера никогда не исполняет.
Как установить и запустить этот скилл?Установите скилл напрямую из репозитория на GitHub, а затем явно вызовите его внутри Codex; также он может активироваться сам, если в промпте встречаются ICT/SMC-термины вроде снятия ликвидности (liquidity sweep), FVG, ордер-блоков, MSS или BOS.
Какие рыночные данные можно ему скормить?Он принимает скриншоты графиков для визуального просмотра, свечные данные в реальном времени, которые сам загружает, и JSON-файлы с OHLCV (в формате объекта или массива); детерминированному сканеру нужно минимум 10 свечей.
Насколько надёжны его выводы, и учитывает ли он торговые издержки?Скриншот не заменяет полные данные OHLCV, и любую неразборчивую цену нужно помечать как непроверенную; механический сканер тоже показывает только соотношение риск/прибыль без учёта комиссий, спреда, проскальзывания или фандинга.
Для кого этот скилл?Для трейдеров и исследователей, которые разбираются в концепциях прайс-экшена ICT/SMC и хотят дисциплинированного проверяющего сетапов, опирающегося на факты, а не автотрейдера; автор прямо позиционирует его как инструмент для обучения и исследований, а не как финансовую рекомендацию.
Какие четыре возможных статуса решения бывают?Каждый анализ завершается ровно одним статусом: confirmed (все условия подтверждены), developing (картина валидна, но подтверждения пока нет), invalidated (пробита структурная точка инвалидации) или no-trade (поздний вход, противоречивые признаки, недостаточно данных или неприемлемое соотношение риск/прибыль).
Может ли один ордер-блок или FVG сам по себе дать торговый сигнал?Нет. Скилл использует планирование с проверкой по совокупности фактов: один лишь FVG, ордер-блок или противоположная свеча сигнал не создаёт; сначала должна выполниться вся последовательность из девяти этапов (направление, карта ликвидности, снятие ликвидности, импульс, слом структуры, зона исполнения, проверка риска).
Какое минимальное соотношение риск/прибыль нужно валидному плану?Каждый торговый план должен показывать оценочное соотношение прибыль/риск не ниже 1:2 до учёта издержек, а также точный триггер входа, структурный уровень инвалидации и цель на противоположной ликвидности.
Что именно находит детерминированный OHLCV-сканер?Он механически определяет свинговые хаи и лои, строгие бычьи и медвежьи FVG, снятия ликвидности с покупательной и продажной стороны, силу импульса (displacement), сломы структуры, подтверждённые закрытием свечи, диапазоны сделки с пересечением зоны OTE, состояние отката и кандидатов в цели с грубым (без издержек) соотношением прибыль/риск.
Creator
carreypro
Size
<0.1 MB
Stars
325
Updated
CommitOct 10
Age
8d
Commits · 90 Days