NinjaTrader 8 indicator · version 1.04 · PrecisionFX · free
Every setting in the indicator's dialog, in the same order and groups. A setting shown indented in the dialog belongs to the one above it. PFX HTF draws signals, levels and context and can alert you. It never places an order.
It needs minute bars (1, 3, 5, 15 minute and so on) and enough history loaded for its higher timeframes (a 10–20 day chart is ideal).
| Setting | Default | What it does |
|---|---|---|
| Swing sensitivity | 10 | Candles either side of a high or low before it counts as a swing. Lower = more signals and more noise; higher = fewer, cleaner. Only matters while Require a ChoCH is on. |
| Break must CLOSE beyond the level | on | On = a candle must close beyond the swing to count as a break. Off = a wick is enough. |
| Setting | Default | What it does |
|---|---|---|
| Higher timeframe (minutes) | 15 | The timeframe the gaps are found on. 15 = every closed 15-minute candle is scanned for a three-candle gap; the signal itself is then timed on the chart's own bars. |
| Minimum gap size (x ATR of that timeframe) | 0.65 | Ignores higher-timeframe gaps smaller than this fraction of that timeframe's ATR. |
| Maximum gap size (x chart ATR, 0 = no limit) | 3 | Ignores gaps larger than this many chart ATRs. Very large gaps are usually news spikes and carry a very wide stop. |
| ATR length | 14 | The volatility average every "x ATR" setting uses. Leave it alone. |
| Max setups armed at once | 1 | How many higher-timeframe gaps may wait for price at the same time. 1 = the newest only. |
| Give up after (candles) | 40 | A setup that price never returns to is dropped after this many candles. |
| Entry level (% of gap height from its far edge) | 60.0 | Where the entry sits inside the gap, measured from the edge price has not reached yet. 50 = the middle. |
| Entry trigger | Confirmation close | Confirmation close = price touches the entry level, then a candle closes back on the right side. First touch = fires on the first candle to reach it: better price, weaker evidence. On history, First touch is only exact with Tick Replay on. |
| Only trade WITH the higher-timeframe bias | off | On = longs only while the bias timeframe is above its EMA, shorts only below. |
| bias timeframe (minutes) | 60 | The timeframe that bias is measured on. |
| bias EMA length | 50 | The EMA that decides the bias. |
| Setting | Default | What it does |
|---|---|---|
| Target (risk : reward) | 1.1 | The target as a multiple of the stop distance. 1.1 = the target is 1.1 times as far as the stop. |
| Minimum stop distance (ticks, 0 = off) | 20 | Signals with a stop closer than this are skipped, so spread and slippage are never a big slice of the risk. Set it for your instrument. |
| Skip a signal if a level sits before its target | off | On = a signal is skipped when a real level (strong high / low, previous day or week high / low) sits between entry and target. |
| Breakeven on structure close | off | On = once a candle closes beyond the setup's push extreme, the recorded stop moves to entry. |
| Risk % of account (panel sizing only) | 1.0 | Used only for the panel's position-size row. |
| account size, for that row (0 = off) | 0 | The account size that row sizes from. 0 hides the row. |
| One bar hits stop AND target | Stop | When one candle touches both, which one the trade record counts. Stop = the cautious choice. M1 = look inside the candle on 1-minute data. Target = the optimistic one. Affects the record and result tags only. |
| Simulate the strategy's time exit | off | On = a recorded trade still open after the bars below is closed in the record. |
| after (bars from the fill) | 60 | How many bars before that time exit. |
| Setting | Default | What it does |
|---|---|---|
| Go flat by a set time | off | On = no new signals from the time below until the next day. |
| flat at hour (New York) | 15 | Hour, New York time. |
| minute | 55 | Minute. |
| Only signal inside a session window | off | On = signals only fire inside the hours below. A setup found outside can still fire later inside the window. |
| hours are in this timezone | New York | Chart, UTC, London or New York. |
| session start hour (0-23) | 8 | Window start. |
| session end hour (0-23) | 17 | Window end. |
| Setting | Default | What it does |
|---|---|---|
| Draw the higher-timeframe gap frames | on | Draws each higher-timeframe gap as a frame on the chart, so you can see what the model is watching. |
| how many to keep on screen | 6 | Older frames are removed once this many are drawn. |
| when two overlap, keep the | Newer | Newer keeps the most recent, Larger keeps the bigger gap, Both draws both. |
| show the 50% line inside each gap | on | A dashed line at the middle of each gap. |
| retire unmitigated gaps after (candles, 0 = never) | 300 | A gap price never returns to is dropped after this many candles. |
| Setting | Default | What it does |
|---|---|---|
| Draw entry / stop / target lines | on | The lines for each signal. |
| Keep past-trade levels on chart (review) | on | Leaves finished trades drawn so you can review them. |
| past signals kept on the chart | 8 | How many finished signals stay drawn. |
| shade the risk and reward | on | Shades the stop and target areas. |
| tag the result when a signal finishes | on | Writes the result (win / loss / BE) on the chart. |
| Minimum length of the level lines (candles) | 30 | How far right the entry, stop and target lines run at least. |
| stagger between tags (candles) | 4 | Spaces the price tags so they do not overlap. |
| Text size (all labels) | Normal | Tiny to Huge. |
| Stop price tags overlapping | On | Keeps tags apart. |
| how far apart to hold them (x ATR) | 0.65 | The gap kept between price tags when they would overlap. |
| Setting | Default | What it does |
|---|---|---|
| Show the status panel | on | The information panel on the chart. |
| include the bias rows | on | Shows whether each timeframe below is above or below its EMA. Read-only - it never filters a signal. |
| timeframe 1 (minutes) | 15 | The first bias timeframe. |
| timeframe 2 (minutes) | 60 | The second bias timeframe. |
| timeframe 3 (minutes) | 240 | The third bias timeframe. |
| panel bias EMA length | 50 | The EMA those rows read. |
| Panel position | Bottom right | Any corner. |
| Setting | Default | What it does |
|---|---|---|
| Fire an alert on every signal | on | A NinjaTrader alert and sound on every new signal. |
| sound file (in NinjaTrader\sounds) | Alert1.wav | Any .wav in NinjaTrader's sounds folder. |
| re-arm after (seconds) | 10 | Stops the same alert repeating. |
| Also send to Telegram | off | Sends alerts to your own Telegram bot. Nothing is sent anywhere unless you switch this on and enter your own token and chat id. |
| bot token | (blank) | Your own bot's token. NinjaTrader saves it in plain text inside any template you save, so never share a template that holds it. |
| chat id | (blank) | The chat your bot posts to. |
| Setting | Default | What it does |
|---|---|---|
| Up (pastel blue) | #6FA8DC | Bullish structure, gaps and the long side. |
| Down (off-white) | #E8E2D5 | Bearish structure and the short side. |
| Bearish zones (slate) | #7B8B9A | Bearish gap frames and supply zones. |
| Target / reward | #7FBF8F | The target line and the reward shading. |
| Structure & levels (neutral) | #9AA0A6 | ChoCH / BOS labels and the key levels. |
| Stop level | #A89684 | The stop line and the risk shading. |
| Panel title | #6D8CCD | The panel's title bar. |
| Setting | Default | What it does |
|---|---|---|
| Write the forward-test ledger | off | On = every signal and its result is written to a CSV in Documents\NinjaTrader 8\PFX\, so you can track the model live. Off on a fresh chart. |
| count signals from (date) | - | Signals before this date are not recorded. |
| ledger name | chart | Part of the file name, so two charts do not share one file. |
| also write on historical bars (backtests) | off | On = history is recorded too. Leave it off on a live chart. |
| Setting | Default | What it does |
|---|---|---|
| Show resting liquidity shelves (equal H/L) | on | Draws levels where highs or lows have lined up - where stops tend to rest. |
| minimum equal touches to draw | 2 | How many equal touches make a shelf. |
| equal high/low tolerance (x ATR) | 0.15 | How close two highs or lows must be to count as equal. |
| shelves stay live for (candles) | 200 | How long a shelf stays on the chart. |
| Show strong supply / demand zones | on | Draws supply and demand zones. |
| only displacement-backed (strong) zones | on | Only zones with a strong move away from them. |
| displacement gap at least (x ATR) | 0.7 | The move away from a zone must leave a gap at least this big for the zone to count as strong. |
| when a zone breaks | Keep as breaker | Keep it as a breaker, delete it, or leave it unchanged. |
| Show key levels | on | Master switch for the levels below. |
| previous day high / low (PDH / PDL) | on | Yesterday's high and low. |
| previous week high / low (PWH / PWL) | on | Last week's high and low. |
| midnight open (00:00 New York) | on | The price at midnight New York time. |
| New York AM open (08:30 New York) | off | The price at 08:30 New York time. |
| Show equilibrium (50% of the dealing range) | on | The midpoint between the current strong high and low. |
| Show ChoCH / BOS labels | on | Structure labels. |
| past ChoCH / BOS labels kept (0 = current leg only) | 2 | How many older structure labels stay on the chart. |
| Show strong high / low levels | on | The strong high and low that frame the current dealing range. |
| Reveal previous strong levels on approach | on | Older strong levels reappear as price comes near. |
| Show the weak level (the target) | on | The level on the other side of the range, where a move is likely headed. |
| Hide S/D covered by a breaker or HTF frame by this % (0 = off) | 75 | A supply or demand zone mostly covered by a breaker or a gap frame is hidden, so one idea is not drawn twice. 0 = always draw it. |
| hide it completely (off = draw it as an outline) | on | On = the covered zone is removed. Off = it stays as an outline. |