Premium and Discount ICT Indicator: Order Block Marks

Written by Dominic Walsh · Published · Last updated

The premium and discount ict indicator marks the candle that launched an impulse move. Two buffers hold those levels on the price chart, Bullish OB and Bearish OB. An average true range filter decides what counts as an impulse in the first place. Traders who work with order-block ideas get a mechanical version of that first step.

This build ships as premium-discount-indicator-forexmt4systems.ex4 for MT4 and premium-discount-indicator-forexmt4systems.ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 2: Bullish OB, Bearish OB
Alerts popup, push notification, email, sound
Inputs 8

What the Premium and Discount ICT Indicator draws on the chart

Bullish OB carries the violet levels. Each one sits at the low of a down candle that an up move followed. Bearish OB carries the turquoise levels, and each of those sits at the high of an up candle just before a drop. On every other bar both buffers stay empty.

The marks land on the chart itself, never in a pane below. They point one bar behind the impulse, because the code tags the origin candle rather than the candle that made the move. Nothing else prints: no rectangles, no panel and no dashboard.

  • Bullish OB: plot, violet
  • Bearish OB: plot, turquoise
EURUSD H1 chart with premium and discount ict indicator marks: violet Bullish OB below price, turquoise Bearish OB above.
EURUSD H1 chart with premium and discount ict indicator marks: violet Bullish OB below price, turquoise Bearish OB above.

How the Premium and Discount ICT Indicator calculates its values

The volatility filter

The code builds its own average true range. It adds up true range over AtrPeriod bars, then divides by that count. True range itself takes the widest of three spans: the bar range, and each extreme measured against the previous close. So the impulse test scales with whatever the symbol is doing right now.

The impulse test

Move equals this close minus the previous close. The code weighs that move against MoveAtrMultiplier times the average range. A move above the threshold with a red candle behind it flags the bullish case. A move below the negative threshold with a green candle behind it flags the bearish case. Both conditions have to hold on the same pair of bars.

Where the level lands

The buffer write goes to the previous bar, not the current one. For the bullish case it stores that bar’s low. For the bearish case it stores that bar’s high. So the marker always points at the origin candle rather than at the breakout.

How to read the signals

Treat each mark as a location. A violet Bullish OB level shows where buyers took control hard enough to snap the range. Many traders then watch for price to return to that low. A turquoise Bearish OB level works the same way above price.

Fresh levels carry more weight than old ones. Once price cuts clean through a mark and keeps going, that level has done its job. Cluster the marks with your own structure read before acting. The build supplies locations, and you supply the context.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

EnableAlerts gates the alert block. EnablePopup, EnablePushNotify, EnableEmail and EnableSound choose between popup, mobile push, email and sound output.

Every Premium and Discount ICT Indicator input

Core settings

Setting What it does Default
MoveAtrMultiplier MoveAtrMultiplier (default 1.2) sets how far a close must travel against the average range to count as an impulse. Raise it and fewer marks survive. 1.2
AtrPeriod AtrPeriod (default 28) is the number of bars in the volatility window. A shorter window reacts faster to a change of regime. 28

Alert settings

Setting What it does Default
EnableAlerts (see inputs panel) on
EnablePopup (see inputs panel) on
EnablePushNotify (see inputs panel) off
EnableEmail (see inputs panel) off
EnableSound (see inputs panel) off
SoundFile (see inputs panel) alert.wav
premium and discount ict indicator: Inputs panel with MoveAtrMultiplier 1.2, AtrPeriod 28 and the toggles for popup, push, email and sound.
Inputs panel with MoveAtrMultiplier 1.2, AtrPeriod 28 and the toggles for popup, push, email and sound.

Settings that fit your chart

Look at the screenshot and you see EURUSD on H1. There the shipped volatility window covers a little more than a full trading day. Majors, gold and index CFDs all suit the method, because the filter scales to each symbol’s own range. On M1 and M5 the marks multiply and most of them mean very little. From H1 up to daily the count stays readable.

When the Premium and Discount ICT Indicator fails

The name promises a premium and discount read, and the code delivers something else. There is no dealing range, no equilibrium level and no split of that range into halves. What you get instead is an impulse-origin marker. Judge the tool on that job rather than on its title.

One wide candle can fool the filter. News prints an outsized bar, the average range has not caught up yet, and the test passes on noise. The mark then sits under a spike that price never revisits.

Every level appears a bar late by design. The code needs the impulse close before it can tag the origin candle behind it. So price may already sit far away when the mark shows up.

The alert inputs sit in the panel, yet this build sends no automatic message. Watch the chart, or set a platform price alert on the levels you care about.

Copy premium-discount-indicator-forexmt4systems.ex4 into MQL4/Indicators and premium-discount-indicator-forexmt4systems.ex5 into MQL5/Indicators, then restart the terminal and drag the Premium and Discount ICT Indicator onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Related on forexmt4systems.com: ICT Style Strategy.

Download the Premium and Discount ICT Indicator for MT4 and MT5

The zip premium-discount-indicator-forexmt4systems.zip holds premium-discount-indicator-forexmt4systems.ex4, premium-discount-indicator-forexmt4systems.ex5 and a short README, compiled files only. Enter your email below and the download link arrives in your inbox.

Download this indicator free

Enter your email and the file is yours. You also get the full MT4 and MT5 library.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

Does AtrPeriod need a different value on gold?

Not usually. The window scales itself to whatever range the symbol prints, so gold and a major pair both get a fair test. What does change is bar count per session. On a fast symbol some traders shorten the window so the reference tracks the current session more closely.

What exactly does a turquoise Bearish OB level point at?

It points at the high of the last up candle before an impulse down. The code checks that the previous bar closed above its open. Then it stores that bar’s high in the Bearish OB buffer. So the level always sits one bar to the left of the candle that made the move.

Why does MoveAtrMultiplier work better than a fixed pip threshold?

Pip thresholds break the moment you switch symbol or session. MoveAtrMultiplier weighs the close-to-close move against the current average range instead, so gold and a major pair face the same relative test. Raise it for fewer and cleaner marks. Lower it when the chart stays empty for days.

Does this build draw a premium and discount equilibrium level?

It does not. The source holds two buffers, Bullish OB and Bearish OB, and nothing more. It never measures a dealing range or halves it. If you want the classic reading, draw the range yourself and use these marks as impulse reference points inside it.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Premium and Discount ICT Indicator as one input. Always backtest before trading live.

Category: this is part of our Smart Money collection. Browse more Smart Money for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment