ICT Structure Scalper

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

---
Filter:
No reviews
Reply to review