Indicator

Indicator

Indicator

Indicator

Indicator

GCM Centre Line Candle MarkerGCM Centre Line Candle Marker (GCM-CLCM) - Descriptive Notes
Indicator Overview:
The "GCM Centre Line Candle Marker" is a versatile PulseWire overlay indicator designed to enhance chart analysis by drawing short horizontal lines at user-defined "centre" points of candles. These lines provide a quick visual reference to key price levels within each candle, such as midpoints, open, close, or typical prices. The indicator offers extensive customization for line appearance, positioning, and conditional display, including an option to highlight only bullish engulfing patterns.
Key Features:
1. Customizable Line Position:
o Users can choose from various methods to calculate the "centre" price for the line:
(High + Low) / 2 (Default)
(Open + Close) / 2
Close
Open
(Open + High + Low + Close) / 4 (HLCO/4)
(Open + High + Close) / 3 (Typical Price HLC/3 variation)
(Open + Close + Low) / 3 (Typical Price OCL/3 variation)
2. Line Appearance Customization:
o Visibility: Toggle lines on/off.
o Style: Solid, dotted, or dashed lines.
o Width: Adjustable line thickness (1 to 5).
o Length: Defines how many candles forward the line extends (1 to 10).
o Color: Lines are colored based on candle type (bullish/bearish), with user-selectable base colors.
o Dynamic Opacity: Line opacity is dynamically adjusted based on the candle's size relative to recent candles. Larger candles produce more opaque lines (up to the user-defined maximum opacity), while smaller candles result in more transparent lines. This helps significant candles stand out.
3. Price Labels:
o Show Labels: Option to display price labels at the end of each center line.
o Label Background Color: Customizable.
o Dynamic Text Color: Label text color can change based on the movement of the center price:
Green: Current center price is higher than the previous.
Red: Current center price is lower than the previous.
Gray: No change or first label.
o Static Text Color: Alternatively, a fixed color can be used for all labels.
4. Conditional Drawing - Bullish Engulfing Filter:
o Users can enable an option to Only Show Bullish Engulfing Candles. When active, center lines will only be drawn for candles that meet bullish engulfing criteria (current bull candle's body engulfs the previous bear candle's body).
5. Performance Management:
o Max Lines to Show: Limits the number of historical lines displayed on the chart to maintain clarity and performance. Older lines are automatically removed as new ones are drawn.
6. Alert Condition:
o Includes a built-in alert: Big Bullish Candle. This alert triggers when a bullish candle's range (high - low) is greater than the 20-period simple moving average (SMA) of candle ranges.
How It Works:
• For each new candle, the script calculates the "center" price based on the user's Line Position selection.
• If showLines is enabled and (if applicable) the bullish engulfing condition is met, a new line is drawn from the current candle's bar_index at the calculated _center price, extending lineLength candles forward.
• The line's color is determined by whether the candle is bullish (close > open) or bearish (close < open).
• Opacity is calculated dynamically: scaledOpacity = int((100 - maxUserOpacity) * (1 - dynamicFactor) + maxUserOpacity), where dynamicFactor is candleSize / maxSize (current candle size relative to the max size in the last 20 candles). This means maxUserOpacity is the least transparent the line will be (for the largest candles), and smaller candles will have lines approaching full transparency.
• Optional price labels are added at the end of these lines.
• The script manages an array of drawn lines, removing the oldest ones if the maxLines limit is exceeded.
Potential Use Cases:
• Visualizing Intra-Candle Levels: Quickly see midpoints or other key price points without manual drawing.
• Short-Term Reference Points: The extended lines can act as very short-term dynamic support/resistance or points of interest.
• Pattern Recognition: Highlight bullish engulfing patterns or simply emphasize candles based on their calculated center.
• Volatility Indication: The dynamic opacity can subtly indicate periods of larger or smaller candle ranges.
• Confirmation Tool: Use in conjunction with other indicators or trading strategies.
User Input Groups:
• Line Settings: Controls all aspects of the line's appearance and calculation.
• Label Settings: Manages the display and appearance of price labels.
• Other Settings: Contains options for line management and conditional filtering (like Bullish Engulfing).
This indicator provides a clean and customizable way to mark significant price levels within candles, aiding traders in their technical analysis. Indicator

Indicator

Indicator

TUF_LOGICTUF_LOGIC: Three-Value Logic for Pine Script v6
The TUF_LOGIC library implements a robust three-valued logic system (trilean logic) for Pine Script v6, providing a formal framework for reasoning about uncertain or incomplete information in financial markets. By extending beyond binary True/False states to include an explicit "Uncertain" state, this library enables more nuanced algorithmic decision-making, particularly valuable in environments characterized by imperfect information.
Core Architecture
TUF_LOGIC offers two complementary interfaces for working with trilean values:
Enum-Based API (Recommended): Leverages Pine Script v6's enum capabilities with Trilean.True , Trilean.Uncertain , and Trilean.False for improved type safety and performance.
Integer-Based API (Legacy Support): Maintains compatibility with existing code using integer values 1 (True), 0 (Uncertain), and -1 (False).
Fundamental Operations
The library provides type conversion methods for seamless interaction between integer representation and enum types ( to_trilean() , to_int() ), along with validation functions to maintain trilean invariants.
Logical Operators
TUF_LOGIC extends traditional boolean operators to the trilean domain with NOT , AND , OR , XOR , and EQUALITY functions that properly handle the Uncertain state according to the principles of three-valued logic.
The library implements three different implication operators providing flexibility for different logical requirements: IMP_K (Kleene's approach), IMP_L (Łukasiewicz's approach), and IMP_RM3 (Relevant implication under RM3 logic).
Inspired by Tarski-Łukasiewicz's modal logic formulations, TUF_LOGIC includes modal operators: MA (Modal Assertion) evaluates whether a state is possibly true; LA (Logical Assertion) determines if a state is necessarily true; and IA (Indeterminacy Assertion) identifies explicitly uncertain states.
The UNANIMOUS operator evaluates trilean values for complete agreement, returning the consensus value if one exists or Uncertain otherwise. This function is available for both pairs of values and arrays of trilean values.
Practical Applications
TUF_LOGIC excels in financial market scenarios where decision-making must account for uncertainty. It enables technical indicator consensus by combining signals with different confidence levels, supports multi-timeframe analysis by reconciling potentially contradictory signals, enhances risk management by explicitly modeling uncertainty, and handles partial information systems where some data sources may be unreliable.
By providing a mathematically sound framework for reasoning about uncertainty, TUF_LOGIC elevates trading system design beyond simplistic binary logic, allowing for more sophisticated decision-making that better reflects real-world market complexity.
Library "TUF_LOGIC"
Three-Value Logic (TUF: True, Uncertain, False) implementation for Pine Script.
This library provides a comprehensive set of logical operations supporting trilean logic systems,
including Kleene, Łukasiewicz, and RM3 implications. Compatible with Pine v6 enums.
method validate(self)
Ensures a valid trilean integer value by clamping to the appropriate range .
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to validate.
Returns: An integer value guaranteed to be within the valid trilean range.
method to_trilean(self)
Converts an integer value to a Trilean enum value.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer to convert (typically -1, 0, or 1).
Returns: A Trilean enum value: True (1), Uncertain (0), or False (-1).
method to_int(self)
Converts a Trilean enum value to its corresponding integer representation.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to convert.
Returns: Integer value: 1 (True), 0 (Uncertain), or -1 (False).
method NOT(self)
Negates a trilean integer value (NOT operation).
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to negate.
Returns: Negated integer value: 1 -> -1, 0 -> 0, -1 -> 1.
method NOT(self)
Negates a Trilean enum value (NOT operation).
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to negate.
Returns: Negated Trilean: True -> False, Uncertain -> Uncertain, False -> True.
method AND(self, comparator)
Logical AND operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the AND operation (minimum value).
method AND(self, comparator)
Logical AND operation for Trilean enum values following three-valued logic.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the AND operation.
method OR(self, comparator)
Logical OR operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the OR operation (maximum value).
method OR(self, comparator)
Logical OR operation for Trilean enum values following three-valued logic.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the OR operation.
method EQUALITY(self, comparator)
Logical EQUALITY operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer representation (1/-1) indicating if values are equal.
method EQUALITY(self, comparator)
Logical EQUALITY operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean.True if both values are equal, Trilean.False otherwise.
method XOR(self, comparator)
Logical XOR (Exclusive OR) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the XOR operation.
method XOR(self, comparator)
Logical XOR (Exclusive OR) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the XOR operation.
method IMP_K(self, comparator)
Material implication using Kleene's logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of Kleene's implication operation.
method IMP_K(self, comparator)
Material implication using Kleene's logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of Kleene's implication operation.
method IMP_L(self, comparator)
Logical implication using Łukasiewicz's logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of Łukasiewicz's implication operation.
method IMP_L(self, comparator)
Logical implication using Łukasiewicz's logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of Łukasiewicz's implication operation.
method IMP_RM3(self, comparator)
Logical implication using RM3 logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of the RM3 implication operation.
method IMP_RM3(self, comparator)
Logical implication using RM3 logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of the RM3 implication operation.
method MA(self)
Modal Assertion (MA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 1 or 0, -1 if the value is -1.
method MA(self)
Modal Assertion (MA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is True or Uncertain, Trilean.False if value is False.
method LA(self)
Logical Assertion (LA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 1, -1 otherwise.
method LA(self)
Logical Assertion (LA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is True, Trilean.False otherwise.
method IA(self)
Indeterminacy Assertion (IA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 0, -1 otherwise.
method IA(self)
Indeterminacy Assertion (IA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is Uncertain, Trilean.False otherwise.
method UNANIMOUS(self, comparator)
Evaluates the unanimity between two trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value.
Returns: Integer value of self if both values are equal, 0 (Uncertain) otherwise.
method UNANIMOUS(self, comparator)
Evaluates the unanimity between two Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value.
Returns: Value of self if both values are equal, Trilean.Uncertain otherwise.
method UNANIMOUS(self)
Evaluates the unanimity among an array of trilean integer values.
Namespace types: array
Parameters:
self (array) : The array of integer values.
Returns: First value if all values are identical, 0 (Uncertain) otherwise.
method UNANIMOUS(self)
Evaluates the unanimity among an array of Trilean enum values.
Namespace types: array
Parameters:
self (array) : The array of Trilean enum values.
Returns: First value if all values are identical, Trilean.Uncertain otherwise. Library

Stock metrics and valueThis indicator shows:
- the valuation metrics for a stock on a table on top right: PE, EPS, dividend, ROIC, ROE, ROA, EPS growth, FCF growth, Equity growth, revenue Growth
- the fair value and the value with 50% margin of safety as chart lines
The lines will be red when they are above the current price and red when they are below the current price.
The colors on the table will be red when the values are below 10% and green when they are above, that means when everything is green the metrics for the stock are good. Indicator

Indicator

Smarter Money Concepts - FVGs [PhenLabs]📊 Smarter Money Concepts - FVGs
Version: PineScript™ v6
📌 Description
Smarter Money Concepts - FVGs is a sophisticated indicator designed to identify and track Fair Value Gaps (FVGs) in price action. These gaps represent market inefficiencies where price moves quickly, creating imbalances that often attract subsequent price action for mitigation. By highlighting these key areas, traders can identify potential zones for reversals, continuations, and price targets.
The indicator employs volume filtering ideology to highlight only the most significant FVGs, reducing noise and focusing on gaps formed during periods of higher relative volume. This combination of price structure analysis and volume confirmation provides traders with high-probability areas of interest that institutional smart money may target during future price movements.
🚀 Points of Innovation
Volume-Filtered Gap Detection : Eliminates low-significance FVGs by requiring a minimum volume threshold, focusing only on gaps formed with institutional participation
Equilibrium Line Visualization : Displays the midpoint of each gap as a potential precision target for trades
Automated Gap Mitigation Tracking : Monitors when price revisits and mitigates gaps, automatically managing visual elements
Time-Based Gap Management : Intelligently filters gaps based on a configurable timeframe, maintaining chart clarity
Dual Direction Analysis : Simultaneously tracks both bullish and bearish gaps, providing a complete market structure view
Memory-Optimized Design : Implements efficient memory management for smooth chart performance even with numerous FVGs
🔧 Core Components
Fair Value Gap Detection : Identifies price inefficiencies where the current candle’s low is higher than the previous candle’s high (bearish FVG) or where the current candle’s high is lower than the previous candle’s low (bullish FVG).
Volume Filtering Mechanism : Calculates relative volume compared to a moving average to qualify only gaps formed during significant market activity.
Mitigation Tracking : Continuously monitors price action to detect when gaps get filled, with options to either hide or maintain visual representation of mitigated gaps.
🔥 Key Features
Customizable Gap Display : Toggle visibility of bullish and bearish gaps independently to focus on your preferred market direction
Volume Threshold Control : Adjust the minimum volume ratio required for gap qualification, allowing fine-tuning between sensitivity and significance
Flexible Mitigation Methods : Choose between “Wick” or “Close” methods for determining when a gap has been mitigated, adapting to different trading styles
Visual Customization : Full control over colors, transparency, and style of gap boxes and equilibrium lines
🎨 Visualization
Gap Boxes : Rectangular highlights showing the exact price range of each Fair Value Gap. Bullish gaps indicate potential upward price targets, while bearish gaps show potential downward targets.
Equilibrium Lines : Dotted lines running through the center of each gap, representing the mathematical midpoint that often serves as a precision target for price movement.
📖 Usage Guidelines
General Settings
Days to Analyze : Default: 15, Range: 1-100. Controls how many days of historical gaps to display, balancing between comprehensive analysis and chart clarity
Visual Settings
Bull Color : Default:(#596fd33f). Color for bullish Fair Value Gaps, typically using high transparency for clear chart visibility
Bear Color : Default:(#d3454575). Color for bearish Fair Value Gaps, typically using high transparency for clear chart visibility
Equilibrium Line : Default: Enabled. Toggles visibility of the center equilibrium line for each FVG
Eq. Line Color : Default: Black with 99% transparency. Sets the color of equilibrium lines, usually kept subtle to avoid chart clutter
Eq. Line Style : Default: Dotted, Options: Dotted, Solid, Dashed. Determines the line style for equilibrium lines
Mitigation Settings
Mitigation Method : Default: Wick, Options: Wick, Close. Determines how gap mitigation is calculated - “Wick” uses high/low values while “Close” uses open/close values for more conservative mitigation criteria
Hide Mitigated : Default: Enabled. When enabled, gaps become transparent once mitigated, reducing visual clutter while maintaining historical context
Volume Filter
Volume Filter : Default: Enabled. When enabled, only shows gaps formed with significant volume relative to recent average
Min Ratio : Default: 1.5, Range: 0.1-10.0. Minimum volume ratio compared to average required to display an FVG; higher values filter out more gaps
Periods : Default: 15, Range: 5-50. Number of periods used to calculate the average volume baseline
✅ Best Use Cases
Identifying potential reversal zones where price may react after extended moves
Finding precise targets for take-profit placement in trend-following strategies
Detecting institutional interest areas for potential breakout or breakdown confirmations
Plotting significant support and resistance zones based on structural imbalances
Developing fade strategies at key market structure points
Confirming trade entries when price approaches significant unfilled gaps
⚠️ Limitations
Works best on higher timeframes where gaps reflect more significant market inefficiencies
Very choppy or ranging markets may produce small gaps with limited predictive value
Volume filtering depends on accurate volume data, which may be less reliable for some symbols
Performance may be affected when displaying a very large number of historical gaps
Some gaps may never be fully mitigated, particularly in strongly trending markets
💡 What Makes This Unique
Volume Intelligence : Unlike basic FVG indicators, this script incorporates volume analysis to identify the most significant structural imbalances, focusing on quality over quantity.
Visual Clarity Management : Automatic handling of mitigated gaps and memory management ensures your chart remains clean and informative even over extended analysis periods.
Dual-Direction Comprehensive Analysis : Simultaneously tracks both bullish and bearish gaps, providing a complete market structure picture rather than forcing a directional bias.
🔬 How It Works
1. Gap Detection Process :
The indicator examines each candle in relation to previous candles, identifying when a gap forms between the low of candle and high of candle (bearish FVG) or between the high of candle and low of candle (bullish FVG). This specific candle relationship identifies true structural imbalances.
2. Volume Qualification :
For each potential gap, the algorithm calculates the relative volume compared to the configured period average. Only gaps formed with volume exceeding the minimum ratio threshold are displayed, ensuring focus on institutionally significant imbalances.
3. Equilibrium Calculation :
For each qualified gap, the script calculates the precise mathematical midpoint, which becomes the equilibrium line - a key target that price often gravitates toward during mitigation attempts.
4. Mitigation Tracking :
The indicator continuously monitors price action against existing gaps, determining mitigation based on the selected method (wick or close). When price reaches the equilibrium point, the gap is considered mitigated and can be visually updated accordingly.
💡 Note:
Fair Value Gaps represent market inefficiencies that often, but not always, get filled. Use this indicator as part of a complete trading strategy rather than as a standalone system. The most valuable signals typically come from combining FVG analysis with other confirmatory indicators and overall market context. For optimal results, start with the default settings and gradually adjust parameters to match your specific trading timeframe and style. Indicator

Indicator

EZ_Algo Copyright label
This script overlays a fully adjustable watermark on your chart, featuring:
A bold Main Title (e.g., your brand or name) and Subtitle (e.g., a tagline or ID).
Optional extras like a copyright notice, logo symbol, warning message, and chart info (symbol, timeframe, timestamp, or close price).
A subtle repeating overlay pattern to deter theft.
Flexible positioning, sizing, and color options to match your vib
e
It’s built for traders who want to protect their charts and make them stand out, all in a few clicks.
How to Use It
Add to Chart: Click "Add to Chart" and watch the default watermark appear (e.g., "EZ ALGO" at the top).
Customize It:
Main Title: Set your brand (e.g., "EZ ALGO") under "Main Title". Tweak color, size, and alignment.
Subtitle: Add a tagline (e.g., "Algo Trading") and trader ID (e.g., "@EZ_Algo
") with matching style options.
Text Opacity: Adjust "Text Opacity" in "Appearance" to control title and subtitle transparency (0 = solid, 100 = invisible).
Chart Info: Toggle "Show Chart Info" to display symbol and timestamp, or add "Show Close Price" for extra data.
Extras: Enable "Show Copyright" for a © notice, "Show Logo" for a symbol (e.g., ★), or "Show Warning" to shout "DO NOT COPY".
Overlay Pattern: Turn on "Show Overlay Pattern" to repeat a phrase (e.g., "EZ Algo") across the chart.
Positioning: Pick vertical/horizontal spots (top, middle, bottom; left, center, right) or try "Randomize Main Position" for a surprise placement.
Appearance: Set a "Background Color" and "Background Opacity" for the watermark’s backdrop.
Cell Size: Adjust "Cell Width (%)" and "Cell Height (%)" to resize the watermark (0 = auto-fit).
Apply & Share: Hit "OK" to save settings, then screenshot or share your branded chart with confidence!
Tips
Use a semi-transparent background (e.g., 50 opacity) to keep the chart readable.
Experiment with "Randomize Main Position" for a dynamic look.
Pair a bold logo with a faint overlay pattern for max branding power.
Credits
Inspired by @KristaKT
thanks for the great ideas!
Enjoy marking your charts with flair and protection! Questions? Drop a comment below.
Indicator

Cash Flow YieldsCash Flow Yields Indicator
This indicator offers a straightforward way to visualize a company’s cash flow metrics—Free Cash Flow (FCF), Operating Cash Flow (OCF), and Capital Expenditures (CapEx)—as yields relative to its market capitalization. With the flexibility to switch between Trailing Twelve Months (TTM) and Quarterly data, it’s perfect for spotting financial efficiency trends at a glance. Values are plotted as dynamic lines with smart color coding and labeled for clarity.
Features:
TTM & Quarterly Data: Toggle between financial periods to suit your analysis.
Color-Coded Lines: Green for positive OCF, teal for positive FCF, and blue for CapEx. Red and maroon kick in when values turn negative.
Yield Perspective: See FCF, OCF, and CapEx as percentages of market cap, making it easy to compare cash flow strength across companies.
Clear Labels: The latest values pop up on the chart, positioned to the right of the last bar.
Simple & Intuitive: No clutter - just clean lines and numbers to help you focus on what matters.
To use it, add it to your chart and toggle between TTM or Quarterly to see trends. FCF should roughly equal OCF minus CapEx. Adjust your view to focus on companies with strong FCF yields for potential opportunities.
This indicator is freely available and open-source on PulseWire for everyone to use. Enjoy! Indicator

Cryptolabs Global Liquidity Cycle Momentum IndicatorCryptolabs Global Liquidity Cycle Momentum Indicator (LMI-BTC)
This open-source indicator combines global central bank liquidity data with Bitcoin price movements to identify medium- to long-term market cycles and momentum phases. It is designed for traders who want to incorporate macroeconomic factors into their Bitcoin analysis.
How It Works
The script calculates a Liquidity Index using balance sheet data from four central banks (USA: ECONOMICS:USCBBS, Japan: FRED:JPNASSETS, China: ECONOMICS:CNCBBS, EU: FRED:ECBASSETSW), augmented by the Dollar Index (TVC:DXY) and Chinese 10-year bond yields (TVC:CN10Y). This index is:
- Logarithmically scaled (math.log) to better represent large values like central bank balances and Bitcoin prices.
- Normalized over a 50-period range to balance fluctuations between minimum and maximum values.
- Compared to prior-year values, with the number of bars dynamically adjusted based on the timeframe (e.g., 252 for 1D, 52 for 1W), to compute percentage changes.
The liquidity change is analyzed using a Chande Momentum Oscillator (CMO) (period: 24) to measure momentum trends. A Weighted Moving Average (WMA) (period: 10) acts as a signal line. The Bitcoin price is also plotted logarithmically to highlight parallels with liquidity cycles.
Usage
Traders can use the indicator to:
- Identify global liquidity cycles influencing Bitcoin price trends, such as expansive or restrictive monetary policies.
- Detect momentum phases: Values above 50 suggest overbought conditions, below -50 indicate oversold conditions.
- Anticipate trend reversals by observing CMO crossovers with the signal line.
It performs best on higher timeframes like daily (1D) or weekly (1W) charts. The visualization includes:
- CMO line (green > 50, red < -50, blue neutral), signal line (white), Bitcoin price (gray).
- Horizontal lines at 50, 0, and -50 for improved readability.
Originality
This indicator stands out from other momentum tools like RSI or basic price analysis due to:
- Unique Data Integration: Combines four central bank datasets, DXY, and CN10Y as macroeconomic proxies for Bitcoin.
- Dynamic Prior-Year Analysis: Calculates liquidity changes relative to historical values, adjustable by timeframe.
- Logarithmic Normalization: Enhances visibility of extreme values, critical for cryptocurrencies and macro data.
This combination offers a rare perspective on the interplay between global liquidity and Bitcoin, unavailable in other open-source scripts.
Settings
- CMO Period: Default 24, adjustable for faster/slower signals.
- Signal WMA: Default 10, for smoothing the CMO line.
- Normalization Window: Default 50 periods, customizable.
Users can modify these parameters in the Pine Editor to tailor the indicator to their strategy.
Note
This script is designed for medium- to long-term analysis, not scalping. For optimal results, combine it with additional analyses (e.g., on-chain data, support/resistance levels). It does not guarantee profits but supports informed decisions based on macroeconomic trends.
Data Sources
- Bitcoin: INDEX:BTCUSD
- Liquidity: ECONOMICS:USCBBS, FRED:JPNASSETS, ECONOMICS:CNCBBS, FRED:ECBASSETSW
- Additional: TVC:DXY, TVC:CN10Y Indicator

Indicator

Indicator

Indicator

Correlation Coefficient Master TableThe Correlation Coefficient Master Table is a comprehensive tool designed to calculate and visualize the correlation coefficient between a selected base asset and multiple other assets over various time periods. It provides traders and analysts with a clear understanding of the relationships between assets, enabling them to analyze trends, diversification opportunities, and market dynamics. You can define key parameters such as the base asset’s data source (e.g., close price), the assets to compare against (up to six symbols), and multiple lookback periods for granular analysis.
The indicator calculates the covariance and normalizes it by the product of the standard deviations. The correlation coefficient ranges from -1 to +1, with +1 indicating a perfect positive relationship, -1 a perfect negative relationship, and 0 no relationship.
You can specify the lookback periods (e.g., 15, 30, 90, or 120 bars) to tailor the calculation to their analysis needs. The results are visualized as both a line plot and a table. The line plot shows the correlation over the primary lookback period (the Chart Length), which can be used to inspect a certain length close up, or could be used in conjunction with the table to provide you with five lookback periods at once for the same base asset. The dynamically created table provides a detailed breakdown of correlation values for up to six target assets across the four user-defined lengths. The table’s cells are formatted with rounded values and color-coded for easy interpretation.
This indicator is ideal for traders, portfolio managers, and market researchers who need an in-depth understanding of asset interdependencies. By providing both the numerical correlation coefficients and their visual representation, users can easily identify patterns, assess diversification strategies, and monitor correlations across multiple timeframes, making it a valuable tool for decision-making.
Indicator

Dynamic Risk-Adjusted Performance Ratios with TableWith this indicator, you have everything you need to monitor and compare the Sharpe ratio, Sortino ratio, and Omega ratio across multiple assets—all in one place. This tool is designed to help save time and improve efficiency by letting you track up to 15 assets simultaneously in a fully customizable table. You can adjust the lookback period to fit your trading strategy and get a clearer picture of how your assets perform over time. Instead of switching between charts, this indicator puts all the critical information you need at your fingertips.
Sharpe Ratio -
Helps evaluate the overall efficiency of investments by comparing the average return to the total risk (measured by the standard deviation of all returns). Essentially, it tells you how much excess return you’re getting for each unit of risk you’re taking. A higher Sharpe ratio means you’re getting better risk-adjusted performance—something you’ll want to aim for in your portfolio.
Sortino Ratio -
Goes a step further by focusing only on downside risk—because let’s face it, no one worries about positive volatility. This ratio is calculated by dividing the average return by the standard deviation of only the negative returns. Perfect for those concerned about avoiding losses rather than chasing extreme gains. It gives you a sharper view of how well your assets are performing relative to the risks you’re trying to avoid.
Omega Ratio -
Offers a unique perspective by comparing the sum of positive returns to the absolute sum of negative returns. It’s a straightforward way to see if your wins outweigh your losses. A higher Omega ratio means your positive returns significantly exceed the downside, which is exactly what you want when building a strong, reliable portfolio.
This indicator is perfect for traders who want to streamline their decision-making process and gain an edge. Bringing together these three critical ratios into a single user-defined table makes it easy to compare and rank assets at a glance. Whether optimizing a portfolio or looking for the best opportunities, this tool helps you stay ahead by focusing on risk-adjusted returns. The customizable lookback period lets you tailor the analysis to fit your unique trading approach, giving you insights that align with your goals. If you’re serious about making data-driven decisions and improving your trading outcomes, this indicator is a game-changer for your toolkit.
Indicator

Fair Value Gap [by Oberlunar]Fair Value Gap
This indicator is designed to identify and display Fair Value Gaps (FVG) on the price chart. Fair Value Gaps are areas between candles where the price lacks continuity, leaving a "gap" that can serve as a reference point for price retracements. These zones are often considered important by traders as they represent market imbalances that tend to be "mitigated" (i.e., filled or tested) over time.
Purpose of Publication
This indicator addresses a common gap in FVG indicators. Most existing FVG indicators do not visually distinguish between mitigated (touched) FVGs and those that remain intact. With this indicator:
Mitigated FVGs are clearly displayed with distinct colors, allowing traders to identify which zones have been partially or fully filled by the price.
Unmitigated FVGs remain prominent, representing potential points of interest.
Key Features
Identification of Fair Value Gaps:
A Bullish FVG (upward gap) forms when the high of the three previous candles (candle -3) is lower than the low of the next candle (candle -1).
A Bearish FVG (downward gap) forms when the low of the three previous candles (candle -3) is higher than the high of the next candle (candle -1).
Dynamic Coloring:
Unmitigated FVGs are highlighted with specific colors: green for Bullish and red for Bearish gaps.
When an FVG is "touched" by the price (i.e., mitigated), the color changes:
Yellow-green for mitigated Bullish FVGs.
Purple for mitigated Bearish FVGs.
Handling Mitigated FVGs:
When an FVG is touched by the price, it is visually updated with a different color.
An option can be enabled to "shrink" the mitigated zone, adjusting the box to reflect the remaining untested portion of the gap.
Customization:
Configure the maximum number of FVGs to display on the chart.
Set specific colors for mitigated and unmitigated FVGs.
Choose whether to automatically shrink mitigated zones.
How to Identify Support and Resistance Levels
Support:
Bullish FVGs represent potential support levels, as they indicate areas where the price might return to seek liquidity or fill the imbalance.
An FVG that is repeatedly touched without being fully filled becomes a significant support zone.
Resistance:
Bearish FVGs represent potential resistance levels, indicating zones where the price might stall or reverse direction.
Why a Repeatedly Mitigated FVG is Significant
When an FVG is touched or mitigated multiple times, it means the market recognizes that area as significant. This can happen for several reasons:
Accumulation or Distribution: Institutional traders may use these zones to accumulate or distribute positions without causing excessive market movement.
Presence of Liquidity: FVGs often represent areas with pending orders (stop-losses, limit orders), and the price revisits these zones to seek liquidity.
Market Equilibrium: When an FVG is repeatedly filled, it indicates the market's attempt to balance a demand-supply imbalance. This makes the zone an important level to monitor for potential breakouts or reversals.
Indicator

Indicator
