Daily Open Indicator: The Level Everyone Watches Today

Written by Dominic Walsh · Published · Last updated

The daily open indicator draws the one level almost every trader can see. Today’s opening price. It then colours the line by which side price is on, and reaches back thirty days so the history reads as a staircase.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 4: Daily open – price above, Daily open – price below, Cross up, Cross down
Alerts popup, push notification, email, sound
Inputs 43

The plots this build puts on screen

`Daily open – price above` runs spring green while the close sits over the level.

`Daily open – price below` runs orange red when it sits under.

`Cross up` uses arrow 233 and `Cross down` uses 234.

Rays mark today’s open plus `InpHistoryDays` `5` earlier ones.

  • Daily open – price above: line, medium spring green, width 2
  • Daily open – price below: line, orange red, width 2
  • Cross up: arrow, lime, width 2, arrow code 233
  • Cross down: arrow, red, width 2, arrow code 234
Daily open indicator coloured staircase and cross arrows on the EURUSD H1 chart.
Daily open indicator coloured staircase and cross arrows on the EURUSD H1 chart.

How each value gets built

Every bar carries its own day’s open

The code buckets chart bars into days and stores the opening price of each. A bar from three days ago therefore shows the open from three days ago, which is what makes the staircase.

One value, two colours

Both coloured buffers receive the same number. Only the choice of buffer changes with the side price is on. So the two lines can never disagree about where the level actually sits.

Crosses carry two guards

`InpRequireExtreme` `true` asks the crossing bar to also make a local extreme. `InpMinBarsApart` `8` then blocks another cross on the same side for eight bars. Together they cut forty marks down to a handful.

Making the output useful

Colour tells you the side without reading the price.

`InpDayShiftHours` `0` uses the broker midnight, which rarely matches a session open.

The panel reports distance from the open in pips and in daily range units.

Old opens keep working as reference levels, which is why the rays stay.

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

`EnableAlerts` sits over four routes and ships true with `EnablePopup`. `EnablePushNotify` reaches a handset, `EnableEmail` sends mail and `EnableSound` plays `SoundFile`. Those three start off. A cross reports once per closed bar.

Every Daily Open Indicator input

Core settings

Setting What it does Default
InpDayShiftHours Day boundary shift in hours from the broker midnight. Hours the day boundary shifts from broker midnight, default `0`. 0
InpMergeSunday Fold the short Sunday bar forward into Monday. Fold the short Sunday bar into Monday, default `true`. on
InpStairDays Days the coloured open staircase reaches back over. Days the coloured staircase reaches back, default `30`. 30
InpAtrPeriod D1 ATR period behind the distance-in-ATR readout. Daily range period behind the distance readout, default `14`. 14
InpRequireExtreme LOCAL-EXTREME gate on a cross bar (was always on). Ask a cross bar to make a local extreme, default `true`. on
InpMinBarsApart Minimum bars between two crosses on the SAME side. Bars before another cross on the same side, default `8`. 8
InpTagGapPx Caption gap in PIXELS (Pattern 17), never in points. 38
InpMaxTags Cap on how many recent captions are drawn. 20
InpPriceScalePx Right margin owned by the price scale, in pixels. 62
InpOneClickWpx Width of the one-click trade panel zone, top-left. 260
InpOneClickHpx Height of the one-click trade panel zone, top-left. 100
InpX Panel X offset (px). 14
InpY Panel Y offset (px) – clears the one-click panel. 120

Display settings: Day boundary

Setting What it does Default
InpHistoryDays Previous daily opens drawn as faint rays. Previous opens drawn as faint rays, default `5`. 5
InpMaxBars Chart bars scanned while the day buckets are built. 4000

Display settings: Rays

Setting What it does Default
InpShowRays Draw the open rays on the chart. on
InpShowRayLabels Price and distance tag on every ray. on
InpTodayColor Today’s open ray colour. gold
InpHistColor Previous days’ open ray colour. RGB 92,112,140
InpRayWidth Today’s open ray width. 2

Display settings: Staircase

Setting What it does Default
InpAboveColor Open colour while price is ABOVE it. medium spring green
InpBelowColor Open colour while price is BELOW it. orange red

Display settings: Cross signals

Setting What it does Default
InpShowCross Arrows when a close crosses the daily open. Draw arrows on a cross through the open, default `true`. on
InpArrowOffsetPts Arrow distance from the bar in points. Points between an arrow and the bar, default `30`. 30
InpShowTags BUY / SELL captions beside the arrows. on
InpCapFontSize BUY / SELL caption font size. 9

Display settings: Text fencing

Setting What it does Default
InpLabelEdgePadPx Padding kept clear at the chart edges, in pixels. 10
InpAvoidPanel Keep captions clear of the info panel. on
InpBuyColor Cross-up arrow and caption colour. lime
InpSellColor Cross-down arrow and caption colour. red

Display settings: Readout panel

Setting What it does Default
InpShowPanel Show the daily-open readout panel. Show the daily open readout, default `true`. on
InpCorner Panel corner (0=UL 1=UR 2=LL 3=LR). 0
InpFontSize Panel font size. 9
InpFont Panel font (monospaced keeps the columns square). Consolas
InpPanelBg Panel background colour. RGB 8,14,28
InpBorderColor Panel border colour. deep sky blue
InpTextColor Panel body text colour. gainsboro

Alert settings

Setting What it does Default
EnableAlerts Master alert switch. on
EnablePopup Terminal popup alert. on
EnablePushNotify Push notification to the MetaQuotes ID. off
EnableEmail E-mail alert (Tools > Options > Email). off
EnableSound Play a sound file on a cross. off
SoundFile Sound file in the terminal Sounds folder. alert.wav
Daily open indicator inputs panel with InpDayShiftHours, InpStairDays and InpMinBarsApart.
Daily open indicator inputs panel with InpDayShiftHours, InpStairDays and InpMinBarsApart.

Which markets and timeframes suit it

The daily open matters most intraday. EURUSD H1 is the reference chart, where twenty-four bars sit between opens. On M5 the staircase steps every two hundred and eighty bars. On daily bars the level and the candle are the same thing.

Where it comes unstuck

Broker midnight is not a session open, so the level can land mid-move.

`InpRequireExtreme` `true` filters hard, which means some genuine crosses go unmarked.

Thirty days of staircase plus five rays is a busy chart on a small screen.

Copy the compiled Daily Open Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Related on forexmt4systems.com: New York Open Strategy.

Background reading on the method behind the Daily Open Indicator: Implied open on Wikipedia, Mcclellan Oscillator at StockCharts ChartSchool.

Download the Daily Open Indicator for MT4 and MT5

The zip holds the compiled Daily Open Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. 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

What does InpDayShiftHours 0 assume?

That you want the broker’s own midnight as the day boundary. Many traders prefer the New York or London open instead, and this input shifts the boundary by whole hours to match.

What does InpMergeSunday fold forward?

Because most brokers open a very short Sunday bar of two or three hours. Treating it as its own day would produce a daily open from almost no trading, so folding it into Monday gives a more useful level.

What does InpRequireExtreme add to a cross?

It asks the crossing bar to also make a local high or low. A bar that drifts through the open without making an extreme is usually noise, and this gate removes most of those.

How far back does InpStairDays 30 reach?

Thirty days of coloured staircase, so each bar in that window shows its own day’s open. Beyond that the buffers stay empty. Raising it costs nothing but chart clutter.

Are results guaranteed?

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

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