Many price-action traders divide a price range into two halves. The upper half is called Premium: prices there are expensive relative to the range, so traders look for sells or take profit on longs. The lower half is called Discount: prices there are cheap relative to the range, so traders look for buys or take profit on shorts. The middle line, at 50%, is called Equilibrium.
The indicator builds this map automatically:
The indicator keeps its state between calls. At start it scans a limited number of bars; after that every new closed bar is processed once. The range extremes are re-measured only when a new swing is confirmed, and on every tick the objects are redrawn only if the range actually changed.
| Input | Default | Purpose |
|---|---|---|
| Swing range | ||
| InpSwingBars | 5 | Number of bars on each side of a swing (1 to 30). Larger values give a wider, more significant range |
| InpLookbackBars | 500 | Number of bars scanned when the indicator starts (30 to 5000) |
| Zones | ||
| InpShowPremium | true | Show the Premium zone (upper half) |
| InpShowDiscount | true | Show the Discount zone (lower half) |
| InpShowEquilibrium | true | Show the Equilibrium line (50%) |
| InpExtendBars | 20 | Number of bars the zones extend to the right of the last bar (0 to 200) |
| Appearance | ||
| InpPremiumColor | clrGray | Color of the Premium zone |
| InpDiscountColor | clrWhite | Color of the Discount zone |
| InpEqColor | clrSilver | Color of the Equilibrium line |
| InpZoneStyle | STYLE_DASH | Border style of the zones |
| InpEqStyle | STYLE_DOT | Style of the Equilibrium line |
| InpLineWidth | 1 | Border and line width (1 to 5). Dash and dot styles are drawn only with width 1 |
| InpFillZones | false | Fill the zones with color |
| InpShowLabels | true | Show the zone labels at the left edge |
| InpLabelSize | 8 | Font size of the zone labels (6 to 20) |
| Info label | ||
| InpShowInfo | true | Show the label with the position of the price in the range |
| InpInfoColor | clrWhite | Color of the info label |

Fig. 1. PremiumDiscountZones on an M15 chart with default settings: Premium (gray), Discount (white) and the Equilibrium line (black and white image per Code Base guidelines).
Break of Structure (BOS) and Change of Character (CHoCH) Labels
Detects swing highs and lows and labels every break of market structure: BOS (Break of Structure) when the trend continues and CHoCH (Change of Character) when the trend reverses.
Fair Value Gap (FVG) Detector with Auto-Removal When Filled
Detects bullish and bearish Fair Value Gaps (three-candle price imbalances), draws them as boxes extending to the right and automatically removes each box once the price fills the gap.
Currency Strength Ranking Panel
A panel that ranks the eight major currencies (USD, EUR, GBP, JPY, AUD, NZD, CAD, CHF) by their average rate of change against each other.
Trading Session Range Boxes
Draws the Tokyo, London and New York trading sessions as coloured boxes that span the high and low of each session.