ICT Structure Scalper
- Experts
- Version: 14.0
- Activations: 5
QT Structure Scalper
**Tick-speed entries locked to ICT market structure, with a CHoCH grid, a BOS exit and hard take-profits.**
QT Structure Scalper trades in the direction of the market structure it detects, opens a basket with a fixed lot size, and manages it with fixed rules. It uses no martingale, and every trade uses the same lot size.
### How it works
1. **Market structure.** The EA finds swing highs and lows on the structure timeframe and tracks BOS (Break of Structure) and CHoCH (Change of Character) events. From these it sets a bullish, bearish or neutral bias.
2. **Entry.** A new basket opens when the tick-speed signal fires, which means the ticks per second in one direction exceed the recent average by a set factor. The bias filter decides which direction is allowed: buy only in a bullish bias, sell only in a bearish bias, and both when neutral. Signals can be reversed with the `ReverseSignals` input.
3. **CHoCH grid.** A basket grows only when a CHoCH appears against it. Each new CHoCH adds one more trade in the same direction, up to `MaxOpenTrades`. No trade is ever added on distance alone.
4. **BOS exit.** When a BOS confirms the new trend, the whole losing grid closes at once.
5. **Hard take-profit.** A single trade uses a fixed TP in points. Once the basket reaches the set number of trades, a basket TP measured from the average entry is sent to the broker on every trade.
6. **One basket at a time.** The EA never holds buy and sell baskets at the same time.
### Features
- Fixed lot size on every trade (no lot multiplication)
- ICT-style BOS / CHoCH detection on any timeframe you choose
- Direction lock based on market bias
- Hard TP per trade and hard basket TP
- Optional stop loss (off by default, see the risk warning)
- Volatility guard that pauses new baskets during extreme breakouts
- Cooldown after every basket close
- Equity stop, daily profit target and equity-gain limit
- Spread filter and optional trading-time window
- On-chart dashboard with equity, P/L, bias, CHoCH level, basket status and recent closes
- Live candle countdown timer
- Dashboard controls for width, size, position and compact mode
### Important risk warning
- The BOS exit and the equity stop are the protection. A basket can hold floating losses for a relatively long time.
- Grid trading carries significant risk. Adding trades while price moves against the basket can create relatively large floating drawdown.
- Test on a demo account first and set the lot size to fit your balance.
- Past or backtested results do not guarantee future results.
### Requirements and recommendations
- Point-based inputs (TP, basket TP, spread, buffers) depend on the symbol. **Adjust them for each instrument**; the defaults will not suit every symbol.
- A **hedging account** is recommended, and the EA uses separate magic numbers for buy and sell baskets.
- Tick-speed logic depends on tick data. In the Strategy Tester use **"Every tick based on real ticks"**, because other modelling modes change the signals.
- Use a low-latency connection or VPS, and check that your broker's spread and stop level suit your settings.
- Recommended symbol XAUUSD/ timeframe M1/M5
- Minimum deposit $100/ suggested lot 0.01 for GOLD
### Input parameters
**Scalping Settings**
- `LotSize` – Fixed lot used for every trade
- `TakeProfit` – Per-trade TP in points while the basket is smaller than the basket TP threshold (400-200)
- `StopLossPoints` – Hard SL in points (0 = no stop loss)
**Hard Basket TP**
- `BasketTPPoints` – Basket TP in points from the average entry (0 = disabled)
- `BasketTPMinTrades` – Basket TP replaces the per-trade TP once the basket holds at least this many trades
**Tick Speed Signal**
- `TickSpeedPeriod` – Seconds averaged for the baseline (1–100)
- `TickSpeedThreshold` – Minimum ticks per second to consider a signal
- `TickSpeedFactor` – How many times the recent average the current speed must reach
**Direction Control**
- `ReverseSignals` – Reverses the tick-speed direction. The bias lock still applies to the direction sent
**CHoCH Grid**
- `MaxOpenTrades` – Maximum trades per basket (first entry plus CHoCH adds)
**Volatility Guard**
- `AtrTimeframe` – Timeframe used for the ATR readings
- `AtrPeriodFast` / `AtrPeriodSlow` – Fast and slow ATR lengths
- `ExtremeBreakoutRatio` – Fast/slow ATR ratio at which new baskets are paused
- `PauseEntriesOnExtremeBreakout` – Turns the pause on or off
**ICT Swing Detection**
- `StructureTimeframe` – Timeframe for swings and BOS/CHoCH (current chart by default)
- `StructureLookbackBars` – Bars scanned for swings
- `SwingStrength` – Bars required on each side of a candle to count as a swing
**ICT Market Structure**
- `UseICTStructure` – Master switch. Off means no bias lock, no CHoCH adds and no BOS exit
- `CHoCHConfirmMode` – CHoCH confirmed on bar close (default) or on tick. BOS is always confirmed on bar close
- `CHoCHBufferATRMult` – Distance beyond the protected level price must travel (× ATR)
- `CHoCHMinBufferPoints` – Minimum buffer in points
**Cooldown**
- `CooldownSeconds` – Pause before any new trade after a basket closes
**Protection**
- `ProfitPercent` – Stops new trades when equity is this % above balance (0 = disabled)
- `DailyProfitTarget` – Stops new trades once today's closed profit reaches this amount (0 = disabled)
- `EquityStopPercent` – Closes everything if equity falls this % below balance (0 = disabled)
**Filters**
- `UseTimeFilter`, `TradeStartTime`, `TradeEndTime` – Optional trading window
- `MaxSpread` – No new trade if the spread (points) is wider
- `MaxSlippage` – Maximum slippage in points
**Visuals**
- `ShowDashboard`, `DashboardCompact`, `DashX`, `DashY`, `DashWidth`, `DashZoomPercent`, `DashAutoFit`, `ShowControls`, `DashResetOnLoad`, `MinDashboardScale` – Dashboard display and layout
- `ShowCandleTimer` – Countdown to the close of the current candle
- `ShowBasketLines` – Draws basket average entry and TP lines
- `ShowStructureEvents` – Draws BOS / CHoCH lines and the CHoCH level
---
