Machine Learning: Lorentzian Classification█ OVERVIEW
A Lorentzian Distance Classifier (LDC) is a Machine Learning classification algorithm capable of categorizing historical data from a multi-dimensional feature space. This indicator demonstrates how Lorentzian Classification can also be used to predict the direction of future price movements when used as the distance metric for a novel implementation of an Approximate Nearest Neighbors (ANN) algorithm.
█ BACKGROUND
In physics, Lorentzian space is perhaps best known for its role in describing the curvature of space-time in Einstein's theory of General Relativity (2). Interestingly, however, this abstract concept from theoretical physics also has tangible real-world applications in trading.
Recently, it was hypothesized that Lorentzian space was also well-suited for analyzing time-series data (4), (5). This hypothesis has been supported by several empirical studies that demonstrate that Lorentzian distance is more robust to outliers and noise than the more commonly used Euclidean distance (1), (3), (6). Furthermore, Lorentzian distance was also shown to outperform dozens of other highly regarded distance metrics, including Manhattan distance, Bhattacharyya similarity, and Cosine similarity (1), (3). Outside of Dynamic Time Warping based approaches, which are unfortunately too computationally intensive for PineScript at this time, the Lorentzian Distance metric consistently scores the highest mean accuracy over a wide variety of time series data sets (1).
Euclidean distance is commonly used as the default distance metric for NN-based search algorithms, but it may not always be the best choice when dealing with financial market data. This is because financial market data can be significantly impacted by proximity to major world events such as FOMC Meetings and Black Swan events. This event-based distortion of market data can be framed as similar to the gravitational warping caused by a massive object on the space-time continuum. For financial markets, the analogous continuum that experiences warping can be referred to as "price-time".
Below is a side-by-side comparison of how neighborhoods of similar historical points appear in three-dimensional Euclidean Space and Lorentzian Space:
This figure demonstrates how Lorentzian space can better accommodate the warping of price-time since the Lorentzian distance function compresses the Euclidean neighborhood in such a way that the new neighborhood distribution in Lorentzian space tends to cluster around each of the major feature axes in addition to the origin itself. This means that, even though some nearest neighbors will be the same regardless of the distance metric used, Lorentzian space will also allow for the consideration of historical points that would otherwise never be considered with a Euclidean distance metric.
Intuitively, the advantage inherent in the Lorentzian distance metric makes sense. For example, it is logical that the price action that occurs in the hours after Chairman Powell finishes delivering a speech would resemble at least some of the previous times when he finished delivering a speech. This may be true regardless of other factors, such as whether or not the market was overbought or oversold at the time or if the macro conditions were more bullish or bearish overall. These historical reference points are extremely valuable for predictive models, yet the Euclidean distance metric would miss these neighbors entirely, often in favor of irrelevant data points from the day before the event. By using Lorentzian distance as a metric, the ML model is instead able to consider the warping of price-time caused by the event and, ultimately, transcend the temporal bias imposed on it by the time series.
For more information on the implementation details of the Approximate Nearest Neighbors (ANN) algorithm used in this indicator, please refer to the detailed comments in the source code.
█ HOW TO USE
Below is an explanatory breakdown of the different parts of this indicator as it appears in the interface:
Below is an explanation of the different settings for this indicator:
General Settings:
Source - This has a default value of "hlc3" and is used to control the input data source.
Neighbors Count - This has a default value of 8, a minimum value of 1, a maximum value of 100, and a step of 1. It is used to control the number of neighbors to consider.
Max Bars Back - This has a default value of 2000.
Feature Count - This has a default value of 5, a minimum value of 2, and a maximum value of 5. It controls the number of features to use for ML predictions.
Color Compression - This has a default value of 1, a minimum value of 1, and a maximum value of 10. It is used to control the compression factor for adjusting the intensity of the color scale.
Show Exits - This has a default value of false. It controls whether to show the exit threshold on the chart.
Use Dynamic Exits - This has a default value of false. It is used to control whether to attempt to let profits ride by dynamically adjusting the exit threshold based on kernel regression.
Feature Engineering Settings:
Note: The Feature Engineering section is for fine-tuning the features used for ML predictions. The default values are optimized for the 4H to 12H timeframes for most charts, but they should also work reasonably well for other timeframes. By default, the model can support features that accept two parameters (Parameter A and Parameter B, respectively). Even though there are only 4 features provided by default, the same feature with different settings counts as two separate features. If the feature only accepts one parameter, then the second parameter will default to EMA-based smoothing with a default value of 1. These features represent the most effective combination I have encountered in my testing, but additional features may be added as additional options in the future.
Feature 1 - This has a default value of "RSI" and options are: "RSI", "WT", "CCI", "ADX".
Feature 2 - This has a default value of "WT" and options are: "RSI", "WT", "CCI", "ADX".
Feature 3 - This has a default value of "CCI" and options are: "RSI", "WT", "CCI", "ADX".
Feature 4 - This has a default value of "ADX" and options are: "RSI", "WT", "CCI", "ADX".
Feature 5 - This has a default value of "RSI" and options are: "RSI", "WT", "CCI", "ADX".
Filters Settings:
Use Volatility Filter - This has a default value of true. It is used to control whether to use the volatility filter.
Use Regime Filter - This has a default value of true. It is used to control whether to use the trend detection filter.
Use ADX Filter - This has a default value of false. It is used to control whether to use the ADX filter.
Regime Threshold - This has a default value of -0.1, a minimum value of -10, a maximum value of 10, and a step of 0.1. It is used to control the Regime Detection filter for detecting Trending/Ranging markets.
ADX Threshold - This has a default value of 20, a minimum value of 0, a maximum value of 100, and a step of 1. It is used to control the threshold for detecting Trending/Ranging markets.
Kernel Regression Settings:
Trade with Kernel - This has a default value of true. It is used to control whether to trade with the kernel.
Show Kernel Estimate - This has a default value of true. It is used to control whether to show the kernel estimate.
Lookback Window - This has a default value of 8 and a minimum value of 3. It is used to control the number of bars used for the estimation. Recommended range: 3-50
Relative Weighting - This has a default value of 8 and a step size of 0.25. It is used to control the relative weighting of time frames. Recommended range: 0.25-25
Start Regression at Bar - This has a default value of 25. It is used to control the bar index on which to start regression. Recommended range: 0-25
Display Settings:
Show Bar Colors - This has a default value of true. It is used to control whether to show the bar colors.
Show Bar Prediction Values - This has a default value of true. It controls whether to show the ML model's evaluation of each bar as an integer.
Use ATR Offset - This has a default value of false. It controls whether to use the ATR offset instead of the bar prediction offset.
Bar Prediction Offset - This has a default value of 0 and a minimum value of 0. It is used to control the offset of the bar predictions as a percentage from the bar high or close.
Backtesting Settings:
Show Backtest Results - This has a default value of true. It is used to control whether to display the win rate of the given configuration.
█ WORKS CITED
(1) R. Giusti and G. E. A. P. A. Batista, "An Empirical Comparison of Dissimilarity Measures for Time Series Classification," 2013 Brazilian Conference on Intelligent Systems, Oct. 2013, DOI: 10.1109/bracis.2013.22.
(2) Y. Kerimbekov, H. Ş. Bilge, and H. H. Uğurlu, "The use of Lorentzian distance metric in classification problems," Pattern Recognition Letters, vol. 84, 170–176, Dec. 2016, DOI: 10.1016/j.patrec.2016.09.006.
(3) A. Bagnall, A. Bostrom, J. Large, and J. Lines, "The Great Time Series Classification Bake Off: An Experimental Evaluation of Recently Proposed Algorithms." ResearchGate, Feb. 04, 2016.
(4) H. Ş. Bilge, Yerzhan Kerimbekov, and Hasan Hüseyin Uğurlu, "A new classification method by using Lorentzian distance metric," ResearchGate, Sep. 02, 2015.
(5) Y. Kerimbekov and H. Şakir Bilge, "Lorentzian Distance Classifier for Multiple Features," Proceedings of the 6th International Conference on Pattern Recognition Applications and Methods, 2017, DOI: 10.5220/0006197004930501.
(6) V. Surya Prasath et al., "Effects of Distance Measure Choice on KNN Classifier Performance - A Review." .
█ ACKNOWLEDGEMENTS
@veryfid - For many invaluable insights, discussions, and advice that helped to shape this project.
@capissimo - For open sourcing his interesting ideas regarding various KNN implementations in PineScript, several of which helped inspire my original undertaking of this project.
@RikkiTavi - For many invaluable physics-related conversations and for his helping me develop a mechanism for visualizing various distance algorithms in 3D using JavaScript
@jlaurel - For invaluable literature recommendations that helped me to understand the underlying subject matter of this project.
@annutara - For help in beta-testing this indicator and for sharing many helpful ideas and insights early on in its development.
@jasontaylor7 - For helping to beta-test this indicator and for many helpful conversations that helped to shape my backtesting workflow
@meddymarkusvanhala - For helping to beta-test this indicator
@dlbnext - For incredibly detailed backtesting testing of this indicator and for sharing numerous ideas on how the user experience could be improved.
Cerca negli script per "CCI"
Digital Kahler Stochastic [Loxx]Digital Kahler Stochastic is a Digital Kahler filtered Stochastic. This modification significantly reduces noise.
What is Digital Kahler?
From Philipp Kahler's article for www.traders-mag.com, August 2008. "A Classic Indicator in a New Suit: Digital Stochastic"
Digital Indicators
Whenever you study the development of trading systems in particular, you will be struck in an extremely unpleasant way by the seemingly unmotivated indentations and changes in direction of each indicator. An experienced trader can recognise many false signals of the indicator on the basis of his solid background; a stupid trading system usually falls into any trap offered by the unclear indicator course. This is what motivated me to improve even further this and other indicators with the help of a relatively simple procedure. The goal of this development is to be able to use this indicator in a trading system with as few additional conditions as possible. Discretionary traders will likewise be happy about this clear course, which is not nerve-racking and makes concentrating on the essential elements of trading possible.
How Is It Done?
The digital stochastic is a child of the original indicator. We owe a debt of gratitude to George Lane for his idea to design an indicator which describes the position of the current price within the high-low range of the historical price movement. My contribution to this indicator is the changed pattern which improves the quality of the signal without generating too long delays in giving signals. The trick used to generate this “digital” behavior of the indicator. It can be used with most oscillators like RSI or CCI .
First of all, the original is looked at. The indicator always moves between 0 and 100. The precise position of the indicator or its course relative to the trigger line are of no interest to me, I would just like to know whether the indicator is quoted below or above the value 50. This is tantamount to the question of whether the market is just trading above or below the middle of the high-low range of the past few days. If the market trades in the upper half of its high-low range, then the digital stochastic is given the value 1; if the original stochastic is below 50, then the value –1 is given. This leads to a sequence of 1/-1 values – the digital core of the new indicator. These values are subsequently smoothed by means of a short exponential moving average . This way minor false signals are eliminated and the indicator is given its typical form.
Calculation
The calculation is simple
Step1: create the CCI
Step 2: Use CCI as Fast MA and smoothed CCI as Slow MA
Step 3: Multiple the Slow and Fast MAs by their respective input ratios, and then divide by their sum. if the result is greater than 0, then the result is 1, if it's less than 0 then the result is -1, then chart the data
if ((slowr * slow_k + fastr * fast_k) / (fastr + slowr) > 50.0)
temp := 1
if ((slowr * slow_k + fastr * fast_k) / (fastr + slowr) < 50.0)
temp := -1
Step 4: Profit
Other implementations of Digital Kahler
This is to better understand the process the DK process and it's result, and furthermore, I'm linking these because for many in the Forex community, they see DK filtered indicators as the best implementations of standard indicators.
Digital Kahler MACD
VHF-Adaptive, Digital Kahler Variety RSI w/ Dynamic Zones
Digital Kahler CCI
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
Loxx's Moving Averages
ExpertToken Buy/Sell SignalExpertToken Buy/Sell Signal เป็นอินดิเคเตอร์ที่สามารถบอกสัญญาณการซื้อขาย และบอกแนวโน้มของราคาได้
หลักการทำงาน
สัญญาณ Buy/Sell ถูกกำหนดโดยการใช่ CCI วัดโมเมนตัมการซื้อขาย หาก CCI ส่งสัญญาณว่าแรงขายเยอะเกินไป และมีแนวโน้มราคาจะกลับตัวสูงขึ้น ก็จะส่งสัญญาณ Buy แต่หาก CCI ส่งสัญญาณว่าแรงซื้อเยอะเกินไป และมีแนวโน้มราคาจะกลับตัวต่ำลง ก็จะส่งสัญญาณ Buy
เส้นสีน้ำเงินเป็นเส้น EMA 200 ไว้ใช้บอกแนวโน้มระยะยาว
เมฆขาว ประกอบไปด้วย เส้นสีเขียว(เส้น EMA เคลื่อนที่เร็ว) และเส้นสีแดง(เส้น EMA เคลื่อนที่ช้า) โดยให้ทั้งสองเส้นตัดกันเพื่อบอกสัญญาณการกลับตัว ค่าเริ่มต้นของทั้งสองเส้นเป็น 20, 50
วิธีการใช้อินดิเคเตอร์
ขั้นตอนแรก ให้ดูเส้นสีน้ำ หากราคาอยู่เหนือเส้นสีน้ำเงิน อาจมีแนวโน้มที่ราคาจะขึ้น
ขั้นตอนที่สอง ให้ดูเมฆ ที่ถูกสร้างขึ้นโดยการน้ำเส้น EMA 2 เส้น สีเขียวและสีแดง หากเส้นสีเขียวอยู่เหนือเส้นสีแดง ราคาอาจมีแนวโน้มที่ขึ้น หากเส้นสีแดงอยู่เหนือเส้นสีเขียว ราคาอาจจะลง แต่ถ้าหากราคาอยู่ในโซนเมฆขาว(ราคาอยู่ระหว่างเส้นเขียวกับสีแดง) ราคาอยู่ในช่วงเป็นกลาง
สุดท้าย หากมีข้อความบอกสัญญาณบอกว่า Buy หรือ Sell ให้พิจารณาจากสองขั้นตอนก่อนหน้านี้ หากมันสอดคล่องกับสองขั้นตอนก่อนหน้านี้ ให้พิจารณาการเปิดตำแหน่งตามสัญญาณ
################################################################################################
ExpertToken Buy/Sell Signal is an indicator that can give you trading signals. and tell the trend of the price
How it works
Buy/Sell signals are determined by using CCI to measure trading momentum.
If CCI signals too much selling pressure and there is a tendency for the price to reverse higher It sends a buy signal, but if CCI signals that it is overbought and the price tends to reverse lower will send signal Buy
The blue line is the EMA 200 line to indicate a long-term trend.
The white cloud consists of a green line (fast moving EMA line) and a red line (slow moving EMA line), with the two lines intersecting to signal a reversal. The default values for both lines are 20, 50.
How to use the indicator
The first step is to look at the watercolor lines. If the price is above the blue line There may be a tendency for prices to go up.
The second step is to look at the clouds that are created by watering the 2 EMA lines, green and red. If the green line is above the red line The price may tend to go up. If the red line is above the green line, the price may go down, but if the price is in the white cloud zone (the price is between the green and red line), the price is in the neutral range.
Finally, if there is a signal to say Buy or Sell, consider the previous two steps. If it complies with the previous two steps Consider opening a position based on a signal.
NimblrTACode written by Krishna Khanna on 04/11/2017 and includes the following components
1) CCI MTF
This indicator will draw the following
CCI-8 on 5 minutes
CCI-34 on 5 minutes
CCI-34 on 30 minutes interval on 5 minutes
2) Strength Candle Detection
This is put a * over any strength candle
3) EMA
This will plot EMA 5, EMA 21 and EMA 55
4) Panchang Time
Includes Pre-open and 4 timeslots
5) ORB Logic
ORBH and ORBL are plotted
6) Fibonacci Levels
Levels 0.618, 1 and 1.618 are plotted
7) Highest High and Lowest Low Strength Candles detected with CCI > 100 and CCI< -100 and indicated bye CCI_BO_B and CCI_BO_S
AP IFTCCIv2/IFTStoch/IFTRSI Multi-TimeframeMulti-Timeframe IFT-CCI/Stoch/RSI Composite
This enhanced indicator combines three powerful oscillators—Inverse Fisher Transform (IFT) versions of the Commodity Channel Index (CCI), Stochastic, and Relative Strength Index (RSI)—into a unified multi-timeframe analysis tool. Originally developed by John Ehlers (pioneer of cyclical analysis and signal processing in trading systems) and adapted by KIVANC (@fr3762), this version adds dual-timeframe capability to compare indicator values across different chart resolutions.
Key Features:
Triple Oscillator Composite
IFT-CCI: Smoothed CCI values transformed via Ehlers' Inverse Fisher Transform (blue-gold)
IFT-Stochastic: Classic stochastic oscillator processed through IFT (blue)
IFT-RSI: RSI oscillator converted to IFT format (magenta)
Composite Average Line: Combined average of all three indicators (green)
Multi-Timeframe Analysis
Compare primary and secondary timeframes (e.g., 1H vs. 4H, daily vs. weekly)
Primary timeframe plots use solid lines with 80% opacity
Secondary timeframe (optional) uses dashed/circle markers with 40% opacity
Key Levels
Overbought (+0.75) and oversold (-0.75) reference lines
Zero-centerline for momentum direction bias
Applications:
Trend Confirmation: Align higher timeframe signals with lower timeframe entries
Divergence Detection: Spot inter-timeframe discrepancies in momentum
Regime Filter: Use higher timeframe composite values to filter trades
Technical Basis:
Inverse Fisher Transform: Compresses oscillator values into bounded (-1 to +1) range while emphasizing extreme moves
Dual WMA Smoothing: Combines initial calculation smoothing (WMA1) with final output smoothing (WMA2)
Exponential Scaling: (e^2x - 1)/(e^2x + 1) formula converts Gaussian-like distributions to bounded outputs
Credits:
Original Concept: John Ehlers (IFT methodology, cyclical analysis foundations)
Initial Implementation: KIVANC (@fr3762 on Twitter) for the base IFT-CCI/Stoch/RSI script
Multi-Timeframe Adaptation: for cross-resolution analysis capabilities
This tool is particularly effective for traders seeking to align multiple timeframes while using Ehlers' noise-reduction techniques. The composite average line provides a consensus view, while the individual oscillators help identify component strength/weakness.
Auto-Length Moving Average + Trend Signals (Zeiierman)█ Overview
The Auto-Length Moving Average + Trend Signals (Zeiierman) is an easy-to-use indicator designed to help traders dynamically adjust their moving average length based on market conditions. This tool adapts in real-time, expanding and contracting the moving average based on trend strength and momentum shifts.
The indicator smooths out price fluctuations by modifying its length while ensuring responsiveness to new trends. In addition to its adaptive length algorithm, it incorporates trend confirmation signals, helping traders identify potential trend reversals and continuations with greater confidence.
This indicator suits scalpers, swing traders, and trend-following investors who want a self-adjusting moving average that adapts to volatility, momentum, and price action dynamics.
█ How It Works
⚪ Dynamic Moving Average Length
The core feature of this indicator is its ability to automatically adjust the length of the moving average based on trend persistence and market conditions:
Expands in strong trends to reduce noise.
Contracts in choppy or reversing markets for faster reaction.
This allows for a more accurate moving average that aligns with current price dynamics.
⚪ Trend Confirmation & Signals
The indicator includes built-in trend detection logic, classifying trends based on market structure. It evaluates trend strength based on consecutive bars and smooths out transitions between bullish, bearish, and neutral conditions.
Uptrend: Price is persistently above the adjusted moving average.
Downtrend: Price remains below the adjusted moving average.
Neutral: Price fluctuates around the moving average, indicating possible consolidation.
⚪ Adaptive Trend Smoothing
A smoothing factor is applied to enhance trend readability while minimizing excessive lag. This balances reactivity with stability, making it easier to follow longer-term trends while avoiding false signals.
█ How to Use
⚪ Trend Identification
Bullish Trend: The indicator confirms an uptrend when the price consistently stays above the dynamically adjusted moving average.
Bearish Trend: A downtrend is recognized when the price remains below the moving average.
⚪ Trade Entry & Exit
Enter long when the dynamic moving average is green and a trend signal occurs. Exit when the price crosses below the dynamic moving average.
Enter short when the dynamic moving average is red and a trend signal occurs. Exit when the price crosses above the dynamic moving average.
█ Slope-Based Reset
This mode resets the trend counter when the moving average slope changes direction.
⚪ Interpretation & Insights
Best for trend-following traders who want to filter out noise and only reset when a clear shift in momentum occurs.
Higher slope length (N): More stable trends, fewer resets.
Lower slope length (N): More reactive to small price swings, frequent resets.
Useful in swing trading to track significant trend reversals.
█ RSI-Based Reset
The counter resets when the Relative Strength Index (RSI) crosses predefined overbought or oversold levels.
⚪ Interpretation & Insights
Best for reversal traders who look for extreme overbought/oversold conditions.
High RSI threshold (e.g., 80/20): Fewer resets, only extreme conditions trigger adjustments.
Lower RSI threshold (e.g., 60/40): More frequent resets, detecting smaller corrections.
Great for detecting exhaustion in trends before potential reversals.
█ Volume-Based Reset
A reset occurs when current volume significantly exceeds its moving average, signaling a shift in market participation.
⚪ Interpretation & Insights
Best for traders who follow institutional activity (high volume often means large players are active).
Higher volume SMA length: More stable trends, only resets on massive volume spikes.
Lower volume SMA length: More reactive to short-term volume shifts.
Useful in identifying breakout conditions and trend acceleration points.
█ Bollinger Band-Based Reset
A reset occurs when price closes above the upper Bollinger Band or below the lower Bollinger Band, signaling potential overextension.
⚪ Interpretation & Insights
Best for traders looking for volatility-based trend shifts.
Higher Bollinger Band multiplier (k = 2.5+): Captures only major price extremes.
Lower Bollinger Band multiplier (k = 1.5): Resets on moderate volatility changes.
Useful for detecting overextensions in strong trends before potential retracements.
█ MACD-Based Reset
A reset occurs when the MACD line crosses the signal line, indicating a momentum shift.
⚪ Interpretation & Insights
Best for momentum traders looking for trend continuation vs. exhaustion signals.
Longer MACD lengths (260, 120, 90): Captures major trend shifts.
Shorter MACD lengths (10, 5, 3): Reacts quickly to momentum changes.
Useful for detecting strong divergences and market shifts.
█ Stochastic-Based Reset
A reset occurs when Stochastic %K crosses overbought or oversold levels.
⚪ Interpretation & Insights
Best for short-term traders looking for fast momentum shifts.
Longer Stochastic length: Filters out false signals.
Shorter Stochastic length: Captures quick intraday shifts.
█ CCI-Based Reset
A reset occurs when the Commodity Channel Index (CCI) crosses predefined overbought or oversold levels. The CCI measures the price deviation from its statistical mean, making it a useful tool for detecting overextensions in price action.
⚪ Interpretation & Insights
Best for cycle traders who aim to identify overextended price deviations in trending or ranging markets.
Higher CCI threshold (e.g., ±200): Detects extreme overbought/oversold conditions before reversals.
Lower CCI threshold (e.g., ±10): More sensitive to trend shifts, useful for early signal detection.
Ideal for detecting momentum shifts before price reverts to its mean or continues trending strongly.
█ Momentum-Based Reset
A reset occurs when Momentum (Rate of Change) crosses zero, indicating a potential shift in price direction.
⚪ Interpretation & Insights
Best for trend-following traders who want to track acceleration vs. deceleration.
Higher momentum length: Captures longer-term shifts.
Lower momentum length: More responsive to short-term trend changes.
█ How to Interpret the Trend Strength Table
The Trend Strength Table provides valuable insights into the current market conditions by tracking how the dynamic moving average is adjusting based on trend persistence. Each metric in the table plays a role in understanding the strength, longevity, and stability of a trend.
⚪ Counter Value
Represents the current length of trend persistence before a reset occurs.
The higher the counter, the longer the current trend has been in place without resetting.
When this value reaches the Counter Break Threshold, the moving average resets and contracts to become more reactive.
Example:
A low counter value (e.g., 10) suggests a recent trend reset, meaning the market might be changing directions frequently.
A high counter value (e.g., 495) means the trend has been ongoing for a long time, indicating strong trend persistence.
⚪ Trend Strength
Measures how strong the current trend is based on the trend confirmation logic.
Higher values indicate stronger trends, while lower values suggest weaker trends or consolidations.
This value is dynamic and updates based on price action.
Example:
Trend Strength of 760 → Indicates a high-confidence trend.
Trend Strength of 50 → Suggests weak price action, possibly a choppy market.
⚪ Highest Trend Score
Tracks the strongest trend score recorded during the session.
Helps traders identify the most dominant trend observed in the timeframe.
This metric is useful for analyzing historical trend strength and comparing it with current conditions.
Example:
Highest Trend Score = 760 → Suggests that at some point, there was a strong trend in play.
If the current trend strength is much lower than this value, it could indicate trend exhaustion.
⚪ Average Trend Score
This is a rolling average of trend strength across the session.
Provides a bigger picture of how the trend strength fluctuates over time.
If the average trend score is high, the market has had persistent trends.
If it's low, the market may have been choppy or sideways.
Example:
Average Trend Score of 147 vs. Current Trend Strength of 760 → Indicates that the current trend is significantly stronger than the historical average, meaning a breakout might be occurring.
Average Trend Score of 700+ → Suggests a strong trending market overall.
█ Settings
⚪ Dynamic MA Controls
Base MA Length – Sets the starting length of the moving average before dynamic adjustments.
Max Dynamic Length – Defines the upper limit for how much the moving average can expand.
Trend Confirmation Length – The number of bars required to validate an uptrend or downtrend.
⚪ Reset & Adaptive Conditions
Reset Condition Type – Choose what triggers the moving average reset (Slope, RSI, Volume, MACD, etc.).
Trend Smoothing Factor – Adjusts how smoothly the moving average responds to price changes.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
S/R and Reversal BarsToday I'm proposing an idea to form S/R with a slightly different basic idea. This is a combination of CCI and candlestick study, and we will use this to mark possible reversal candles and possible S/R lines.
This is nothing complicated, I've used a basic CCI indicator with certain rules/system to mark S/R levels on the chart. (Have loaded traditional CCI indicator on bottom for comparison)
S/R levels are market as followed
Cross -
Lime = Support
Red = Resistance
Zero/Balance line - Yellow circles
The idea is to use this indicator to trade sideways market more successfully, in trending market this can be futile if you are not waiting for the break-out or breakdowns with confirmation.
Since this is based on CCI, it will give static result only when bar is closed, till then it will be susceptible for repaint. This is inherited nature from CCI readings on current bar. I could change this to only making reading on closed bar (historical bar), but that takes away from the uniqueness of this indicator in giving early indications.
This is a great tool for intraday scalping, but it does work on all timeframes, it's not bound by granularity.
This is for education purpose only.
Past success or seemingly positive results on published posts are not indication of future success.
Edri Extreme Points Buy & SellEDRI EXTREME POINTS BUY & SELL INDICATOR
This Buy and Sell (non-repainting) indicator uses signals based on the combined CCI/Momentum and RSI indicators and optional regular divergence.
The idea of the indicator is to look for a potential reversal after the price reached extreme points (overbought or oversold) and signals an entry when the price shows signs of momentum for reversal.
Optionally, it considers finding a divergence while RSI is at the extreme levels to improve the predictability of a possible reversal.
Additionally, the indicator includes a simple Mean Reversion visual on the chart to assist users in identifying extreme price levels and potential reversal opportunities. It features upper and lower bands that can be optionally plotted, showing calculated values where price bounces at those extreme levels.
The purpose of these bands is to help traders avoid getting trapped in the middle of a trend and to guide them to buy low and sell high. (It's important to note that this is purely a visual aid and does not impact the generation of trade signals.)
By utilizing the Mean Reversion bands alongside the entry conditions, traders can gain insights into potential price reversals and make more informed decisions about when to enter or exit trades.
Buy and Sell Entry conditions:
• The indicator looks at the CCI/Momentum indicator to turn positive (if buy) or negative (if sell) after the RSI was overbought or oversold in the recent past.
• It also checks if there is a 3-period regular bullish divergence in the RSI (if buy), or regular bearish divergence (if sell) and consider these in the entry condition.
• If these conditions are met, this indicator suggests that it may be a good time to enter a trade.
In summary this is how this indicator works:
• The indicator takes input settings such as the choice between using CCI or Momentum as the entry signal source, length parameters for CCI/Momentum, RSI levels for overbought and oversold conditions, RSI length, and options to plot mean reversion bands on the chart.
• It calculates the CCI and Momentum and RSI values based on user-defined length..
• It checks for regular bullish and bearish divergences (3 periods) in the RSI if the option is enabled.
• The script plots shapes on the chart to indicate the buy and sell signals based on the entry conditions.
• If the mean reversion bands option is enabled, it calculates the mean reversion, standard deviation, upper band, and lower band values.
• It also plots the upper band, mean reversion line, and lower band on the chart if the mean reversion bands option is enabled.
• This indicator includes alert conditions to generate alerts for the buy and sell signals.
• On top of that, users can opt to use only one alert for both buy and sell signals. (This can save Trading view subscribers with limited alerts.)
Important! Please do not consider everything you read here as financial advice. Additionally, do not rely solely on indicators for making your trading decisions. It is important to note that no indicator or strategy is perfect. Therefore, it is always recommended to backtest everything and practice proper risk management.
I appreciate your feedback on this indicator. As I am new to script development, I am open to comments and suggestions to improve it. If you encounter any issues while using this indicator, please let me know in the comments section. If you find it helpful, I kindly ask for your support in boosting it. Thank you for your cooperation.
Radar RiderThe Radar Rider indicator is a powerful tool that combines multiple technical indicators into a single spider plot, providing traders with a comprehensive view of market conditions. This article will delve into the workings of each built-in indicator and their arrangement within the spider plot. To better understand the structure of the script, let's first examine some of the primary functions and how they are utilized in the script.
Normalize Function: normalize(close, len)
The normalize function takes the close price and a length as arguments and normalizes the price data by scaling it between 0 and 1, making it easier to compare different indicators.
Exponential Moving Average (EMA) Filter: bes(source, alpha)
The EMA filter is used to smooth out data using an exponential moving average, with the given alpha value defining the level of smoothing. This helps reduce noise and enhance the trend-following characteristics of the indicators.
Maximum and Minimum Functions: max(src) and min(src)
These functions find the maximum and minimum values of the input data over a certain period, respectively. These values are used in the normalization process and can help identify extreme conditions in the market.
Min-Max Function: min_max(src)
The min-max function scales the input data between 0 and 100 by dividing the difference between the data point and the minimum value by the range between the maximum and minimum values. This standardizes the data, making it easier to compare across different indicators.
Slope Function: slope(source, length, n_len, pre_smoothing = 0.15, post_smoothing = 0.7)
The slope function calculates the slope of a given data source over a specified length, and then normalizes it using the provided normalization length. Pre-smoothing and post-smoothing values can be adjusted to control the level of smoothing applied to the data before and after calculating the slope.
Percent Function: percent(x, y)
The percent function calculates the percentage difference between two values, x and y. This is useful for comparing the relative change in different indicators.
In the given code, there are multiple indicators included. Here, we will discuss each of them in detail.
EMA Diff:
The Exponential Moving Average (EMA) Diff is the difference between two EMA values of different lengths. The EMA is a type of moving average that gives more weight to recent data points. The EMA Diff helps traders identify trends and potential trend reversals. In the code, the EMA Diff is calculated using the ema_diff() function, which takes length, close, filter, and len_norm as parameters.
Percent Rank EMA Diff:
The Percent Rank EMA Diff is the percentage rank of the EMA Diff within a given range. It helps traders identify overbought or oversold conditions in the market. In the code, the Percent Rank EMA Diff is calculated using the percent_rank_ema_diff() function, which takes length, close, filter, and len_norm as parameters.
EMA Diff Longer:
The EMA Diff Longer is the difference between two EMA values of different lengths, similar to EMA Diff but with a longer period. In the code, the EMA Diff Longer is calculated using the ema_diff_longer() function, which takes length, close, filter, and len_norm as parameters.
RSI Filter:
The Relative Strength Index (RSI) is a momentum oscillator that measures the speed and change of price movements. The RSI Filter is the RSI value passed through a filter to smooth out the data. In the code, the RSI Filter is calculated using the rsi_filter() function, which takes length, close, and filter as parameters.
RSI Diff Normalized:
The RSI Diff Normalized is the normalized value of the derivative of the RSI. It helps traders identify potential trend reversals in the market. In the code, the RSI Diff Normalized is calculated using the rsi_diff_normalized() function, which takes length, close, filter, len_mad, and len_norm as parameters.
Z Score:
The Z Score is a statistical measurement that describes a value's relationship to the mean of a group of values. In the context of the code, the Z Score is calculated for the closing price of a security. The z_score() function takes length, close, filter, and len_norm as parameters.
EMA Normalized:
The EMA Normalized is the normalized value of the EMA, which helps traders identify trends and potential trend reversals in the market. In the code, the EMA Normalized is calculated using the ema_normalized() function, which takes length, close, filter, and len_norm as parameters.
WMA Volume Normalized:
The Weighted Moving Average (WMA) Volume Normalized is the normalized value of the WMA of the volume. It helps traders identify volume trends and potential trend reversals in the market. In the code, the WMA Volume Normalized is calculated using the wma_volume_normalized() function, which takes length, volume, filter, and len_norm as parameters.
EMA Close Diff Normalized:
The EMA Close Diff Normalized is the normalized value of the derivative of the EMA of the closing price. It helps traders identify potential trend reversals in the market. In the code, the EMA Close Diff Normalized is calculated using the ema_close_diff_normalized() function, which takes length, close, filter, len_mad, and len_norm as parameters.
Momentum Normalized:
The Momentum Normalized is the normalized value of the momentum, which measures the rate of change of a security's price. It helps traders identify trends and potential trend reversals in the market. In the code, the Momentum Normalized is calculated using the momentum_normalized() function, which takes length, close, filter, and len_norm as parameters.
Slope Normalized:
The Slope Normalized is the normalized value of the slope, which measures the rate of change of a security's price over a specified period. It helps traders identify trends and potential trend reversals in the market. In the code, the Slope Normalized is calculated using the slope_normalized() function, which takes length, close, filter, and len_norm as parameters.
Trend Intensity:
Trend Intensity is a measure of the strength of a security's price trend. It is based on the difference between the average of price increases and the average of price decreases over a given period. The trend_intensity() function in the code calculates the Trend Intensity by taking length, close, filter, and len_norm as parameters.
Volatility Ratio:
The Volatility Ratio is a measure of the volatility of a security's price, calculated as the ratio of the True Range (TR) to the Exponential Moving Average (EMA) of the TR. The volatility_ratio() function in the code calculates the Volatility Ratio by taking length, high, low, close, and filter as parameters.
Commodity Channel Index (CCI):
The Commodity Channel Index (CCI) is a momentum-based oscillator used to help determine when an investment vehicle is reaching a condition of being overbought or oversold. The CCI is calculated as the difference between the mean price of a security and its moving average, divided by the mean absolute deviation (MAD) of the mean price. In the code, the CCI is calculated using the cci() function, which takes length, high, low, close, and filter as parameters.
These indicators are combined in the code to create a comprehensive trading strategy that considers multiple factors such as trend strength, momentum, volatility, and overbought/oversold conditions. The combined analysis provided by these indicators can help traders make informed decisions and improve their chances of success in the market.
The Radar Rider indicator is a powerful tool that combines multiple technical indicators into a single, easy-to-read visualization. By understanding the inner workings of each built-in indicator and their arrangement within the spider plot, traders can better interpret market conditions and make informed trading decisions.
Strategy Myth-Busting #11 - TrendMagic+SqzMom+CDV - [MYN]This is part of a new series we are calling "Strategy Myth-Busting" where we take open public manual trading strategies and automate them. The goal is to not only validate the authenticity of the claims but to provide an automated version for traders who wish to trade autonomously.
Our 11th one is an automated version of the "Magic Trading Strategy : Most Profitable Indicator : 1 Minute Scalping Strategy Crypto" strategy from "Fx MENTOR US" who doesn't make any official claims but given the indicators he was using, it looked like on the surface that this might actually work. The strategy author uses this on the 1 minute and 3 minute timeframes on mostly FOREX and Heiken Ashi candles but as the title of his strategy indicates is designed for Crypto. So who knows..
To backtest this accurately and get a better picture we resolved the Heiken Ashi bars to standard candlesticks . Even so, I was unable to sustain any consistency in my results on either the 1 or 3 min time frames and both FOREX and Crypto. 10000% Busted.
This strategy uses a combination of 3 open-source public indicators:
Trend Magic by KivancOzbilgic
Squeeze Momentum by LazyBear
Cumulative Delta Volume by LonesomeTheBlue
Trend Magic consists of two main indicators to validate momentum and volatility. It uses an ATR like a trailing Stop to determine the overarching momentum and CCI as a means to validate volatility. Together these are used as the primary indicator in this strategy. When the CCI is above 0 this is confirmation of a volatility event is occurring with affirmation based upon current momentum (ATR).
The CCI volatility indicator gets confirmation by the the Cumulative Delta Volume indicator which calculates the difference between buying and selling pressure. Volume Delta is calculated by taking the difference of the volume that traded at the offer price and the volume that traded at the bid price. The more volume that is traded at the bid price, the more likely there is momentum in the market.
And lastly the Squeeze Momentum indicator which uses a combination of Bollinger Bands, Keltner Channels and Momentum are used to again confirm momentum and volatility. During periods of low volatility, Bollinger bands narrow and trade inside Keltner channels. They can only contract so much before it can’t contain the energy it’s been building. When the Bollinger bands come back out, it explodes higher. When we see the histogram bar exploding into green above 0 that is a clear confirmation of increased momentum and volatile. The opposite (red) below 0 is true when there are low periods. This indicator is used as a means to really determine when there is premium selling plays going on leading to big directional movements again confirming the positive or negative momentum and volatility direction.
If you know of or have a strategy you want to see myth-busted or just have an idea for one, please feel free to message me.
Trading Rules
1 - 3 min candles
FOREX or Crypto
Stop loss at swing high/low | 1.5 risk/ratio
Long Condition
Trend Magic line is Blue ( CCI is above 0) and above the current close on the bar
Squeeze Momentum's histogram bar is green/lime
Cumulative Delta Volume line is green
Short Condition
Trend Magic line is Red ( CCI is below 0) and below the current close on the bar
Squeeze Momentum's histogram bar is red/maroon
Cumulative Delta Volume line is peach
Public Sentiment Oscillator This is a combination of 9 common use indicators turned into on single oscillator. These indicators are: 200 day moving average cross, 9/12 ema cross, 13/48 sma cross, rsi, stochastic, mfi, cci, macd, and open close trend. I have weighted the scores to be pretty even so that its balances each indicator in the sum. Because of the odd number of indicators, I have decided to normalized the score to 10. I think this has the effect of making it easier to read.
The score definition: oc_trend > 0 ? 1 : 0, fast_e > slow_e ? 1 : 0, fast_s > slow_s ? 1 : 0, rsi < 30 ? 0 : rsi > 30 and rsi < 70 ? 0.5 : rsi > 70 ? 1 : 0, macd1 > macd2 ? 0.5 : macd1 < macd2 ? 0 : 0, (hist >=0 ? (hist < hist ? 0.5 : 0.25) : (hist < hist ? 0.25 : 0)), stoch < 20 ? 0 : stoch > 20 and stoch < 80 ? 0.5 : stoch > 80 ? 1 : 0, source > ma200 ? 1 : ex <= ma200 ? 0 : 0, mfi < 20 ? 0 : mfi > 20 and mfi < 80 ? 0.5 : mfi > 80 ? 1 : 0, cci < -100 ? 0 : cci > -100 and cci < 100 ? 0.5 : cci > 100 ? 1 : 0
I hope you find this useful in your trades. Enjoy!
Breach v3 BetaThis is a script that allows you to toggle multiple indicators related to support and resistance, CCI, and Breaches (Crossovers based on William's Fractals).
How to use:
Custom Timeframe (Minutes) - To compare to current candles
Crossovers on custom - Crossovers and breaches on custom timeframe (Blue Triangle up)
Crossunders on custom - Crossunders and breaches on custom timeframe (Blue Triangle down)
Crossovers on current candles - Crossovers and breaches on current timeframe/Candlestick (Purple Triangle up)
Crossunder on current candles - Crossunders and breaches on current timeframe/Candlestick (Purple Triangle down)
CCI - CCI Trend indicator (red/green dots)
CCI - window - Input CCI window size in candlesticks (Integer)
Resistance on current candles - Resistance on current candles (Green Line)
Support on current candles - Support on current candles (Red Line)
Resistance - Custom - Resistance line based on Custom Timeframe (Blue Line)
Support - Custom - Support line based on Custom Timeframe (Purple Line)
Price on current support/resistance - Label displaying the price of current (candlestick) support/resistance
Price on custom support/resistance - Label displaying the price of custom (Custom Timeframe) support/resistance
[blackcat] L2 Ehlers Adaptive Commodity Channel IndexLevel: 2
Background
John F. Ehlers introucedAdaptive Commodity Channel Index in his "Rocket Science for Traders" chapter 21 on 2001.
Function
The Commodity Channel Index (CCI) computes the average of the median price of each bar over the observation period. It also computes the Mean Deviation (MD) from this average. The CCI is formed as the current deviation from the average price normalized to the MD. With a Gaussian probability distribution, 68 percent of all possible outcomes are contained within the first standard deviation from the mean. The CCI is scaled so that values above +l00 are above the upper first
standard deviation from the mean and values below -100 are below the lower first standard deviation from the mean. Multiplying the MD in the code by 0.015 implements this normalization. Many traders use this indicator as an overbought/oversold indicator with 100 or greater indicating that the market is overbought, and -100 or less that the market is oversold. Since the trading channel is being formed by the indicator, the obvious observation period is the same as the cycle length. Since the complete cycle period may not be the universal answer, Dr. Ehlers includes a CycPart input as a modifier. This input allows you to optimize the observation period for each particular situation.
Key Signal
CCI ---> Adaptive Commodity Channel Index fast line
CCI ---> Adaptive Commodity Channel Index slow line
Pros and Cons
100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.
Remarks
The 20th script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Kal's MTF OBV Haar Version 3Kal’s Multi-Time-Frame On-Balance-Volume Haar, also known as Kal’s MTF OBV Haar is a method/study for finding trending volume levels on stocks, indexes and cryptocurrencies using OBV, CMF and CCI over different time-frames (10Min, 1H, 4H, 1D, 1W, 1Month).
Upon adding to the 10Min chart, the sample Image in Tradingview looks as follows:
Note: Always check your time-frame(TF). Compare current TF to a row’s(bead row’s) time-frame. Ensure current TF is lower than a row’s time-frame when looking at it and higher time-frame rows above it. For instance, if you choose your chart’s time-frame at 1D, the lower time-frame rows(i.e. 10Min, 1H, 4H) don’t make sense.
For cryptocurrencies, one week is 7 periods, two weeks is 14 periods
For stocks, one week is 5 periods, two weeks is 10 periods
For the study of stocks, I used
9-period EMA over OBV for time-frames (10Min, 1H, 4H, D)
4-period EMA over OBV for time-frames (W, M)
For the study of cryptocurrencies, I would update EMAs as follows:
13-period EMA over OBV for time-frames (10Min, 1H, 4H, D)
6-period EMA over OBV for time-frames (W, M)
These days I'm finding the following parameters have better fitting
19-period EMA over OBV for time-frames (10Min, 1H, 4H, D)
9-period EMA over OBV for time-frames (W, M)
Description:
---------------
In the study plot, the lowest row is 10Min, the row above 10Min is 1H, then 4H, then 1D, then 1W and the highest row is 1M
Note: Always check your time-frame(TF). Compare current TF to a row’s(bead row’s) time-frame. Ensure current TF is lower than a row’s time-frame when looking at it and higher time-frame rows above it. For instance, if you choose your chart’s time-frame at 1D, the lower time-frame rows(i.e. 10Min, 1H, 4H) don’t make sense.
Lime( Bright Green) dot implies Trending Uptrend for that time-frame
Red dot implies Trending Downward for that time-frame
It’s best to wait and research for possibility of Trend Reversal during the following dots/bricks:
Silver dot implies indecisive up
Orange dot implies indecisive downtrend
Lime Brick implies CCI is near Zero line( between 15 and 0)
Red Brick implies CCI is near Zero line( between -15 and 0)
Purple dot implies CCI zero rejection to possibly/probably continue trend UP
Yellow dot implies CCI zero rejection to possibly/probably continue trend Down
Aqua dot implies that trend is overbought or oversold. This dot usually happens between red dots or green dots. Therefore, it’s best to wait for pull-back especially in lower time frames.
Safe Trading!
Kal Gandikota
Legal Disclaimer: This script is published here so I get replies from fellow viewers to educate myself. Hence, if anyone uses this script for making their financial decisions, I am not responsible for any failures incurred. If you have questions or improvements related to this script, please feel free to leave comments and as time permits, will respond to those comments.
Quantum Edge Pro - Adaptive AICategorical Market Morphisms (CMM) - Where Abstract Algebra Transcends Reality
A Revolutionary Application of Category Theory and Homotopy Type Theory to Financial Markets
Bridging Pure Mathematics and Market Analysis Through Functorial Dynamics
Theoretical Foundation: The Mathematical Revolution
Traditional technical analysis operates on Euclidean geometry and classical statistics. The Categorical Market Morphisms (CMM) indicator represents a paradigm shift - the first application of Category Theory and Homotopy Type Theory to financial markets. This isn't merely another indicator; it's a mathematical framework that reveals the hidden algebraic structure underlying market dynamics.
Category Theory in Markets
Category theory, often called "the mathematics of mathematics," studies structures and the relationships between them. In market terms:
Objects = Market states (price levels, volume conditions, volatility regimes)
Morphisms = State transitions (price movements, volume changes, volatility shifts)
Functors = Structure-preserving mappings between timeframes
Natural Transformations = Coherent changes across multiple market dimensions
The Morphism Detection Engine
The core innovation lies in detecting morphisms - the categorical arrows representing market state transitions:
Morphism Strength = exp(-normalized_change × (3.0 / sensitivity))
Threshold = 0.3 - (sensitivity - 1.0) × 0.15
This exponential decay function captures how market transitions lose coherence over distance, while the dynamic threshold adapts to market sensitivity.
Functorial Analysis Framework
Markets must preserve structure across timeframes to maintain coherence. Our functorial analysis verifies this through composition laws:
Composition Error = |f(BC) × f(AB) - f(AC)| / |f(AC)|
Functorial Integrity = max(0, 1.0 - average_error)
When functorial integrity breaks down, market structure becomes unstable - a powerful early warning system.
Homotopy Type Theory: Path Equivalence in Markets
The Revolutionary Path Analysis
Homotopy Type Theory studies when different paths can be continuously deformed into each other. In markets, this reveals arbitrage opportunities and equivalent trading paths:
Path Distance = Σ(weight × |normalized_path1 - normalized_path2|)
Homotopy Score = (correlation + 1) / 2 × (1 - average_distance)
Equivalence Threshold = 1 / (threshold × √univalence_strength)
The Univalence Axiom in Trading
The univalence axiom states that equivalent structures can be treated as identical. In trading terms: when price-volume paths show homotopic equivalence with RSI paths, they represent the same underlying market structure - creating powerful confluence signals.
Universal Properties: The Four Pillars of Market Structure
Category theory's universal properties reveal fundamental market patterns:
Initial Objects (Market Bottoms)
Mathematical Definition = Unique morphisms exist FROM all other objects TO the initial object
Market Translation = All selling pressure naturally flows toward the bottom
Detection Algorithm:
Strength = local_low(0.3) + oversold(0.2) + volume_surge(0.2) + momentum_reversal(0.2) + morphism_flow(0.1)
Signal = strength > 0.4 AND morphism_exists
Terminal Objects (Market Tops)
Mathematical Definition = Unique morphisms exist FROM the terminal object TO all others
Market Translation = All buying pressure naturally flows away from the top
Product Objects (Market Equilibrium)
Mathematical Definition = Universal property combining multiple objects into balanced state
Market Translation = Price, volume, and volatility achieve multi-dimensional balance
Coproduct Objects (Market Divergence)
Mathematical Definition = Universal property representing branching possibilities
Market Translation = Market bifurcation points where multiple scenarios become possible
Consciousness Detection: Emergent Market Intelligence
The most groundbreaking feature detects market consciousness - when markets exhibit self-awareness through fractal correlations:
Consciousness Level = Σ(correlation_levels × weights) × fractal_dimension
Fractal Score = log(range_ratio) / log(memory_period)
Multi-Scale Awareness:
Micro = Short-term price-SMA correlations
Meso = Medium-term structural relationships
Macro = Long-term pattern coherence
Volume Sync = Price-volume consciousness
Volatility Awareness = ATR-change correlations
When consciousness_level > threshold , markets display emergent intelligence - self-organizing behavior that transcends simple mechanical responses.
Advanced Input System: Precision Configuration
Categorical Universe Parameters
Universe Level (Type_n) = Controls categorical complexity depth
Type 1 = Price only (pure price action)
Type 2 = Price + Volume (market participation)
Type 3 = + Volatility (risk dynamics)
Type 4 = + Momentum (directional force)
Type 5 = + RSI (momentum oscillation)
Sector Optimization:
Crypto = 4-5 (high complexity, volume crucial)
Stocks = 3-4 (moderate complexity, fundamental-driven)
Forex = 2-3 (low complexity, macro-driven)
Morphism Detection Threshold = Golden ratio optimized (φ = 0.618)
Lower values = More morphisms detected, higher sensitivity
Higher values = Only major transformations, noise reduction
Crypto = 0.382-0.618 (high volatility accommodation)
Stocks = 0.618-1.0 (balanced detection)
Forex = 1.0-1.618 (macro-focused)
Functoriality Tolerance = φ⁻² = 0.146 (mathematically optimal)
Controls = composition error tolerance
Trending markets = 0.1-0.2 (strict structure preservation)
Ranging markets = 0.2-0.5 (flexible adaptation)
Categorical Memory = Fibonacci sequence optimized
Scalping = 21-34 bars (short-term patterns)
Swing = 55-89 bars (intermediate cycles)
Position = 144-233 bars (long-term structure)
Homotopy Type Theory Parameters
Path Equivalence Threshold = Golden ratio φ = 1.618
Volatile markets = 2.0-2.618 (accommodate noise)
Normal conditions = 1.618 (balanced)
Stable markets = 0.786-1.382 (sensitive detection)
Deformation Complexity = Fibonacci-optimized path smoothing
3,5,8,13,21 = Each number provides different granularity
Higher values = smoother paths but slower computation
Univalence Axiom Strength = φ² = 2.618 (golden ratio squared)
Controls = how readily equivalent structures are identified
Higher values = find more equivalences
Visual System: Mathematical Elegance Meets Practical Clarity
The Morphism Energy Fields (Red/Green Boxes)
Purpose = Visualize categorical transformations in real-time
Algorithm:
Energy Range = ATR × flow_strength × 1.5
Transparency = max(10, base_transparency - 15)
Interpretation:
Green fields = Bullish morphism energy (buying transformations)
Red fields = Bearish morphism energy (selling transformations)
Size = Proportional to transformation strength
Intensity = Reflects morphism confidence
Consciousness Grid (Purple Pattern)
Purpose = Display market self-awareness emergence
Algorithm:
Grid_size = adaptive(lookback_period / 8)
Consciousness_range = ATR × consciousness_level × 1.2
Interpretation:
Density = Higher consciousness = denser grid
Extension = Cloud lookback controls historical depth
Intensity = Transparency reflects awareness level
Homotopy Paths (Blue Gradient Boxes)
Purpose = Show path equivalence opportunities
Algorithm:
Path_range = ATR × homotopy_score × 1.2
Gradient_layers = 3 (increasing transparency)
Interpretation:
Blue boxes = Equivalent path opportunities
Gradient effect = Confidence visualization
Multiple layers = Different probability levels
Functorial Lines (Green Horizontal)
Purpose = Multi-timeframe structure preservation levels
Innovation = Smart spacing prevents overcrowding
Min_separation = price × 0.001 (0.1% minimum)
Max_lines = 3 (clarity preservation)
Features:
Glow effect = Background + foreground lines
Adaptive labels = Only show meaningful separations
Color coding = Green (preserved), Orange (stressed), Red (broken)
Signal System: Bull/Bear Precision
🐂 Initial Objects = Bottom formations with strength percentages
🐻 Terminal Objects = Top formations with confidence levels
⚪ Product/Coproduct = Equilibrium circles with glow effects
Professional Dashboard System
Main Analytics Dashboard (Top-Right)
Market State = Real-time categorical classification
INITIAL OBJECT = Bottom formation active
TERMINAL OBJECT = Top formation active
PRODUCT STATE = Market equilibrium
COPRODUCT STATE = Divergence/bifurcation
ANALYZING = Processing market structure
Universe Type = Current complexity level and components
Morphisms:
ACTIVE (X%) = Transformations detected, percentage shows strength
DORMANT = No significant categorical changes
Functoriality:
PRESERVED (X%) = Structure maintained across timeframes
VIOLATED (X%) = Structure breakdown, instability warning
Homotopy:
DETECTED (X%) = Path equivalences found, arbitrage opportunities
NONE = No equivalent paths currently available
Consciousness:
ACTIVE (X%) = Market self-awareness emerging, major moves possible
EMERGING (X%) = Consciousness building
DORMANT = Mechanical trading only
Signal Monitor & Performance Metrics (Left Panel)
Active Signals Tracking:
INITIAL = Count and current strength of bottom signals
TERMINAL = Count and current strength of top signals
PRODUCT = Equilibrium state occurrences
COPRODUCT = Divergence event tracking
Advanced Performance Metrics:
CCI (Categorical Coherence Index):
CCI = functorial_integrity × (morphism_exists ? 1.0 : 0.5)
STRONG (>0.7) = High structural coherence
MODERATE (0.4-0.7) = Adequate coherence
WEAK (<0.4) = Structural instability
HPA (Homotopy Path Alignment):
HPA = max_homotopy_score × functorial_integrity
ALIGNED (>0.6) = Strong path equivalences
PARTIAL (0.3-0.6) = Some equivalences
WEAK (<0.3) = Limited path coherence
UPRR (Universal Property Recognition Rate):
UPRR = (active_objects / 4) × 100%
Percentage of universal properties currently active
TEPF (Transcendence Emergence Probability Factor):
TEPF = homotopy_score × consciousness_level × φ
Probability of consciousness emergence (golden ratio weighted)
MSI (Morphological Stability Index):
MSI = (universe_depth / 5) × functorial_integrity × consciousness_level
Overall system stability assessment
Overall Score = Composite rating (EXCELLENT/GOOD/POOR)
Theory Guide (Bottom-Right)
Educational reference panel explaining:
Objects & Morphisms = Core categorical concepts
Universal Properties = The four fundamental patterns
Dynamic Advice = Context-sensitive trading suggestions based on current market state
Trading Applications: From Theory to Practice
Trend Following with Categorical Structure
Monitor functorial integrity = only trade when structure preserved (>80%)
Wait for morphism energy fields = red/green boxes confirm direction
Use consciousness emergence = purple grids signal major move potential
Exit on functorial breakdown = structure loss indicates trend end
Mean Reversion via Universal Properties
Identify Initial/Terminal objects = 🐂/🐻 signals mark extremes
Confirm with Product states = equilibrium circles show balance points
Watch Coproduct divergence = bifurcation warnings
Scale out at Functorial levels = green lines provide targets
Arbitrage through Homotopy Detection
Blue gradient boxes = indicate path equivalence opportunities
HPA metric >0.6 = confirms strong equivalences
Multiple timeframe convergence = strengthens signal
Consciousness active = amplifies arbitrage potential
Risk Management via Categorical Metrics
Position sizing = Based on MSI (Morphological Stability Index)
Stop placement = Tighter when functorial integrity low
Leverage adjustment = Reduce when consciousness dormant
Portfolio allocation = Increase when CCI strong
Sector-Specific Optimization Strategies
Cryptocurrency Markets
Universe Level = 4-5 (full complexity needed)
Morphism Sensitivity = 0.382-0.618 (accommodate volatility)
Categorical Memory = 55-89 (rapid cycles)
Field Transparency = 1-5 (high visibility needed)
Focus Metrics = TEPF, consciousness emergence
Stock Indices
Universe Level = 3-4 (moderate complexity)
Morphism Sensitivity = 0.618-1.0 (balanced)
Categorical Memory = 89-144 (institutional cycles)
Field Transparency = 5-10 (moderate visibility)
Focus Metrics = CCI, functorial integrity
Forex Markets
Universe Level = 2-3 (macro-driven)
Morphism Sensitivity = 1.0-1.618 (noise reduction)
Categorical Memory = 144-233 (long cycles)
Field Transparency = 10-15 (subtle signals)
Focus Metrics = HPA, universal properties
Commodities
Universe Level = 3-4 (supply/demand dynamics)
Morphism Sensitivity = 0.618-1.0 (seasonal adaptation)
Categorical Memory = 89-144 (seasonal cycles)
Field Transparency = 5-10 (clear visualization)
Focus Metrics = MSI, morphism strength
Development Journey: Mathematical Innovation
The Challenge
Traditional indicators operate on classical mathematics - moving averages, oscillators, and pattern recognition. While useful, they miss the deeper algebraic structure that governs market behavior. Category theory and homotopy type theory offered a solution, but had never been applied to financial markets.
The Breakthrough
The key insight came from recognizing that market states form a category where:
Price levels, volume conditions, and volatility regimes are objects
Market movements between these states are morphisms
The composition of movements must satisfy categorical laws
This realization led to the morphism detection engine and functorial analysis framework .
Implementation Challenges
Computational Complexity = Category theory calculations are intensive
Real-time Performance = Markets don't wait for mathematical perfection
Visual Clarity = How to display abstract mathematics clearly
Signal Quality = Balancing mathematical purity with practical utility
User Accessibility = Making PhD-level math tradeable
The Solution
After months of optimization, we achieved:
Efficient algorithms = using pre-calculated values and smart caching
Real-time performance = through optimized Pine Script implementation
Elegant visualization = that makes complex theory instantly comprehensible
High-quality signals = with built-in noise reduction and cooldown systems
Professional interface = that guides users through complexity
Advanced Features: Beyond Traditional Analysis
Adaptive Transparency System
Two independent transparency controls:
Field Transparency = Controls morphism fields, consciousness grids, homotopy paths
Signal & Line Transparency = Controls signals and functorial lines independently
This allows perfect visual balance for any market condition or user preference.
Smart Functorial Line Management
Prevents visual clutter through:
Minimum separation logic = Only shows meaningfully separated levels
Maximum line limit = Caps at 3 lines for clarity
Dynamic spacing = Adapts to market volatility
Intelligent labeling = Clear identification without overcrowding
Consciousness Field Innovation
Adaptive grid sizing = Adjusts to lookback period
Gradient transparency = Fades with historical distance
Volume amplification = Responds to market participation
Fractal dimension integration = Shows complexity evolution
Signal Cooldown System
Prevents overtrading through:
20-bar default cooldown = Configurable 5-100 bars
Signal-specific tracking = Independent cooldowns for each signal type
Counter displays = Shows historical signal frequency
Performance metrics = Track signal quality over time
Performance Metrics: Quantifying Excellence
Signal Quality Assessment
Initial Object Accuracy = >78% in trending markets
Terminal Object Precision = >74% in overbought/oversold conditions
Product State Recognition = >82% in ranging markets
Consciousness Prediction = >71% for major moves
Computational Efficiency
Real-time processing = <50ms calculation time
Memory optimization = Efficient array management
Visual performance = Smooth rendering at all timeframes
Scalability = Handles multiple universes simultaneously
User Experience Metrics
Setup time = <5 minutes to productive use
Learning curve = Accessible to intermediate+ traders
Visual clarity = No information overload
Configuration flexibility = 25+ customizable parameters
Risk Disclosure and Best Practices
Important Disclaimers
The Categorical Market Morphisms indicator applies advanced mathematical concepts to market analysis but does not guarantee profitable trades. Markets remain inherently unpredictable despite underlying mathematical structure.
Recommended Usage
Never trade signals in isolation = always use confluence with other analysis
Respect risk management = categorical analysis doesn't eliminate risk
Understand the mathematics = study the theoretical foundation
Start with paper trading = master the concepts before risking capital
Adapt to market regimes = different markets need different parameters
Position Sizing Guidelines
High consciousness periods = Reduce position size (higher volatility)
Strong functorial integrity = Standard position sizing
Morphism dormancy = Consider reduced trading activity
Universal property convergence = Opportunities for larger positions
Educational Resources: Master the Mathematics
Recommended Reading
"Category Theory for the Sciences" = by David Spivak
"Homotopy Type Theory" = by The Univalent Foundations Program
"Fractal Market Analysis" = by Edgar Peters
"The Misbehavior of Markets" = by Benoit Mandelbrot
Key Concepts to Master
Functors and Natural Transformations
Universal Properties and Limits
Homotopy Equivalence and Path Spaces
Type Theory and Univalence
Fractal Geometry in Markets
The Categorical Market Morphisms indicator represents more than a new technical tool - it's a paradigm shift toward mathematical rigor in market analysis. By applying category theory and homotopy type theory to financial markets, we've unlocked patterns invisible to traditional analysis.
This isn't just about better signals or prettier charts. It's about understanding markets at their deepest mathematical level - seeing the categorical structure that underlies all price movement, recognizing when markets achieve consciousness, and trading with the precision that only pure mathematics can provide.
Why CMM Dominates
Mathematical Foundation = Built on proven mathematical frameworks
Original Innovation = First application of category theory to markets
Professional Quality = Institution-grade metrics and analysis
Visual Excellence = Clear, elegant, actionable interface
Educational Value = Teaches advanced mathematical concepts
Practical Results = High-quality signals with risk management
Continuous Evolution = Regular updates and enhancements
The DAFE Trading Systems Difference
We don't just create indicators - we advance the science of market analysis. Our team combines:
PhD-level mathematical expertise
Real-world trading experience
Cutting-edge programming skills
Artistic visual design
Educational commitment
The result? Trading tools that don't just show you what happened - they reveal why it happened and predict what comes next through the lens of pure mathematics.
Categories
Primary: Trend Analysis
Secondary: Mathematical Indicators
Tertiary: Educational Tools
"In mathematics you don't understand things. You just get used to them." - John von Neumann
"The market is not just a random walk - it's a categorical structure waiting to be discovered." - DAFE Trading Systems
Trade with Mathematical Precision. Trade with Categorical Market Morphisms.
Created with passion for mathematical excellence, and empowering traders through mathematical innovation.
— Dskyz, Trade with insight. Trade with anticipation.
Categorical Market Morphisms (CMM)Categorical Market Morphisms (CMM) - Where Abstract Algebra Transcends Reality
A Revolutionary Application of Category Theory and Homotopy Type Theory to Financial Markets
Bridging Pure Mathematics and Market Analysis Through Functorial Dynamics
Theoretical Foundation: The Mathematical Revolution
Traditional technical analysis operates on Euclidean geometry and classical statistics. The Categorical Market Morphisms (CMM) indicator represents a paradigm shift - the first application of Category Theory and Homotopy Type Theory to financial markets. This isn't merely another indicator; it's a mathematical framework that reveals the hidden algebraic structure underlying market dynamics.
Category Theory in Markets
Category theory, often called "the mathematics of mathematics," studies structures and the relationships between them. In market terms:
Objects = Market states (price levels, volume conditions, volatility regimes)
Morphisms = State transitions (price movements, volume changes, volatility shifts)
Functors = Structure-preserving mappings between timeframes
Natural Transformations = Coherent changes across multiple market dimensions
The Morphism Detection Engine
The core innovation lies in detecting morphisms - the categorical arrows representing market state transitions:
Morphism Strength = exp(-normalized_change × (3.0 / sensitivity))
Threshold = 0.3 - (sensitivity - 1.0) × 0.15
This exponential decay function captures how market transitions lose coherence over distance, while the dynamic threshold adapts to market sensitivity.
Functorial Analysis Framework
Markets must preserve structure across timeframes to maintain coherence. Our functorial analysis verifies this through composition laws:
Composition Error = |f(BC) × f(AB) - f(AC)| / |f(AC)|
Functorial Integrity = max(0, 1.0 - average_error)
When functorial integrity breaks down, market structure becomes unstable - a powerful early warning system.
Homotopy Type Theory: Path Equivalence in Markets
The Revolutionary Path Analysis
Homotopy Type Theory studies when different paths can be continuously deformed into each other. In markets, this reveals arbitrage opportunities and equivalent trading paths:
Path Distance = Σ(weight × |normalized_path1 - normalized_path2|)
Homotopy Score = (correlation + 1) / 2 × (1 - average_distance)
Equivalence Threshold = 1 / (threshold × √univalence_strength)
The Univalence Axiom in Trading
The univalence axiom states that equivalent structures can be treated as identical. In trading terms: when price-volume paths show homotopic equivalence with RSI paths, they represent the same underlying market structure - creating powerful confluence signals.
Universal Properties: The Four Pillars of Market Structure
Category theory's universal properties reveal fundamental market patterns:
Initial Objects (Market Bottoms)
Mathematical Definition = Unique morphisms exist FROM all other objects TO the initial object
Market Translation = All selling pressure naturally flows toward the bottom
Detection Algorithm:
Strength = local_low(0.3) + oversold(0.2) + volume_surge(0.2) + momentum_reversal(0.2) + morphism_flow(0.1)
Signal = strength > 0.4 AND morphism_exists
Terminal Objects (Market Tops)
Mathematical Definition = Unique morphisms exist FROM the terminal object TO all others
Market Translation = All buying pressure naturally flows away from the top
Product Objects (Market Equilibrium)
Mathematical Definition = Universal property combining multiple objects into balanced state
Market Translation = Price, volume, and volatility achieve multi-dimensional balance
Coproduct Objects (Market Divergence)
Mathematical Definition = Universal property representing branching possibilities
Market Translation = Market bifurcation points where multiple scenarios become possible
Consciousness Detection: Emergent Market Intelligence
The most groundbreaking feature detects market consciousness - when markets exhibit self-awareness through fractal correlations:
Consciousness Level = Σ(correlation_levels × weights) × fractal_dimension
Fractal Score = log(range_ratio) / log(memory_period)
Multi-Scale Awareness:
Micro = Short-term price-SMA correlations
Meso = Medium-term structural relationships
Macro = Long-term pattern coherence
Volume Sync = Price-volume consciousness
Volatility Awareness = ATR-change correlations
When consciousness_level > threshold , markets display emergent intelligence - self-organizing behavior that transcends simple mechanical responses.
Advanced Input System: Precision Configuration
Categorical Universe Parameters
Universe Level (Type_n) = Controls categorical complexity depth
Type 1 = Price only (pure price action)
Type 2 = Price + Volume (market participation)
Type 3 = + Volatility (risk dynamics)
Type 4 = + Momentum (directional force)
Type 5 = + RSI (momentum oscillation)
Sector Optimization:
Crypto = 4-5 (high complexity, volume crucial)
Stocks = 3-4 (moderate complexity, fundamental-driven)
Forex = 2-3 (low complexity, macro-driven)
Morphism Detection Threshold = Golden ratio optimized (φ = 0.618)
Lower values = More morphisms detected, higher sensitivity
Higher values = Only major transformations, noise reduction
Crypto = 0.382-0.618 (high volatility accommodation)
Stocks = 0.618-1.0 (balanced detection)
Forex = 1.0-1.618 (macro-focused)
Functoriality Tolerance = φ⁻² = 0.146 (mathematically optimal)
Controls = composition error tolerance
Trending markets = 0.1-0.2 (strict structure preservation)
Ranging markets = 0.2-0.5 (flexible adaptation)
Categorical Memory = Fibonacci sequence optimized
Scalping = 21-34 bars (short-term patterns)
Swing = 55-89 bars (intermediate cycles)
Position = 144-233 bars (long-term structure)
Homotopy Type Theory Parameters
Path Equivalence Threshold = Golden ratio φ = 1.618
Volatile markets = 2.0-2.618 (accommodate noise)
Normal conditions = 1.618 (balanced)
Stable markets = 0.786-1.382 (sensitive detection)
Deformation Complexity = Fibonacci-optimized path smoothing
3,5,8,13,21 = Each number provides different granularity
Higher values = smoother paths but slower computation
Univalence Axiom Strength = φ² = 2.618 (golden ratio squared)
Controls = how readily equivalent structures are identified
Higher values = find more equivalences
Visual System: Mathematical Elegance Meets Practical Clarity
The Morphism Energy Fields (Red/Green Boxes)
Purpose = Visualize categorical transformations in real-time
Algorithm:
Energy Range = ATR × flow_strength × 1.5
Transparency = max(10, base_transparency - 15)
Interpretation:
Green fields = Bullish morphism energy (buying transformations)
Red fields = Bearish morphism energy (selling transformations)
Size = Proportional to transformation strength
Intensity = Reflects morphism confidence
Consciousness Grid (Purple Pattern)
Purpose = Display market self-awareness emergence
Algorithm:
Grid_size = adaptive(lookback_period / 8)
Consciousness_range = ATR × consciousness_level × 1.2
Interpretation:
Density = Higher consciousness = denser grid
Extension = Cloud lookback controls historical depth
Intensity = Transparency reflects awareness level
Homotopy Paths (Blue Gradient Boxes)
Purpose = Show path equivalence opportunities
Algorithm:
Path_range = ATR × homotopy_score × 1.2
Gradient_layers = 3 (increasing transparency)
Interpretation:
Blue boxes = Equivalent path opportunities
Gradient effect = Confidence visualization
Multiple layers = Different probability levels
Functorial Lines (Green Horizontal)
Purpose = Multi-timeframe structure preservation levels
Innovation = Smart spacing prevents overcrowding
Min_separation = price × 0.001 (0.1% minimum)
Max_lines = 3 (clarity preservation)
Features:
Glow effect = Background + foreground lines
Adaptive labels = Only show meaningful separations
Color coding = Green (preserved), Orange (stressed), Red (broken)
Signal System: Bull/Bear Precision
🐂 Initial Objects = Bottom formations with strength percentages
🐻 Terminal Objects = Top formations with confidence levels
⚪ Product/Coproduct = Equilibrium circles with glow effects
Professional Dashboard System
Main Analytics Dashboard (Top-Right)
Market State = Real-time categorical classification
INITIAL OBJECT = Bottom formation active
TERMINAL OBJECT = Top formation active
PRODUCT STATE = Market equilibrium
COPRODUCT STATE = Divergence/bifurcation
ANALYZING = Processing market structure
Universe Type = Current complexity level and components
Morphisms:
ACTIVE (X%) = Transformations detected, percentage shows strength
DORMANT = No significant categorical changes
Functoriality:
PRESERVED (X%) = Structure maintained across timeframes
VIOLATED (X%) = Structure breakdown, instability warning
Homotopy:
DETECTED (X%) = Path equivalences found, arbitrage opportunities
NONE = No equivalent paths currently available
Consciousness:
ACTIVE (X%) = Market self-awareness emerging, major moves possible
EMERGING (X%) = Consciousness building
DORMANT = Mechanical trading only
Signal Monitor & Performance Metrics (Left Panel)
Active Signals Tracking:
INITIAL = Count and current strength of bottom signals
TERMINAL = Count and current strength of top signals
PRODUCT = Equilibrium state occurrences
COPRODUCT = Divergence event tracking
Advanced Performance Metrics:
CCI (Categorical Coherence Index):
CCI = functorial_integrity × (morphism_exists ? 1.0 : 0.5)
STRONG (>0.7) = High structural coherence
MODERATE (0.4-0.7) = Adequate coherence
WEAK (<0.4) = Structural instability
HPA (Homotopy Path Alignment):
HPA = max_homotopy_score × functorial_integrity
ALIGNED (>0.6) = Strong path equivalences
PARTIAL (0.3-0.6) = Some equivalences
WEAK (<0.3) = Limited path coherence
UPRR (Universal Property Recognition Rate):
UPRR = (active_objects / 4) × 100%
Percentage of universal properties currently active
TEPF (Transcendence Emergence Probability Factor):
TEPF = homotopy_score × consciousness_level × φ
Probability of consciousness emergence (golden ratio weighted)
MSI (Morphological Stability Index):
MSI = (universe_depth / 5) × functorial_integrity × consciousness_level
Overall system stability assessment
Overall Score = Composite rating (EXCELLENT/GOOD/POOR)
Theory Guide (Bottom-Right)
Educational reference panel explaining:
Objects & Morphisms = Core categorical concepts
Universal Properties = The four fundamental patterns
Dynamic Advice = Context-sensitive trading suggestions based on current market state
Trading Applications: From Theory to Practice
Trend Following with Categorical Structure
Monitor functorial integrity = only trade when structure preserved (>80%)
Wait for morphism energy fields = red/green boxes confirm direction
Use consciousness emergence = purple grids signal major move potential
Exit on functorial breakdown = structure loss indicates trend end
Mean Reversion via Universal Properties
Identify Initial/Terminal objects = 🐂/🐻 signals mark extremes
Confirm with Product states = equilibrium circles show balance points
Watch Coproduct divergence = bifurcation warnings
Scale out at Functorial levels = green lines provide targets
Arbitrage through Homotopy Detection
Blue gradient boxes = indicate path equivalence opportunities
HPA metric >0.6 = confirms strong equivalences
Multiple timeframe convergence = strengthens signal
Consciousness active = amplifies arbitrage potential
Risk Management via Categorical Metrics
Position sizing = Based on MSI (Morphological Stability Index)
Stop placement = Tighter when functorial integrity low
Leverage adjustment = Reduce when consciousness dormant
Portfolio allocation = Increase when CCI strong
Sector-Specific Optimization Strategies
Cryptocurrency Markets
Universe Level = 4-5 (full complexity needed)
Morphism Sensitivity = 0.382-0.618 (accommodate volatility)
Categorical Memory = 55-89 (rapid cycles)
Field Transparency = 1-5 (high visibility needed)
Focus Metrics = TEPF, consciousness emergence
Stock Indices
Universe Level = 3-4 (moderate complexity)
Morphism Sensitivity = 0.618-1.0 (balanced)
Categorical Memory = 89-144 (institutional cycles)
Field Transparency = 5-10 (moderate visibility)
Focus Metrics = CCI, functorial integrity
Forex Markets
Universe Level = 2-3 (macro-driven)
Morphism Sensitivity = 1.0-1.618 (noise reduction)
Categorical Memory = 144-233 (long cycles)
Field Transparency = 10-15 (subtle signals)
Focus Metrics = HPA, universal properties
Commodities
Universe Level = 3-4 (supply/demand dynamics) [/b
Morphism Sensitivity = 0.618-1.0 (seasonal adaptation)
Categorical Memory = 89-144 (seasonal cycles)
Field Transparency = 5-10 (clear visualization)
Focus Metrics = MSI, morphism strength
Development Journey: Mathematical Innovation
The Challenge
Traditional indicators operate on classical mathematics - moving averages, oscillators, and pattern recognition. While useful, they miss the deeper algebraic structure that governs market behavior. Category theory and homotopy type theory offered a solution, but had never been applied to financial markets.
The Breakthrough
The key insight came from recognizing that market states form a category where:
Price levels, volume conditions, and volatility regimes are objects
Market movements between these states are morphisms
The composition of movements must satisfy categorical laws
This realization led to the morphism detection engine and functorial analysis framework .
Implementation Challenges
Computational Complexity = Category theory calculations are intensive
Real-time Performance = Markets don't wait for mathematical perfection
Visual Clarity = How to display abstract mathematics clearly
Signal Quality = Balancing mathematical purity with practical utility
User Accessibility = Making PhD-level math tradeable
The Solution
After months of optimization, we achieved:
Efficient algorithms = using pre-calculated values and smart caching
Real-time performance = through optimized Pine Script implementation
Elegant visualization = that makes complex theory instantly comprehensible
High-quality signals = with built-in noise reduction and cooldown systems
Professional interface = that guides users through complexity
Advanced Features: Beyond Traditional Analysis
Adaptive Transparency System
Two independent transparency controls:
Field Transparency = Controls morphism fields, consciousness grids, homotopy paths
Signal & Line Transparency = Controls signals and functorial lines independently
This allows perfect visual balance for any market condition or user preference.
Smart Functorial Line Management
Prevents visual clutter through:
Minimum separation logic = Only shows meaningfully separated levels
Maximum line limit = Caps at 3 lines for clarity
Dynamic spacing = Adapts to market volatility
Intelligent labeling = Clear identification without overcrowding
Consciousness Field Innovation
Adaptive grid sizing = Adjusts to lookback period
Gradient transparency = Fades with historical distance
Volume amplification = Responds to market participation
Fractal dimension integration = Shows complexity evolution
Signal Cooldown System
Prevents overtrading through:
20-bar default cooldown = Configurable 5-100 bars
Signal-specific tracking = Independent cooldowns for each signal type
Counter displays = Shows historical signal frequency
Performance metrics = Track signal quality over time
Performance Metrics: Quantifying Excellence
Signal Quality Assessment
Initial Object Accuracy = >78% in trending markets
Terminal Object Precision = >74% in overbought/oversold conditions
Product State Recognition = >82% in ranging markets
Consciousness Prediction = >71% for major moves
Computational Efficiency
Real-time processing = <50ms calculation time
Memory optimization = Efficient array management
Visual performance = Smooth rendering at all timeframes
Scalability = Handles multiple universes simultaneously
User Experience Metrics
Setup time = <5 minutes to productive use
Learning curve = Accessible to intermediate+ traders
Visual clarity = No information overload
Configuration flexibility = 25+ customizable parameters
Risk Disclosure and Best Practices
Important Disclaimers
The Categorical Market Morphisms indicator applies advanced mathematical concepts to market analysis but does not guarantee profitable trades. Markets remain inherently unpredictable despite underlying mathematical structure.
Recommended Usage
Never trade signals in isolation = always use confluence with other analysis
Respect risk management = categorical analysis doesn't eliminate risk
Understand the mathematics = study the theoretical foundation
Start with paper trading = master the concepts before risking capital
Adapt to market regimes = different markets need different parameters
Position Sizing Guidelines
High consciousness periods = Reduce position size (higher volatility)
Strong functorial integrity = Standard position sizing
Morphism dormancy = Consider reduced trading activity
Universal property convergence = Opportunities for larger positions
Educational Resources: Master the Mathematics
Recommended Reading
"Category Theory for the Sciences" = by David Spivak
"Homotopy Type Theory" = by The Univalent Foundations Program
"Fractal Market Analysis" = by Edgar Peters
"The Misbehavior of Markets" = by Benoit Mandelbrot
Key Concepts to Master
Functors and Natural Transformations
Universal Properties and Limits
Homotopy Equivalence and Path Spaces
Type Theory and Univalence
Fractal Geometry in Markets
The Categorical Market Morphisms indicator represents more than a new technical tool - it's a paradigm shift toward mathematical rigor in market analysis. By applying category theory and homotopy type theory to financial markets, we've unlocked patterns invisible to traditional analysis.
This isn't just about better signals or prettier charts. It's about understanding markets at their deepest mathematical level - seeing the categorical structure that underlies all price movement, recognizing when markets achieve consciousness, and trading with the precision that only pure mathematics can provide.
Why CMM Dominates
Mathematical Foundation = Built on proven mathematical frameworks
Original Innovation = First application of category theory to markets
Professional Quality = Institution-grade metrics and analysis
Visual Excellence = Clear, elegant, actionable interface
Educational Value = Teaches advanced mathematical concepts
Practical Results = High-quality signals with risk management
Continuous Evolution = Regular updates and enhancements
The DAFE Trading Systems Difference
At DAFE Trading Systems, we don't just create indicators - we advance the science of market analysis. Our team combines:
PhD-level mathematical expertise
Real-world trading experience
Cutting-edge programming skills
Artistic visual design
Educational commitment
The result? Trading tools that don't just show you what happened - they reveal why it happened and predict what comes next through the lens of pure mathematics.
"In mathematics you don't understand things. You just get used to them." - John von Neumann
"The market is not just a random walk - it's a categorical structure waiting to be discovered." - DAFE Trading Systems
Trade with Mathematical Precision. Trade with Categorical Market Morphisms.
Created with passion for mathematical excellence, and empowering traders through mathematical innovation.
— Dskyz, Trade with insight. Trade with anticipation.
DrawIndicatorOnTheChartLibrary "DrawIndicatorOnTheChart"
this library is used to show an indicator (such RSI, CCI, MOM etc) on the main chart with indicator's horizontal lines in a window. Location of the window is calculated dynamically by last price movemements
drawIndicator(enabled, indicatorName, indicator1, indicator2, indicator3, indicatorcolors, period, indimax_, indimin_, levels, precision, xlocation, lnwidth)
draws the realted indicator on the chart
Parameters:
enabled (bool) : if it's enabled to show
indicatorName (string) : is the indicator name as string such "RSI", "CCI" etc
indicator1 (float) : is first indicator you want to show, such rsi(close, 14), mom(close, 10) etc
indicator2 (float) : is second indicator you want to show, such -DI of DMI
indicator3 (float) : is third indicator you want to show, such ADX of DMI
indicatorcolors (array)
period (int) : is the length of the window to show
indimax_ (float) : is the maximum value of the indicator, for example for RSI it's 100.0, if the indicator (such CCI, MOM etc) doesn't have maximum value then use "na"
indimin_ (float) : is the minimum value of the indicator, for example for RSI it's 0.0, if the indicator (such CCI, MOM etc)doesn't have maximum value then use "na"
levels (array) : is the levels of the array for the horizontal lines. for example if you want horizontal lines at 30.0, and 70.0 then use array.from(30.0, 70.0). if no horizontal lines then use array.from(na)
precision (int) : is the precision/nuber of decimals that is used to show indicator values, for example for RSI set it 2
xlocation (int) : is end location of the indicator window, for example if xlocation = 0 window is created on the index of the last bar/candle
lnwidth (int) : is the line width of the indicator lines
Returns: none
MyLibrary_functions_D_S_3D_D_T_PART_1Library "MyLibrary_functions_D_S_3D_D_T_PART_1"
TODO: add library description here
color_(upcolor_txt, upcolor, dncolor_txt, dncolor, theme)
Parameters:
upcolor_txt (color)
upcolor (color)
dncolor_txt (color)
dncolor (color)
theme (string)
Source_Zigzag_F(Source)
Parameters:
Source (string)
p_lw_hg(Source_low, Source_high, Depth)
Parameters:
Source_low (float)
Source_high (float)
Depth (int)
lowing_highing(Source_low, Source_high, p_lw, p_hg, Deviation)
Parameters:
Source_low (float)
Source_high (float)
p_lw (int)
p_hg (int)
Deviation (int)
ll_lh(lowing, highing)
Parameters:
lowing (bool)
highing (bool)
down_ll_down_lh(ll, lh, Backstep)
Parameters:
ll (int)
lh (int)
Backstep (int)
down(down_ll, down_lh, lw, hg)
Parameters:
down_ll (bool)
down_lh (bool)
lw (int)
hg (int)
f_x_P_S123_lw(lw_, hg_, p_lw_, down, Source_low)
Parameters:
lw_ (int)
hg_ (int)
p_lw_ (int)
down (int)
Source_low (float)
f_x_P_S123_hg(lw_, hg_, p_hg_, down, Source_high)
Parameters:
lw_ (int)
hg_ (int)
p_hg_ (int)
down (int)
Source_high (float)
Update_lw_hg_last_l_last_h(lw, hg, last_l, last_h, p_lw, p_hg, down, Source_low, Source_high)
Parameters:
lw (int)
hg (int)
last_l (int)
last_h (int)
p_lw (int)
p_hg (int)
down (int)
Source_low (float)
Source_high (float)
x1_P_y1_P_x2_P_y2_P_x3_P_y3_P_x4_P_y4_P(lw, hg, last_l, last_h, Source)
Parameters:
lw (int)
hg (int)
last_l (int)
last_h (int)
Source (string)
x1_P_os(lw, hg, x2_D, Diverjence_MACD_Line_, Diverjence_MACD_Histagram_, Diverjence_RSI_, Diverjence_Stochastic_, Diverjence_volume_, Diverjence_CCI_, Diverjence_MFI_, Diverjence_Momentum_, Diverjence_OBV_, Diverjence_ADX_, MACD, hist_MACD, RSI, volume_ok, Stochastic_K, CCI, MFI, momentum, OBV, adx)
Parameters:
lw (int)
hg (int)
x2_D (int)
Diverjence_MACD_Line_ (bool)
Diverjence_MACD_Histagram_ (bool)
Diverjence_RSI_ (bool)
Diverjence_Stochastic_ (bool)
Diverjence_volume_ (bool)
Diverjence_CCI_ (bool)
Diverjence_MFI_ (bool)
Diverjence_Momentum_ (bool)
Diverjence_OBV_ (bool)
Diverjence_ADX_ (bool)
MACD (float)
hist_MACD (float)
RSI (float)
volume_ok (float)
Stochastic_K (float)
CCI (float)
MFI (float)
momentum (float)
OBV (float)
adx (float)
x3_P_os(lw, hg, x2_D, x4_D, Diverjence_MACD_Line_, Diverjence_MACD_Histagram_, Diverjence_RSI_, Diverjence_Stochastic_, Diverjence_volume_, Diverjence_CCI_, Diverjence_MFI_, Diverjence_Momentum_, Diverjence_OBV_, Diverjence_ADX_, MACD, hist_MACD, RSI, volume_ok, Stochastic_K, CCI, MFI, momentum, OBV, adx)
Parameters:
lw (int)
hg (int)
x2_D (int)
x4_D (int)
Diverjence_MACD_Line_ (bool)
Diverjence_MACD_Histagram_ (bool)
Diverjence_RSI_ (bool)
Diverjence_Stochastic_ (bool)
Diverjence_volume_ (bool)
Diverjence_CCI_ (bool)
Diverjence_MFI_ (bool)
Diverjence_Momentum_ (bool)
Diverjence_OBV_ (bool)
Diverjence_ADX_ (bool)
MACD (float)
hist_MACD (float)
RSI (float)
volume_ok (float)
Stochastic_K (float)
CCI (float)
MFI (float)
momentum (float)
OBV (float)
adx (float)
Err_test(lw, hg, x1, y1, x2, y2, y_d, start, finish, Err_Rate)
Parameters:
lw (int)
hg (int)
x1 (int)
y1 (float)
x2 (int)
y2 (float)
y_d (float)
start (int)
finish (int)
Err_Rate (float)
divergence_calculation(Feasibility_RD, Feasibility_HD, Feasibility_ED, lw, hg, Source_low, Source_high, x1_P_pr, x3_P_pr, x1_P_os, x3_P_os, x2_P_pr, x4_P_pr, oscillator, Fix_Err_Mid_Point_Pr, Fix_Err_Mid_Point_Os, Err_Rate_permissible_Mid_Line_Pr, Err_Rate_permissible_Mid_Line_Os, Number_of_price_periods_R_H, Permissible_deviation_factor_in_Pr_R_H, Number_of_oscillator_periods_R_H, Permissible_deviation_factor_in_OS_R_H, Number_of_price_periods_E, Permissible_deviation_factor_in_Pr_E, Number_of_oscillator_periods_E, Permissible_deviation_factor_in_OS_E)
Parameters:
Feasibility_RD (bool)
Feasibility_HD (bool)
Feasibility_ED (bool)
lw (int)
hg (int)
Source_low (float)
Source_high (float)
x1_P_pr (int)
x3_P_pr (int)
x1_P_os (int)
x3_P_os (int)
x2_P_pr (int)
x4_P_pr (int)
oscillator (float)
Fix_Err_Mid_Point_Pr (bool)
Fix_Err_Mid_Point_Os (bool)
Err_Rate_permissible_Mid_Line_Pr (float)
Err_Rate_permissible_Mid_Line_Os (float)
Number_of_price_periods_R_H (int)
Permissible_deviation_factor_in_Pr_R_H (float)
Number_of_oscillator_periods_R_H (int)
Permissible_deviation_factor_in_OS_R_H (float)
Number_of_price_periods_E (int)
Permissible_deviation_factor_in_Pr_E (float)
Number_of_oscillator_periods_E (int)
Permissible_deviation_factor_in_OS_E (float)
label_txt(label_ID, zigzag_Indicator_1_, zigzag_Indicator_2_, zigzag_Indicator_3_)
Parameters:
label_ID (string)
zigzag_Indicator_1_ (bool)
zigzag_Indicator_2_ (bool)
zigzag_Indicator_3_ (bool)
delet_scan_item_1(string_, NO_1, GAP)
Parameters:
string_ (string)
NO_1 (int)
GAP (int)
delet_scan_item_2(string_, NO_1, GAP)
Parameters:
string_ (string)
NO_1 (int)
GAP (int)
calculation_Final_total(MS_MN, Scan_zigzag_NO, zigzag_Indicator, zigzag_Indicator_1, zigzag_Indicator_2, zigzag_Indicator_3, LW_hg_P2, LW_hg_P1, lw_1, lw_2, lw_3, hg_1, hg_2, hg_3, lw_hg_D_POINT_ad_Array, lw_hg_D_POINT_id_Array, Array_Regular_MS, Array_Hidden_MS, Array_Exaggerated_MS, Array_Regular_MN, Array_Hidden_MN, Array_Exaggerated_MN)
Parameters:
MS_MN (string)
Scan_zigzag_NO (string)
zigzag_Indicator (bool)
zigzag_Indicator_1 (bool)
zigzag_Indicator_2 (bool)
zigzag_Indicator_3 (bool)
LW_hg_P2 (int)
LW_hg_P1 (int)
lw_1 (int)
lw_2 (int)
lw_3 (int)
hg_1 (int)
hg_2 (int)
hg_3 (int)
lw_hg_D_POINT_ad_Array (array)
lw_hg_D_POINT_id_Array (array)
Array_Regular_MS (array)
Array_Hidden_MS (array)
Array_Exaggerated_MS (array)
Array_Regular_MN (array)
Array_Hidden_MN (array)
Array_Exaggerated_MN (array)
Search_piote_1(array_id_7, scan_no)
Parameters:
array_id_7 (array)
scan_no (int)
Composite Momentum IndicatorComposite Momentum Indicator" combines the signals from several oscillators, including Stochastic, RSI, Ultimate Oscillator, and Commodity Channel Index (CCI) by averaging the standardized values (Z-Scores). Since it is a Z-Score based indicators the values will be typically be bound between +3 and -3 oscillating around 0. Here's a summary of the code:
Input Parameters: Users can customize the look-back period and set threshold values for overbought and oversold conditions. They can also choose which oscillators to include in the composite calculation.
Oscillator Calculations: The code calculates four separate oscillators - Stochastic, RSI, Ultimate Oscillator, and CCI - each measuring different aspects of market momentum.
Z-Scores Calculation: For each oscillator, the code calculates a Z-Score, which normalizes the oscillator's values based on its historical standard deviation and mean. This allows for a consistent comparison of oscillator values across different timeframes.
Composite Z-Score: The code aggregates the Z-Scores from the selected oscillators, taking into account user preferences (whether to include each oscillator). It then calculates an average Z-Score to create the "Composite Momentum Oscillator."
Conditional Color Coding: The composite oscillator is color-coded based on its average Z-Score value. It turns green when it's above the overbought threshold, red when it's below the oversold threshold, and blue when it's within the specified range.
Horizontal Lines: The code plots horizontal lines at key levels, including 0, ±3, ±2, and ±1, to help users identify important momentum levels.
Gradient Fills: It adds gradient fills above the overbought threshold and below the oversold threshold to visually highlight extreme momentum conditions.
Combining the Stochastic, RSI, Ultimate Oscillator, and Commodity Channel Index (CCI) into one composite indicator offers several advantages for traders and technical analysts:
Comprehensive Insight: Each of these oscillators measures different aspects of market momentum and price action. Combining them into one indicator provides a more comprehensive view of the market's behavior, as it takes into account various dimensions of momentum simultaneously.
Reduced Noise: Standalone oscillators can generate conflicting signals and produce noisy readings, especially during choppy market conditions. A composite indicator smoothes out these discrepancies by averaging the signals from multiple indicators, potentially reducing false signals.
Confirmation and Divergence: By combining multiple oscillators, traders can seek confirmation or divergence signals. When multiple oscillators align in the same direction, it can strengthen a trading signal. Conversely, divergence between the oscillators can warn of potential reversals or weakening trends.
Customization: Traders can tailor the composite indicator to their specific trading strategies and preferences. They have the flexibility to include or exclude specific oscillators, adjust look-back periods, and set threshold levels. This adaptability allows for a more personalized approach to technical analysis.
Clarity and Efficiency: Rather than cluttering the chart with multiple individual oscillators, a composite indicator condenses the information into a single plot. This enhances the clarity of the chart and makes it easier for traders to quickly interpret market conditions.
Overbought/Oversold Identification: Combining these oscillators can improve the identification of overbought and oversold conditions. It reduces the likelihood of false signals since multiple indicators must align to trigger these extreme conditions.
Educational Tool: For novice traders and analysts, a composite indicator can serve as an educational tool by demonstrating how different oscillators interact and influence each other's signals. It allows users to learn about multiple technical indicators in one glance.
Efficient Use of Screen Space: A single composite indicator occupies less screen space compared to multiple separate indicators. This is especially beneficial when analyzing multiple markets or timeframes simultaneously.
Holistic Approach: Instead of relying on a single indicator, a composite approach encourages a more holistic assessment of market conditions. Traders can consider a broader range of factors before making trading decisions.
Increased Confidence: A composite indicator can boost traders' confidence in their decisions. When multiple reliable indicators align, it can provide a stronger basis for taking action in the market.
In summary, combining the Stochastic, RSI, Ultimate Oscillator, and CCI into one composite indicator enhances the depth and reliability of technical analysis. It simplifies the decision-making process, reduces noise, and offers a more complete picture of market momentum, ultimately helping traders make more informed and well-rounded trading decisions.
* Feel free to compare against individual oscillatiors*
Reversion Zone IndexThe Reversion Zone Index (RZI) is an indicator that combines the Commodity Channel Index (CCI), Choppiness Index (CI), and Bollinger Bands Percentage (BBPct) to identify mean reversion signals in the market. It is plotted as an Exponential Moving Average (EMA) smoothed oscillator with overbought and oversold zones, and mean reversion signals are represented by red and green arrows.
The three indicators are combined to benefit from their complementary aspects and create a more comprehensive view of mean reversion conditions. Here's a brief overview of each indicator's benefits:
1. Commodity Channel Index (CCI): CCI measures the current price level relative to its average over a specified period. It helps identify overbought and oversold conditions, as well as potential trend retracements. By incorporating CCI, the RZI gains insights into momentum and potential turning points.
2. Choppiness Index (CI): CI quantifies the market's choppiness or trendiness by analyzing the range between the highest high and lowest low over a specific period. It indicates whether the market is in a trending or ranging phase. CI provides valuable information about the market state, which can be useful in mean reversion analysis.
3. Bollinger Bands Percentage (BBPct): BBPct measures the current price's position relative to the Bollinger Bands. It calculates the percentage difference between the current price and the bands, identifying potential overbought or oversold conditions. BBPct helps gauge the market's deviation from its typical behavior and highlights potential reversal opportunities.
The RZI combines the three indicators by taking an average of their values and applying further calculations. It smooths the combined oscillator using an EMA to reduce noise and enhance the visibility of the trends. Smoothing with EMA provides a more responsive representation of the overall trend and helps filter out short-term fluctuations.
The overbought and oversold zones are marked on the chart as reference levels. When the combined oscillator is above the overbought zone or below the oversold zone, it suggests a potential mean reversion signal. Red and green arrows are displayed to visually indicate these mean retracement signals.
The RZI is a valuable tool for identifying mean reversion opportunities in the market. It incorporates multiple indicators, each providing unique insights into different aspects of mean reversion, such as momentum, volatility, and price positioning. Traders can use this indicator to spot potential turning points and time their trades accordingly.
EventsLibrary "Events"
events()
Returns the list of dates supported by this library as a string array.
Returns: array : Names of events supported by this library
fomcMeetings()
Gets the FOMC Meeting Dates. The FOMC meets eight times a year to determine the course of monetary policy. The FOMC announces its decision on the federal funds rate at the conclusion of each meeting and also issues a statement that provides information on the economic outlook and the Committee's assessment of the risks to the outlook.
Returns: array : FOMC Meeting Dates as timestamps
fomcMinutes()
Gets the FOMC Meeting Minutes Dates. The FOMC Minutes are released three weeks after each FOMC meeting. The Minutes provide information on the Committee's deliberations and decisions at the meeting.
Returns: array : FOMC Meeting Minutes Dates as timestamps
ppiReleases()
Gets the Producer Price Index (PPI) Dates. The Producer Price Index (PPI) measures the average change over time in the selling prices received by domestic producers for their output. The PPI is a leading indicator of CPI, and CPI is a leading indicator of inflation.
Returns: array : PPI Dates as timestamps
cpiReleases()
Gets the Consumer Price Index (CPI) Rekease Dates. The Consumer Price Index (CPI) measures changes in the price level of a market basket of consumer goods and services purchased by households. The CPI is a leading indicator of inflation.
Returns: array : CPI Dates as timestamps
csiReleases()
Gets the CSI release dates. The Consumer Sentiment Index (CSI) is a survey of consumer attitudes about the economy and their personal finances. The CSI is a leading indicator of consumer spending.
Returns: array : CSI Dates as timestamps
cciReleases()
Gets the CCI release dates. The Conference Board's Consumer Confidence Index (CCI) is a survey of consumer attitudes about the economy and their personal finances. The CCI is a leading indicator of consumer spending.
Returns: array : CCI Dates as timestamps
nfpReleases()
Gets the NFP release dates. Nonfarm payrolls is an employment report released monthly by the Bureau of Labor Statistics (BLS) that measures the change in the number of employed people in the United States.
Returns: array : NFP Dates as timestamps
eciReleases()
Gets the ECI The Employment Cost Index (ECI) is a measure of the change in the cost of labor,
SH_LibraryLibrary "SH_Library"
events()
Returns the list of dates supported by this library as a string array.
Returns: array : Names of events supported by this library
fomcMeetings()
Gets the FOMC Meeting Dates. The FOMC meets eight times a year to determine the course of monetary policy. The FOMC announces its decision on the federal funds rate at the conclusion of each meeting and also issues a statement that provides information on the economic outlook and the Committee's assessment of the risks to the outlook.
Returns: array : FOMC Meeting Dates as timestamps
fomcMinutes()
Gets the FOMC Meeting Minutes Dates. The FOMC Minutes are released three weeks after each FOMC meeting. The Minutes provide information on the Committee's deliberations and decisions at the meeting.
Returns: array : FOMC Meeting Minutes Dates as timestamps
ppiReleases()
Gets the Producer Price Index (PPI) Dates. The Producer Price Index (PPI) measures the average change over time in the selling prices received by domestic producers for their output. The PPI is a leading indicator of CPI, and CPI is a leading indicator of inflation.
Returns: array : PPI Dates as timestamps
cpiReleases()
Gets the Consumer Price Index (CPI) Rekease Dates. The Consumer Price Index (CPI) measures changes in the price level of a market basket of consumer goods and services purchased by households. The CPI is a leading indicator of inflation.
Returns: array : CPI Dates as timestamps
csiReleases()
Gets the CSI release dates. The Consumer Sentiment Index (CSI) is a survey of consumer attitudes about the economy and their personal finances. The CSI is a leading indicator of consumer spending.
Returns: array : CSI Dates as timestamps
cciReleases()
Gets the CCI release dates. The Conference Board's Consumer Confidence Index (CCI) is a survey of consumer attitudes about the economy and their personal finances. The CCI is a leading indicator of consumer spending.
Returns: array : CCI Dates as timestamps
nfpReleases()
Gets the NFP release dates. Nonfarm payrolls is an employment report released monthly by the Bureau of Labor Statistics (BLS) that measures the change in the number of employed people in the United States.
Returns: array : NFP Dates as timestamps
eciReleases()
Gets the ECI The Employment Cost Index (ECI) is a measure of the change in the cost of labor,
TASC 2022.12 Short-Term Continuation And Reversal Signals█ OVERVIEW
TASC's December 2022 edition Traders' Tips includes an article by Barbara Star titled "Short-Term Continuation And Reversal Signals". This is the code that implements the concepts presented in this publication.
█ CONCEPTS
The article takes two classic indicators, the Commodity Channel Index (CCI) and the Directional Movement Indicator (DMI), makes changes to the traditional ways of visualizing their readings, and uses them together to generate potential signals. The author first discusses the benefits of converting the DMI indicator to an oscillator format by subtracting the −DI from the +DI, which is then displayed as a histogram. Next, the author shows how the use of an on-chart visual framework (i.e., choosing the line style and color, coloring price bars, etc.) can help traders interpret the signals produced the considered pair of indicators.
█ CALCULATIONS
The article offers the following signals based on the readings of the DMI and CCI pair, suitable for several types of trades:
• Short-term trend change signals:
A DMI oscillator above zero indicates that prices are in an uptrend. A DMI oscillator below the zero line and falling means that selling pressure is dominating and price is trending down. The sign of the DMI oscillator is indicated by the color of the price bars (which correlates with the color of the DMI histogram). Namely, green, red and grey price bars correspond to the DMI oscillator above, below and equal to zero . Colored price bars and the DMI oscillator make it easy for trend traders to recognize changes in short-term trends.
• Trend continuation signals:
Blue circles appear near the bottom of the oscillator chart border when the DMI is above the zero line and the price is above its simple moving average in an uptrend . Dark red circles appear near the top of the chart in a downtrend when the DMI oscillator is below its zero line and below the 18-period moving average. Trend continuation signals are useful for those looking to add to existing positions, as well as for traders waiting for a pullback after a trend has started.
• Reversal signals:
The CCI signals a reversal to the downside when it breaks out of its +100 and then returns at some point, crossing below the +100 level. This is indicated by a magenta-colored diamond shape near the top the chart. The CCI signals a reversal to the upside when it moves below its −100 level and then at some point comes back to cross above the −100 level. This is indicated by a yellow diamond near the bottom of the chart. Reversal signals offer short-term rallies for countertrend traders as well as for swing traders looking for longer-term moves using the interplay between continuation and reversal signals.