# Phantom Flow documentation > Setup, chart concepts, alerts, and evaluation for Phantom Flow on TradingView. Educational information, not investment advice. HTML index: https://getphantomflow.com/docs Full text: https://getphantomflow.com/docs/llms-full.txt ## Start here - [Install Phantom Flow Core on TradingView](https://getphantomflow.com/docs/install-core.md): Find your Core access email, install the complete script in Pine Editor, and verify your first chart without a dashboard or invitation. - [Core and Pro: access and module names](https://getphantomflow.com/docs/core-and-pro-modules.md): Identify the version on your chart and distinguish Core trend, momentum, and structure modules from similarly named Pro modules. - [Understand Core settings and compare timeframes fairly](https://getphantomflow.com/docs/settings-and-timeframes.md): Use verified Core defaults as a baseline, change one calculation at a time, and record timeframe and chart-type differences accurately. ## Understand your chart - [Read Core confluence without counting the same evidence twice](https://getphantomflow.com/docs/reading-confluence.md): Understand Core trend labels, oscillator diamonds, and same-bar confluence stars, including what agreement and disagreement actually mean. - [BOS vs CHoCH: read structure at the right scale](https://getphantomflow.com/docs/bos-vs-choch.md): Learn how a break of structure differs from a change of character, with an example separating internal structure from swing structure. - [Fair value gaps: identify the range and its limits](https://getphantomflow.com/docs/fair-value-gaps.md): Work through bullish and bearish three-candle gap examples, Core display controls, and the timing limits of higher-timeframe FVGs. - [Order blocks: read zones and invalidation precisely](https://getphantomflow.com/docs/order-blocks.md): Understand Core internal and swing order blocks, distinguish a touch from a break, and compare High/Low and Close mitigation with numbers. ## Use and verify - [Create and troubleshoot Phantom Flow Core alerts](https://getphantomflow.com/docs/core-alerts.md): Choose the correct Core alert condition, preserve its settings, and separate an event-detection problem from a notification-delivery problem. - [Repainting, bar confirmation, and higher-timeframe timing](https://getphantomflow.com/docs/repainting-and-confirmation.md): Distinguish changing live candles, delayed pivot drawings, and historical lookahead, with a practical Core verification procedure. - [Evaluate an indicator with a reproducible journal](https://getphantomflow.com/docs/evaluate-an-indicator.md): Use a downloadable CSV journal to separate signal timing, chart behavior, and hypothetical outcomes without cherry-picking a performance claim. - [Fix a missing Core indicator or missing chart drawings](https://getphantomflow.com/docs/indicator-not-showing.md): Diagnose installation errors, hidden modules, expected default settings, and mismatched charts before changing the Core script. - [Why did my TradingView alert not fire?](https://getphantomflow.com/docs/alert-troubleshooting.md): Diagnose a missing Core alert or notification with a guided checklist. Compare the alert log, saved settings, event conditions, and candle timing. --- # Install Phantom Flow Core on TradingView Find your Core access email, install the complete script in Pine Editor, and verify your first chart without a dashboard or invitation. Canonical: https://getphantomflow.com/docs/install-core Updated: 2026-09-09 Author: Phantom Flow documentation Phantom Flow Core is a Pine Script indicator that you install in your own TradingView account. Your purchase email contains your personal script access link. Core does not use a Phantom Flow dashboard account, password, magic login link, or TradingView invitation. ## Before you start Have your purchase email and a TradingView chart open. Use a browser where you can access Pine Editor. If you cannot find the purchase email, check spam and search for Phantom Flow. If it still does not appear, use [support](/support) with the email used at checkout. The [visual setup guide](/guide) explains installation, but it does not replace your personal script access link. Keep that access link private. You do not need to publish the script or share the complete source to get installation help. A screenshot of an error message usually provides a better starting point. ## Install the complete script 1. Open the personal script access link from your purchase email and copy the complete Core script. 2. Open a chart in TradingView, then open Pine Editor. 3. Create a new indicator. Select all placeholder code and replace it with the complete copied script. 4. Save the script with a name you recognize, such as Phantom Flow Core. 5. Choose Add to chart. Read any editor error before continuing. TradingView documents this save-and-add workflow in its [first indicator tutorial](https://www.tradingview.com/pine-script-docs/primer/first-indicator/). Creating a private saved script does not require publishing it to the community. ## Check that installation succeeded Look for Phantom Flow Core in the chart's indicator list, then open its settings. The Core version covered here has Phantom Shift and Phantom Oscillator settings, plus structure, order block, and gap controls. The indicator draws on the price chart. Do not expect every module to create a separate panel. The default configuration does not display every available drawing. Oscillator columns, fair value gaps, swing order blocks, higher-timeframe high/low levels, and premium/discount zones start off in the Core source reviewed for these docs. A missing gap box alone does not mean installation failed. Record the symbol, exchange, timeframe, and script name before changing settings. Save a screenshot of this first working chart. This gives you a reference if a later settings change makes the chart look different. ## If the editor reports an error Check that you replaced the placeholder rather than appending Core underneath it. Copy again from your access page if the paste appears incomplete. Preserve the exact error text and line number; do not delete arbitrary lines to make the message disappear. If it persists, send those details through [support](/support), without exposing your personal link in a public screenshot. Installation is complete when the saved script loads and its settings open without an error. Alerts are a separate step. Continue with [settings and timeframes](/docs/settings-and-timeframes), then [create a Core alert](/docs/core-alerts). ## Related articles - [Core and Pro: access and module names](https://getphantomflow.com/docs/core-and-pro-modules) - [Fix a missing Core indicator or missing chart drawings](https://getphantomflow.com/docs/indicator-not-showing) - [Understand Core settings and compare timeframes fairly](https://getphantomflow.com/docs/settings-and-timeframes) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Core and Pro: access and module names Identify the version on your chart and distinguish Core trend, momentum, and structure modules from similarly named Pro modules. Canonical: https://getphantomflow.com/docs/core-and-pro-modules Updated: 2026-09-09 Author: Phantom Flow documentation Check the indicator title before following a settings tutorial. Phantom Flow Core and Phantom Flow Pro use different access methods, and some module names change between them. A setting mentioned in a Pro walkthrough is not automatically a missing Core feature. ## Which access method applies? Core owners install a script from the personal access link in their purchase email. They paste it into TradingView's Pine Editor and save it in their own TradingView account. Core does not provide a Phantom Flow dashboard login or a TradingView invitation. Start with [Core installation](/docs/install-core). Pro uses invite-only TradingView access associated with the owner's TradingView username through the Pro dashboard. That is a separate access path for Pro owners. If you own Core, waiting for an invitation or trying a dashboard password reset will not install Core. ## The Core module map | Core module | What it displays | What to inspect | | --- | --- | --- | | Phantom Shift | An ATR-based trend line and Buy/Sell labels when its direction flips | Trend direction, flip timing, ATR Period, and Multiplier | | SMC Structure | Internal and swing structure, order blocks, equal highs/lows, and optional gaps and range levels | Which structure scale and drawing controls are enabled | | Phantom Oscillator | Moving-average-based momentum, diamond markers, optional columns, and candle coloring | MA Type, MA Length, Oscillator Length, and Threshold | Core also has confluence stars and Phantom Combo alerts. These connect the Shift and Oscillator conditions. They are not a fourth independent source of market information. ## Why a Pro tutorial may use another name The established naming correspondence is Core Phantom Shift to Pro Phantom Trail, Core Phantom Oscillator to Pro Phantom Shift, and Core SMC Structure to Pro Phantom Structure Engine. This is a vocabulary guide, not a claim that both editions calculate every output identically. In particular, "Phantom Shift" means the trend module in Core and the momentum module in Pro. Copying a number into a similarly named section can therefore change the wrong calculation. Identify the function first, then compare the actual input labels. These docs explain the Core source reviewed on September 9, 2026. They do not certify that a development preview or an older screenshot matches the currently published Pro script. For Pro-specific controls and alerts, use the installed version's settings and current owner guide. If they disagree, report the exact indicator title and missing control to [support](/support). ## What these modules do not establish Chart annotations and alerts do not place orders, size positions, or produce a verified performance record. A Buy label names an indicator event. It does not establish suitability for a particular person or account. Several agreeing modules also share price data, so agreement is not independent proof. For a practical next step, inspect one recent label and identify the module that created it. Then read [confluence](/docs/reading-confluence) to separate a current trend state from a newly triggered event. ## Related articles - [Install Phantom Flow Core on TradingView](https://getphantomflow.com/docs/install-core) - [Read Core confluence without counting the same evidence twice](https://getphantomflow.com/docs/reading-confluence) - [Create and troubleshoot Phantom Flow Core alerts](https://getphantomflow.com/docs/core-alerts) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Read Core confluence without counting the same evidence twice Understand Core trend labels, oscillator diamonds, and same-bar confluence stars, including what agreement and disagreement actually mean. Canonical: https://getphantomflow.com/docs/reading-confluence Updated: 2026-09-09 Author: Phantom Flow documentation Confluence means that more than one condition agrees. In Phantom Flow Core, a confluence star has a specific definition: the Phantom Shift trend-flip condition and the Phantom Oscillator signal condition occur in the same direction on the same bar. A broadly green-looking chart is not the same event. ## Separate a state from an event A green Shift line describes the module's current upward trend state. A Shift Buy label marks the change into that state. The line can stay green for many bars after the label appeared. An oscillator diamond marks a momentum-turn condition beyond the configured threshold. It does not mean every candle with upward momentum should have a diamond. Candle color, a diamond, and a Shift label answer different questions. The Phantom Combo Buy condition requires a Shift Buy event and an upward oscillator signal together. The sell condition requires their downward equivalents together. If a diamond appears several bars after a Shift label, that sequence does not meet the same-bar Combo definition, even if both modules now look bullish. ## A hypothetical chart-reading example Imagine a bar closes with a Shift Buy label but no oscillator diamond. Record a trend-flip event only. On the next bar, an upward diamond appears while the Shift line remains green. Record the momentum event and the ongoing trend state separately. Do not backdate a Combo signal to either bar. Now imagine another bar carries both events. If Show Confluence Stars is enabled, Core can display the corresponding star. That star describes the condition combination; it does not measure a probability of profit or confirm that a subsequent move must follow. These are educational examples, not a historical result or a recommendation to enter a position. ## Add structure without turning it into a vote Structure provides context around the event. Check whether the latest break is internal or swing, which level broke, and whether price is near a previously marked zone. A short-term bullish change can exist inside a larger bearish structure. Record the disagreement rather than forcing every module into one verdict. Shift and Oscillator both use price-derived calculations. A star, a green line, and green candles should not be counted as three independent confirmations. Even a separate structure label can respond to the same underlying price move. More annotations do not, by themselves, make an observation more reliable. ## Make a repeatable observation For each example, save the symbol and exchange, timeframe, timestamp, module settings, and whether the bar was still open. Write the actual event names, then describe the surrounding state in a separate sentence. Save a second screenshot after the bar closes if the first was taken during formation. Start with one event definition and inspect every occurrence in a preselected interval. Include events followed by sideways or opposite movement. The [evaluation worksheet](/docs/evaluate-an-indicator) explains how to keep that record honest. Read [bar confirmation](/docs/repainting-and-confirmation) before treating a historical star as proof of what was visible live. ## Related articles - [Core and Pro: access and module names](https://getphantomflow.com/docs/core-and-pro-modules) - [BOS vs CHoCH: read structure at the right scale](https://getphantomflow.com/docs/bos-vs-choch) - [Evaluate an indicator with a reproducible journal](https://getphantomflow.com/docs/evaluate-an-indicator) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # BOS vs CHoCH: read structure at the right scale Learn how a break of structure differs from a change of character, with an example separating internal structure from swing structure. Canonical: https://getphantomflow.com/docs/bos-vs-choch Updated: 2026-09-09 Author: Phantom Flow documentation BOS means break of structure. CHoCH means change of character. In Core, these labels classify a break relative to the direction already tracked by that structure module. BOS describes a break in the tracked direction; CHoCH describes a break against it. Neither label guarantees what price will do next. ## First identify the structure scale Core separates internal structure from swing structure. Internal structure follows shorter movements. Swing structure tracks a broader set of turning points. Both can be visible at once, so a small counter-move can change internal direction while the swing direction remains unchanged. Open settings and inspect Show Internal Structure and Show Swing Structure. The bullish and bearish filters can show All, BOS, or CHoCH. If one label type seems absent, check those filters before concluding that detection failed. ## A hypothetical sequence Suppose a structure module is tracking a bullish direction with a recognized high at 110 and a recognized higher low at 104. A close crossing above 110 on the move to a new high of 113 can receive a bullish BOS label because the break agrees with that module's prior direction. If price later closes at 102, below the tracked low of 104, while that module still has bullish bias, the break can receive a bearish CHoCH label. It records a change in the tracked structure. It does not prove the beginning of a lasting downtrend. ![Illustrative structure sequence with a BOS above 110 and a later CHoCH below 104](/docs/diagrams/structure-break.svg) The exact labels depend on which pivots the module has recognized at that time. A hand-drawn high at 110 may not be the active pivot used by the indicator. This illustration explains classification with invented prices; it is not a live chart, backtest, or exact replay of a Core signal. ## A wick is not the whole comparison Core's structure-break checks use a crossing of the price close series against the tracked level. On an open candle, that close value is the current price and can still move. A price briefly moving beyond a level during the bar does not prove the same break will remain at its final close. To review a disputed label, note the level, the bar's timestamp, and whether your observation happened before or after closing. Do not compare an intrabar screenshot with a historical chart as if both contain the same information. ## Why a label can sit behind the latest candle A structure drawing connects the recognized pivot with the break. Its text can appear between those points. The position of the label is not necessarily the time when the event first became knowable. Pivot recognition itself also requires subsequent price information. For evaluation, record the detection or alert time, not just the bar underneath the text. The [confirmation guide](/docs/repainting-and-confirmation) explains this timing distinction. ## Read conflicting labels literally An internal bearish CHoCH alongside bullish swing structure says the shorter scale changed while the broader scale has not made the same change. It is useful descriptive information, not a software contradiction and not an instruction to trade. Continue with [order blocks](/docs/order-blocks) to understand the zones that can accompany structure events, or use the [glossary](/glossary) for terminology. ## Related articles - [Why did my TradingView alert not fire?](https://getphantomflow.com/docs/alert-troubleshooting) - [Order blocks: read zones and invalidation precisely](https://getphantomflow.com/docs/order-blocks) - [Repainting, bar confirmation, and higher-timeframe timing](https://getphantomflow.com/docs/repainting-and-confirmation) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Fair value gaps: identify the range and its limits Work through bullish and bearish three-candle gap examples, Core display controls, and the timing limits of higher-timeframe FVGs. Canonical: https://getphantomflow.com/docs/fair-value-gaps Updated: 2026-09-09 Author: Phantom Flow documentation A fair value gap, or FVG, is a three-candle price pattern in which the first and third candles leave a non-overlapping range after a directional move. The term does not establish an asset's fair value. A marked gap also does not prove that price must revisit it. ## A bullish example with numbers Take three consecutive candles named A, B, and C. In this educational example, A has a high of 100, B moves upward, and C has a low of 103. The first and third candles leave a range between 100 and 103. Its width is 3 price units and its midpoint is 101.5. ![Illustrative bullish three-candle fair value gap between 100 and 103](/docs/diagrams/fair-value-gap.svg) That describes the basic bullish geometry. The illustration is a schematic, not a live chart or backtest. It does not prove that no trading occurred inside the range during the middle candle. A later low of 102 enters part of the range. Reaching 100 traverses the full range. Neither outcome is inevitable. A box's midpoint is a drawing reference, not evidence of a likely turning price. For a bearish example, A has a low of 110 and C has a high of 107 after a downward move. The non-overlapping range lies between 107 and 110. These invented values explain the pattern only; they are not a setup recommendation. ## How Core displays gaps Fair Value Gaps is off by default in the Core source covered here. Enable it in settings to inspect this module. Auto Threshold applies an additional filter, so a three-candle pattern you identify manually may not produce a box. The detection also considers the intervening candle's movement; geometry alone is not a complete statement of its condition. Timeframe selects the data interval for gap detection. A blank selection uses the chart timeframe. Extend FVG controls how far the box is drawn horizontally. Extending a box does not increase its significance or guarantee that the range stays relevant for that many bars. ## A gap touch and removal are different Price can enter a box without crossing its far boundary. In the reviewed Core source, a bullish gap is removed after price moves below its lower boundary. Bearish removal has a different implementation: it tests whether price moves above the stored lower boundary, so a bearish box can disappear before price traverses the full gap. For the hypothetical 107–110 bearish range, removal can occur above 107 rather than requiring a move above 110. Do not treat disappearance as proof of a full fill. This is a source-level caveat, not a verified observation of every installed customer version or a claim that the Pine code has been corrected. Record the price reached and your definition of partial or full traversal. ## Higher-timeframe timing needs separate verification On a lower-timeframe chart, a gap from a higher interval is not automatically confirmed when the chart candle closes. The higher candle may still be forming. The reviewed Core gap implementation also has a historical lookahead caveat; historical appearance alone cannot establish when its higher-timeframe box was available live. TradingView explains the relevant distinction in [other timeframes and data](https://www.tradingview.com/pine-script-docs/concepts/other-timeframes-and-data/). Before evaluating an MTF gap, capture its first live appearance, the requested interval's closing time, and its state after reloading. Read [repainting and confirmation](/docs/repainting-and-confirmation) for the full check. Until those observations agree, treat availability timing as unverified. ## Related articles - [Repainting, bar confirmation, and higher-timeframe timing](https://getphantomflow.com/docs/repainting-and-confirmation) - [Understand Core settings and compare timeframes fairly](https://getphantomflow.com/docs/settings-and-timeframes) - [Evaluate an indicator with a reproducible journal](https://getphantomflow.com/docs/evaluate-an-indicator) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Order blocks: read zones and invalidation precisely Understand Core internal and swing order blocks, distinguish a touch from a break, and compare High/Low and Close mitigation with numbers. Canonical: https://getphantomflow.com/docs/order-blocks Updated: 2026-09-09 Author: Phantom Flow documentation An order block in Core is a price zone derived from the structure module's historical price analysis. It provides a marked range to inspect. It is not direct evidence of a particular institution's orders, a live order book, or unfilled orders waiting at that price. Core distinguishes internal and swing order blocks. Internal Order Blocks starts enabled in the reviewed Core defaults, while Swing Order Blocks starts disabled. A chart with only internal zones is therefore not necessarily missing data. ## Read the box before naming the event Record whether a zone is bullish or bearish, whether it belongs to internal or swing structure, and its upper and lower prices. Then describe what price actually did: approached the range, entered it, or crossed its far boundary. These are different observations. In particular, the Core alert names containing OB Breakout refer to the zone's break condition. They do not mean a new block has formed, and they are not generic notifications for the first touch of a zone. ## High/Low versus Close mitigation Order Block Mitigation selects the price source used to test a break. High/Low uses the candle extremes; Close uses the close series. The reviewed default is High/Low. Consider a hypothetical bullish zone from 98 to 100. A candle trades down to 97.8 and ultimately closes at 99. Under High/Low mitigation, the low has crossed below the zone's lower boundary. Under a closing-price comparison at the completed bar, 99 has not crossed below 98. For a bearish zone from 110 to 112, a high of 112.4 crosses the upper boundary under High/Low. A completed close of 111 stays within the zone under a closing-price comparison. The source checks for movement beyond the boundary, so exact equality is not the same as crossing beyond it. These examples explain the setting; they do not define an entry, stop, or exit plan. ## Close does not mean confirmed bars only While a candle is open, its close series changes with current price. Selecting Close as the mitigation source does not add a universal closed-bar confirmation rule to Core. Capture the finished candle and the alert frequency when comparing an intrabar break with a later chart. The [confirmation guide](/docs/repainting-and-confirmation) covers this distinction. It matters when a zone seems to disappear during a candle and the final screenshot tells a different story. ## Why two charts show different zones Compare script version, symbol and exchange, timeframe, enabled block type, Order Block Filter, mitigation choice, and the number of displayed blocks. Core offers an ATR or cumulative mean range filter. Filters and display limits can change which boxes you see, so a missing old box is not sufficient evidence that the original zone never existed. For a reproducible support report, include a screenshot before the event and one after, with the zone prices and timestamp visible. Use [Core alerts](/docs/core-alerts) to match the notification name to the event you are investigating. ## Related articles - [BOS vs CHoCH: read structure at the right scale](https://getphantomflow.com/docs/bos-vs-choch) - [Create and troubleshoot Phantom Flow Core alerts](https://getphantomflow.com/docs/core-alerts) - [Repainting, bar confirmation, and higher-timeframe timing](https://getphantomflow.com/docs/repainting-and-confirmation) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Create and troubleshoot Phantom Flow Core alerts Choose the correct Core alert condition, preserve its settings, and separate an event-detection problem from a notification-delivery problem. Canonical: https://getphantomflow.com/docs/core-alerts Updated: 2026-09-09 Author: Phantom Flow documentation Adding Core to a chart makes its alert conditions available. You still need to create a TradingView alert for the event you want to observe. A historical label does not automatically generate a notification. ## Choose the event deliberately Core includes Phantom Shift Buy and Sell, Phantom Oscillator Buy and Sell, and Phantom Combo Buy and Sell. Combo requires the trend-flip and oscillator conditions together on the same bar. A green trend line on its own does not satisfy that condition. Structure conditions distinguish internal events from swing events. Core also exposes Equal Highs, Equal Lows, Bullish FVG, Bearish FVG, and internal or swing OB Breakout conditions. An OB Breakout reports a zone break, not a touch. Read [order block examples](/docs/order-blocks) before selecting it. ## Create one traceable alert 1. Load the intended Core script on the exact symbol, exchange, and timeframe you want to observe. 2. Set its inputs and record them with a screenshot. 3. Open TradingView's Create Alert dialog and select Phantom Flow Core in Condition. 4. Select the exact named event, rather than a similarly named plot or another indicator instance. 5. If evaluating completed chart bars, choose Once Per Bar Close where available. 6. Set the notification destination and give the alert a name containing its symbol, interval, and event. TradingView saves the script, inputs, symbol, and timeframe when an alert is created. Later chart edits do not update that running copy. Recreate the alert after changing the configuration you intend it to use. Alerts run on TradingView's servers and trigger on realtime events, not old historical labels. See [TradingView's alert documentation](https://www.tradingview.com/pine-script-docs/concepts/alerts/). ## If no notification arrives First inspect the alert log. If there is no event there, check whether the alert is active, whether the relevant market supplied a new bar, and whether its saved condition actually occurred. Compare the exact interval and exchange. A Combo alert can legitimately remain silent through many individual Shift or Oscillator events. If the event appears in the log but not on your device, investigate notification settings and permissions. That is different from the indicator failing to detect a condition. Preserve the log timestamp before changing anything. ## If an alert seems different from the chart Check whether you changed inputs or the script after creating it. Compare the alert's saved context with the current chart. Then compare its frequency with the time you took the screenshot. A condition seen during an open candle can differ from the final state. Once Per Bar Close refers to the chart bar. It does not establish that a requested higher-timeframe candle is confirmed, or resolve the Core FVG timing caveat. Consult [repainting and confirmation](/docs/repainting-and-confirmation). Use the [alert diagnostic](/docs/alert-troubleshooting) to choose your next check and prepare a support report. Keep the alert message, log timestamp, settings, and a chart screenshot when contacting [support](/support). An alert is an indicator notification, not an order, an execution record, or a complete trading system. ## Related articles - [Why did my TradingView alert not fire?](https://getphantomflow.com/docs/alert-troubleshooting) - [Order blocks: read zones and invalidation precisely](https://getphantomflow.com/docs/order-blocks) - [Repainting, bar confirmation, and higher-timeframe timing](https://getphantomflow.com/docs/repainting-and-confirmation) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Repainting, bar confirmation, and higher-timeframe timing Distinguish changing live candles, delayed pivot drawings, and historical lookahead, with a practical Core verification procedure. Canonical: https://getphantomflow.com/docs/repainting-and-confirmation Updated: 2026-09-09 Author: Phantom Flow documentation A historical chart does not always show what a person could have seen at the time. To evaluate Core fairly, separate three timing questions: whether the current candle was closed, when a pivot was recognized, and whether higher-timeframe data was available yet. ## The open candle can change During a live candle, the current price, high, and low can change. Conditions based on those values can appear and disappear before closing. Waiting for the chart bar to close reduces this particular source of disagreement. It does not prove that every drawing or data request is free from other timing effects. TradingView describes these differences in its [repainting documentation](https://www.tradingview.com/pine-script-docs/concepts/repainting/). Repainting is a category of behavior to investigate, not a single setting with one universal fix. Core's inputs do not include Pro's Confirmed Bars Only control. Also, choosing Close for order block mitigation selects a price source; it does not make that source stop changing while the candle is open. ## A pivot's location is not its detection time A turning point needs later price information before it can be recognized. A drawing may then be placed at the earlier turning point or between it and a later break. This can make a historical chart appear more timely than the information actually was. When journaling a structure event, record when it became visible or triggered an alert. Do not use the horizontal position of its label as the assumed decision time. ## Higher-timeframe confirmation is separate Suppose a five-minute chart displays information from an hourly candle. Closing a five-minute bar does not close the hour. The requested values may still change during the rest of that hourly candle. There is an additional caveat in the Core FVG source reviewed for these docs: its higher-timeframe request includes current higher-timeframe high/low values with lookahead behavior. Historical gap drawings can therefore expose information earlier than it was available live. We do not describe Core MTF gap history as a verified non-repainting record. TradingView's [timeframe request documentation](https://www.tradingview.com/pine-script-docs/concepts/other-timeframes-and-data/) explains why requested data timing and lookahead must be assessed together. A chart-bar-close alert does not repair historical lookahead. ## A practical observation check 1. Record the script version, full symbol, chart type, session, timeframe, inputs, and any requested interval. 2. Capture the first live appearance of the event with a timestamp. 3. Capture it again after the chart candle closes. 4. For MTF information, capture it after the requested candle closes too. 5. Reload and compare the same timestamps and prices. Write down what changed and when. Keep absent or disappearing events in the record. If the first available live time cannot be established, label the historical observation timing-unverified. This procedure checks observed behavior for that version and context. It cannot certify every market or input combination. Use the [evaluation journal](/docs/evaluate-an-indicator) to preserve the evidence and send a concrete discrepancy through [support](/support). ## Related articles - [Fair value gaps: identify the range and its limits](https://getphantomflow.com/docs/fair-value-gaps) - [Create and troubleshoot Phantom Flow Core alerts](https://getphantomflow.com/docs/core-alerts) - [Evaluate an indicator with a reproducible journal](https://getphantomflow.com/docs/evaluate-an-indicator) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Evaluate an indicator with a reproducible journal Use a downloadable CSV journal to separate signal timing, chart behavior, and hypothetical outcomes without cherry-picking a performance claim. Canonical: https://getphantomflow.com/docs/evaluate-an-indicator Updated: 2026-09-09 Author: Phantom Flow documentation A useful indicator evaluation starts with a question narrow enough to answer. "Does this chart look good?" is not reproducible. "Was each Phantom Combo Buy event visible at the completed bar under these settings?" is a question you can check. Download the [indicator evaluation CSV journal](/docs/downloads/indicator-evaluation.csv) and keep a separate copy for each configuration. The worksheet is a manual observation aid. Phantom Flow does not automatically populate it or provide a built-in backtest through it. ## Define the observation before looking ahead Record the edition and script version, symbol and exchange, chart type, session, timezone, timeframe, and settings. Choose the event name and a fixed observation interval in advance. If you are investigating gaps, include the requested gap timeframe. Decide what counts as a new event and how you will handle an unconfirmed candle. Do not count an ongoing green trend as a new Buy signal on every bar. For confluence, use the [actual same-bar definition](/docs/reading-confluence). ## Keep every eligible occurrence For each event, preserve its timestamp, first observed time, bar-confirmation state, and a screenshot reference. Include events followed by flat movement and movement in the opposite direction. Record missing observations as missing instead of silently dropping them. Use a notes field to explain anomalies, such as an alert created after the event or a changed data feed. A row with incomplete evidence can still be useful, but it should not be treated as a fully verified observation. ## Separate timing from hypothetical outcomes First check whether the event was available at the time you recorded. A label drawn on an earlier pivot is not proof of an earlier signal. Core higher-timeframe FVG history has a specific timing caveat described in [repainting and confirmation](/docs/repainting-and-confirmation). If you separately study hypothetical price outcomes, define the measurement time, observation horizon, and cost assumptions before collecting results. Record that these are simulated observations. Spread, fees, slippage, and delayed reaction can change results; the indicator's label does not establish an executable fill. This is a research-recording method, not a recommendation to use any entry, exit, instrument, or position size. ## Keep development and evaluation separate Changing settings after viewing outcomes makes that interval part of your development process. Freeze the new configuration and inspect a different, previously unseen interval. Keep both records. Repeatedly choosing only the most attractive result hides how many alternatives you tried. Report the sample size, missing rows, date range, settings, and observation method alongside any summary. A few screenshots cannot establish a win rate, and a high percentage alone cannot establish profitability. ## A completion checklist - The exact version and configuration are recorded. - Every eligible event in the chosen interval is accounted for. - First availability is distinguished from the drawing's location. - Changed or missing observations remain visible in the journal. - Any hypothetical outcome uses rules fixed before inspection. - The conclusion stays within the sample and behavior actually checked. A valid conclusion may be that timing remains unverified or that the sample is insufficient. Keeping that limit explicit makes the next check more useful. ## Related articles - [Repainting, bar confirmation, and higher-timeframe timing](https://getphantomflow.com/docs/repainting-and-confirmation) - [Read Core confluence without counting the same evidence twice](https://getphantomflow.com/docs/reading-confluence) - [Understand Core settings and compare timeframes fairly](https://getphantomflow.com/docs/settings-and-timeframes) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Fix a missing Core indicator or missing chart drawings Diagnose installation errors, hidden modules, expected default settings, and mismatched charts before changing the Core script. Canonical: https://getphantomflow.com/docs/indicator-not-showing Updated: 2026-09-09 Author: Phantom Flow documentation Start by identifying what is missing. A script absent from the indicator list, a script with an error, and a working script without one particular box are different problems. Record the current chart before resetting inputs or removing anything. ## Core is absent from the indicator list Open the saved Core script in Pine Editor and confirm that you added it to this chart. Saving the script and adding it are separate steps. If you are in a different TradingView account, check the account where you originally saved it. TradingView's [first indicator tutorial](https://www.tradingview.com/pine-script-docs/primer/first-indicator/) explains the saved-script workflow. Core does not appear through a Pro invitation. Use your purchase email's personal access link and [Core installation instructions](/docs/install-core). If that email is missing, contact [support](/support) with the checkout email. Do not try to recover Core through a Phantom Flow dashboard login. ## Core is listed but has an error Read the complete error message. For an editor error immediately after installation, check for a partial paste or leftover placeholder code. Copy the complete script again into a new blank indicator. Preserve the original error and line number if it persists. For a runtime error, note the symbol, exchange, timeframe, and the inputs that were active when it occurred. An error after changing one input is useful evidence. Avoid editing the script's calculations as a troubleshooting shortcut. ## Core loads, but a module is invisible Check the indicator's visibility and its settings. Then inspect the specific control rather than enabling everything at once. In the reviewed Core defaults: - Show Oscillator Columns is off, although the moving-average line and momentum candle coloring are enabled. - Fair Value Gaps is off. - Swing Order Blocks is off, while Internal Order Blocks is on. - Daily, Weekly, and Monthly high/low levels are off. - Premium/Discount Zones is off. These defaults explain several common differences between a first installation and a screenshot with more modules enabled. Core's oscillator columns are part of the chart overlay, so a missing separate oscillator pane is not an installation failure. ## A specific signal or old zone is missing A star requires two same-bar conditions. A gap requires its detection conditions and any active filter. An old order block may have broken or fallen outside the displayed count. Present mode intentionally limits retained structure drawings compared with Historical mode. Compare identical symbols, exchanges, chart intervals, and settings. Two feeds with the same asset name can contain different candles. Also check whether the screenshot used Core or Pro; [module names differ](/docs/core-and-pro-modules). ## Send a report that can be reproduced Include the indicator title, exact error if present, symbol and exchange, timeframe, relevant settings, event timestamp and timezone, and a screenshot showing the problem. Explain the expected drawing and why you expected it. Keep the paid source and personal access URL out of public screenshots. For alert-only problems, use [alert troubleshooting](/docs/core-alerts). A missing device notification needs a different check from a missing chart drawing. ## Related articles - [Install Phantom Flow Core on TradingView](https://getphantomflow.com/docs/install-core) - [Core and Pro: access and module names](https://getphantomflow.com/docs/core-and-pro-modules) - [Understand Core settings and compare timeframes fairly](https://getphantomflow.com/docs/settings-and-timeframes) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Understand Core settings and compare timeframes fairly Use verified Core defaults as a baseline, change one calculation at a time, and record timeframe and chart-type differences accurately. Canonical: https://getphantomflow.com/docs/settings-and-timeframes Updated: 2026-09-09 Author: Phantom Flow documentation Core settings control both calculations and what is drawn. Begin by distinguishing those jobs. Hiding a line changes what you see; changing its lookback changes the calculation. Neither a cleaner chart nor more frequent labels establishes better performance. ## A documented baseline The Core source reviewed for these docs uses the following defaults. Your saved inputs or an older copy may differ, so compare the actual settings before using this table as a reference. | Module | Input | Reviewed default | | --- | --- | --- | | Phantom Shift | ATR Period | 10 | | Phantom Shift | Multiplier | 3.0 | | Phantom Oscillator | MA Type | SMA | | Phantom Oscillator | MA Length | 40 | | Phantom Oscillator | Oscillator Length | 15 | | Phantom Oscillator | Threshold | 0.5 | | Order blocks | Order Block Mitigation | High/Low | | Fair value gaps | Fair Value Gaps | Off | These are starting values from the source, not optimized settings for a particular instrument or trading style. ## Understand the unit before changing the number Lookbacks count bars. Forty bars on a five-minute chart cover a different duration from forty hourly bars. Switching timeframes therefore changes the information the calculation receives even if every number in the settings remains the same. Shift's ATR Period controls the volatility lookback and Multiplier affects the distance involved in its trend calculation. Oscillator MA Type and MA Length change its reference average, while Oscillator Length and Threshold affect its momentum behavior. Treat a change as a new configuration to observe, not an automatic improvement. ## Reduce visual confusion first Use module visibility controls to identify which drawing belongs to which module. Core has optional oscillator columns, gaps, higher-timeframe highs/lows, and premium/discount zones. Internal and swing structure can be displayed separately. Mode offers Historical and Present views, while Style changes the visual color treatment. Be careful with controls that affect events as well as appearance. The oscillator's Show Signals input participates in its signal conditions in the reviewed source. Disabling it also prevents those oscillator conditions from contributing to Combo events. Show Confluence Stars, by contrast, controls the star drawing. Do not assume every checkbox is cosmetic. ## Compare the same kind of chart Record the full symbol and exchange, session, chart type, and interval. Standard candles are a useful baseline for interpreting the quoted price ranges in these docs. Nonstandard charts can use transformed or constructed prices. TradingView explains that distinction in [non-standard chart data](https://www.tradingview.com/pine-script-docs/concepts/non-standard-charts-data/). The FVG Timeframe input is separate from the chart interval. If you select a higher interval there, record both and read the [gap timing caveat](/docs/fair-value-gaps). ## Preserve a comparison you can trust Save your baseline settings and screenshot. Change one input, inspect a predefined interval, and record what changed. If you revise settings after seeing the outcomes, evaluate the revised configuration on new observations. Recreate any alerts intended to follow the new settings. The [evaluation journal](/docs/evaluate-an-indicator) provides a place to keep those versions separate. ## Related articles - [Core and Pro: access and module names](https://getphantomflow.com/docs/core-and-pro-modules) - [Fair value gaps: identify the range and its limits](https://getphantomflow.com/docs/fair-value-gaps) - [Evaluate an indicator with a reproducible journal](https://getphantomflow.com/docs/evaluate-an-indicator) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results. --- # Why did my TradingView alert not fire? Diagnose a missing Core alert or notification with a guided checklist. Compare the alert log, saved settings, event conditions, and candle timing. Canonical: https://getphantomflow.com/docs/alert-troubleshooting Updated: 2026-09-09 Author: Phantom Flow documentation A missing notification can mean that an alert never triggered, or that a recorded trigger did not reach the device you expected. Start with the TradingView alert log to separate those cases. The optional guided diagnostic asks only the questions needed for your next check and produces a support report. It cannot verify your account or chart. The same steps are available below without JavaScript. ## If the event is in the alert log Preserve the event timestamp. Check the notification destination selected for that alert, then inspect the relevant app or browser notification settings. A log entry establishes that TradingView recorded a trigger; it does not establish delivery to a particular device. The diagnostic does not request or change notification permissions. If the event arrived but seems different from the chart, compare the saved alert configuration with your current chart and note when the screenshot was taken. ## If the event is absent from the log Check whether the alert was active when you expected the event. Note a pause, expiry, or error message before changing anything. Then compare the exact indicator instance, condition name, symbol including exchange, and timeframe. A historical label is not an event that will be sent retroactively. TradingView saves a copy of the script, inputs, symbol, and timeframe at alert creation. A later chart change does not update that running copy. If you want the alert to use your revised configuration, record the old settings and recreate it from the intended chart. These platform behaviors are documented in [TradingView's alert reference](https://www.tradingview.com/pine-script-docs/concepts/alerts/). ## Check what the Core event actually means - Phantom Shift Buy or Sell marks a direction flip. An ongoing trend is not a new flip on every candle. - Phantom Oscillator signals are thresholded momentum turns. Candle color alone does not establish an oscillator event. - Phantom Combo requires the Shift flip and the Oscillator signal in the same direction on the same bar. Turning off the oscillator's Show Signals input prevents its contribution to Combo. Hiding Confluence Stars only hides the drawing. - Core OB Breakout means a zone boundary broke according to its mitigation source. It is not an alert for a first touch or a newly drawn zone. - Internal and swing structure are distinct. Match BOS or CHoCH and the structure scale to the selected condition. Use [Core alert setup](/docs/core-alerts) to identify the available conditions. These names do not describe the Pro alert catalog. If the chart title says Pro, use the guide for that installed version. Core owners install their emailed script and do not need a Pro dashboard login or invitation. ## Compare candle timing A condition observed while a candle is open can differ at its close. Compare the alert frequency with your observation time. Once Per Bar Close, where available, refers to the chart candle. It does not confirm a higher-timeframe candle. Core higher-timeframe FVG history also has a lookahead caveat. A historical gap box alone cannot prove when it was available live. Record first appearance, the requested candle close, and the state after reload. Read [repainting and confirmation](/docs/repainting-and-confirmation) before treating a historical drawing as evidence of a missed realtime alert. ## Prepare a useful support report Record the edition and exact indicator version, condition name, symbol and exchange, timeframe, expected event timestamp with timezone, and whether the event is in the log. Include the saved settings and a redacted screenshot. If the script or inputs changed after alert creation, say so. The diagnostic's copyable report includes selected answers only. Add chart details yourself when you [contact support](/support). Do not include passwords, payment details, the paid script, or your personal script access link. A completed checklist narrows the investigation; it does not prove a software fault or guarantee future notification delivery. ## Related articles - [Create and troubleshoot Phantom Flow Core alerts](https://getphantomflow.com/docs/core-alerts) - [Repainting, bar confirmation, and higher-timeframe timing](https://getphantomflow.com/docs/repainting-and-confirmation) - [Read Core confluence without counting the same evidence twice](https://getphantomflow.com/docs/reading-confluence) Educational documentation. Phantom Flow visualizes chart information and provides alerts. It does not execute trades or guarantee results.