True Open CalculationsIndicator Description: True Open Calculations
This custom Pine Script indicator calculates and plots key "True Open" levels based on specific time intervals and trading sessions. The True Open levels represent significant price points on the chart, helping traders identify key reference points tied to various market opening times. These levels are important for understanding price action in relation to market sessions and trading cycles. The indicator is designed to plot lines corresponding to different "True Opens" on the chart and display labels with the associated information.
Key Features:
True Year Open:
This represents the opening price on the first Monday of April each year. It serves as a reference point for the yearly price level.
Plot Color: Green.
True Month Open:
This represents the opening price on the second Monday of each month. It helps in identifying monthly trends and provides a key reference for monthly price movements.
Plot Color: Blue.
True Week Open:
This represents the opening price every Monday at 6:00 PM. It gives traders a level to track weekly opening movements and can be useful for weekly trend analysis.
Plot Color: Orange.
True Day Open:
This represents the opening price at 12:00 AM (midnight) each day. It serves as a daily benchmark for price action at the start of the trading day.
Plot Color: Red.
True New York Session Open:
This represents the opening price at 7:30 AM (New York session start time). This level is crucial for traders focused on the New York trading session.
Plot Color: Purple.
Additional Features:
Labels: The indicator displays labels to the right of each plotted line to describe which "True Open" it represents (e.g., "True Year Open," "True Month Open," etc.).
Dynamic Plotting: The lines are only plotted on the current candle, and the lines are dynamically updated for each time period based on the corresponding "True Open."
Visual Cues: The colors of the plotted lines (green, blue, orange, red, purple) help quickly distinguish between different "True Open" levels, making it easy for traders to track price action and make informed decisions.
Use Cases:
Yearly, Monthly, Weekly, Daily, and Session Benchmarking: This indicator provides traders with important price levels to use as benchmarks for the current year, month, week, and day, helping to identify trends and potential reversals.
Session Awareness: It is particularly useful for traders who want to track key market sessions, such as the New York session, and their impact on price movement.
Long-term Analysis: By including the yearly open, this indicator helps traders gain a broader perspective on market trends and provides context for analyzing shorter-term price movements.
Benefits:
Helps identify important reference points for longer-term trends (yearly, monthly) as well as shorter-term moves (daily, weekly, and session).
Visually intuitive with color-coded lines and labels, allowing quick and easy identification of key market open levels.
Dynamic and real-time: The indicator plots and updates the True Open levels dynamically as the market progresses.
Pesquisar nos scripts por "Cycle"
Trading Sessions Highs/Lows | InvrsROBINHOODTrading Sessions Highs/Lows | InvrsROBINHOOD
🚀 A powerful indicator for tracking key trading sessions and the highs and lows of each session!
📌 Description
The Trading Sessions Highs/Lows indicator visually marks the most critical trading sessions—Asia, London, and New York—using small colored dots at the bottom of the candle. It also tracks and plots the highs and lows of each session, along with the Daily Open and Weekly Open levels.
This tool is designed to help traders identify session-based liquidity zones, price reactions, and potential trade setups with minimal chart clutter.
Key Features:
✅ Session markers (Asia, London, NY AM, NY Lunch, NY PM) plotted as small dots
✅ Plots session highs and lows for market structure insights
✅ Daily Open line for intraday reference
✅ Weekly Open line for higher timeframe bias
✅ Alerts for session high/low breaks to capture momentum shifts
✅ User-defined UTC offset for global traders
✅ Customizable session colors for personal preference
📖 How to Use the Indicator
1️⃣ Understanding the Sessions
Asia Session (Yellow Dot) → Marks liquidity buildup & pre-London moves
London Session (Blue Dot) → Strong volatility, breakout opportunities
New York AM Session (Green Dot) → Major trends & institutional participation
New York Lunch (Red Dot) → Low volume, ranging market
New York PM Session (Dark Green Dot) → End-of-day movements & reversals
2️⃣ Session Highs & Lows for Market Structure
Session Highs can act as resistance or breakout points.
Session Lows can act as support or stop-hunt zones.
Break of a session high/low with volume may indicate continuation or reversal.
3️⃣ Using the Daily & Weekly Open
The Daily Open (Black Line) helps gauge the intraday trend.
Above Daily Open → Bearish Bias
Below Daily Open → Bullish Bias
The Weekly Open (Red Line) sets the higher timeframe directional bias.
4️⃣ Alerts for Breakouts
The indicator will trigger alerts when price breaks session highs or lows.
Useful for setting stop-losses, breakout trades, and risk management.
💡 Why This Indicator is Important for Beginners
1️⃣ Avoids Overtrading:
Many beginners trade in low-volume periods (NY Lunch, Asia session) and get stuck in choppy price action.
This indicator highlights when volatility is high so traders focus on better opportunities.
2️⃣ Session-Based Liquidity Traps:
Market makers often run stops at session highs/lows before reversing.
Watching session breaks prevents traders from falling into liquidity grabs.
3️⃣ Reduces Emotional Trading:
If price is above the Daily Open, a beginner shouldn’t look for shorts.
If price is below a key session low, it may signal a fake breakout.
4️⃣ Aligns with Institutional Trading:
Smart money traders use session highs/lows to set stop hunts & reversals.
Beginners can use this indicator to spot these zones before entering trades.
🛡️ How to Mitigate Risk with This Indicator
✅ Wait for Confirmations – Don’t trade blindly at session highs/lows. Look for wicks, rejections, or break/retests.
✅ Use Stop-Loss Above/Below Session Levels – If you’re going long, set SL below a session low. If short, set SL above a session high.
✅ Watch Volume & News Events – Breakouts without strong volume or news may be fake moves.
✅ Combine with Other Strategies – Use price action, trendlines, or EMAs with this indicator for higher probability trades.
✅ Use the Weekly Open for Trend Bias – If price stays below the Weekly Open, avoid bullish setups unless key support holds.
🎯 Who is This Indicator For?
📌 Beginners who need clear session-based trading levels.
📌 Day traders & scalpers looking to refine their intraday setups.
📌 Smart money traders using liquidity concepts.
📌 Swing traders tracking higher timeframe momentum shifts.
🚀 Final Thoughts
This indicator is an essential tool for traders who want to understand market structure, liquidity, and volatility cycles. Whether you’re trading forex, stocks, or crypto, it helps you stay on the right side of the market and avoid unnecessary risks.
🔹 Set it up, customize your colors, define your UTC offset, and start trading smarter today! 🏆📈
dmn's ICT AMD-Goldbach█ OVERVIEW
This script is built on ICT time & price theory and the theory of algorithmic market maker models, and visualizes the intraday divided using powers of three into accumulation, manipulation and distribution cycles.
It also includes an automatically calculated and plotted Goldbach level (a.k.a. IPDA level or Huddleston level) overlay, to help visualize where in the current market maker profile price is in relation to the AMD cycles, and where it might trade to.
█ CONCEPTS
Accumulation, Manipulation, Distribution Cycles
A 24 hour day, with the default set to start at 20:00 CET (the start of the Forex CLS Settlement operational timeline) is split in three parts - 9, 6 and 9 hours for the three cycles (roughly corresponding with Asia, London Open and New York + London Close sessions).
Since charts are fractals, there's also intra-cycle time fibs available in the script, to highlight the smaller fractal equivalents in each cycle.
These cycles are used to visualize the three phases (AMD) for easier identification of the current daily profile by analyzing during what cycle highs and lows of the day are made.
An example of a bullish day could be price rallying before making a low during the accumulation cycle, being manipulated higher and retracing to form an optimal trade entry during the manipulation cycle, expanding and creating the high of the day before selling off during the distribution cycle, with a potential reversal before it ends.
Goldbach levels
The Goldbach levels are based on the size of a price range (or price swing, if you will) expressed as a factor of power of three (3^n).
To decide what number to tell the script to use for the calculation, we look at what 3^n number best fits an average swing on the preferred timeframe we're trading.
For example; PO3 27 (3^3)might be fit for scalping, while PO3 243 (3^5) may correspond to the daily or weekly range, depending on the asset.
The script then calculates a range high and a range low using a power of three formula based on the current price and divides it into levels using Goldbach numbers.
At these levels one might expect to see price form various "blocks" as defined in concept by Michael J. Huddleston.
The blocks that correspond to the Goldbach levels are labeled with abbreviations as follows:
Ext = External range
Low = Range low
High = Range high
FVG = Fair value gap
RB = Rejection block
OB = Order block
LV = Liquidity void
BR = Breaker
MB = Mitigation block
Using these levels and said blocks we identify where in the current running market maker profile price is offered, and trade the preferred timeframe in line with the AMD cycles accordingly.
█ FEATURES
Custom AMD time cycles session times.
Custom time fib for fractal cycles.
Color and style customization.
Show only current or also historical cycles.
Equilibrium mode for Goldbach levels (show only high/low and midpoint)
Autodetection of asset type, with manual override.
█ NOTE
The default timings for the AMD cycles are set up for Forex pairs. For other asset types, such as indices, other timings are nessecary for optimal results.
Goldbach levels requires the correct symbol type setting for the calculation to work properly. Disable the script's autodetection and enable/disable the Forex option according to the type of chart if it fails.
Yearly Profit BackgroundDescription:
The Yearly Profit Background indicator is a powerful tool designed to help traders quickly visualize the profitability of each calendar year on their charts. By analyzing the annual performance of an asset, this indicator colors the background of each completed year green if the year was profitable (close > open) or red if it resulted in a loss (close < open). This visual representation allows traders to identify long-term trends and historical performance at a glance.
Key Features:
Annual Profit Calculation: Automatically calculates the yearly performance based on the opening price of January 1st and the closing price of December 31st.
Visual Background Coloring: Highlights each completed year with a green (profit) or red (loss) background, making it easy to spot trends.
Customizable Transparency: The background colors are set at 90% transparency, ensuring they don’t obstruct your chart analysis.
Optional Price Plots: Displays the annual opening (blue line) and closing (orange line) prices for additional context.
How to Use:
Add the indicator to your chart.
Observe the background colors for each completed year:
Green: The year was profitable.
Red: The year resulted in a loss.
Use the optional price plots to analyze annual opening and closing levels.
Ideal For:
Long-term investors analyzing historical performance.
Traders looking to identify multi-year trends.
Anyone interested in visualizing annual market cycles.
Why Use This Indicator?
Understanding the annual performance of an asset is crucial for making informed trading decisions. The Yearly Profit Background indicator simplifies this process by providing a clear, visual representation of yearly profitability, helping you spot patterns and trends that might otherwise go unnoticed.
Smoothed ROC Z-Score with TableSmoothed ROC Z-Score with Table
This indicator calculates the Rate of Change (ROC) of a chosen price source and transforms it into a smoothed Z-Score oscillator, allowing you to identify market cycle tops and bottoms with reduced noise.
How it works:
The ROC is calculated over a user-defined length.
A moving average and standard deviation over a separate window are used to standardize the ROC into a Z-Score.
This Z-Score is further smoothed using an exponential moving average (EMA) to filter noise and highlight clearer cycle signals.
The smoothed Z-Score oscillates around zero, with upper and lower bands defined by user inputs (default ±2 standard deviations).
When the Z-Score reaches or exceeds ±3 (customizable), the value shown in the table is clamped at ±2 for clearer interpretation.
The indicator plots the smoothed Z-Score line with zero and band lines, and displays a colored Z-Score table on the right for quick reference.
How to read it:
Values near zero indicate neutral momentum.
Rising Z-Scores towards the upper band suggest increasing positive momentum, possible market tops or strength.
Falling Z-Scores towards the lower band indicate negative momentum, potential bottoms or weakness.
The color-coded table gives an easy visual cue: red/orange for strong positive signals, green/teal for strong negative signals, and gray for neutral zones.
Use cases:
Identify turning points in trending markets.
Filter noisy ROC data for cleaner signals.
Combine with other indicators to time entries and exits more effectively.
Maancyclus Volatiliteitsindicator (2025)This Moon Cycle Volatility Indicator for TradingView is designed to help traders track and analyze market volatility around specific lunar phases, namely the Full Moon and New Moon. The indicator marks the dates of these moon phases on the chart and measures volatility using the Average True Range (ATR) indicator, which gauges market price fluctuations.
Key Features:
Moon Phase Markers: The indicator marks the Full Moon and New Moon on the chart using labels. Blue labels are placed below bars for Full Moons, while red labels are placed above bars for New Moons. These markers are based on a manually curated list of moon phase dates for the year 2025.
Volatility Calculation: The indicator calculates market volatility using the ATR (14), which provides a sense of market movement and potential risk. Volatility is plotted as histograms, with blue histograms representing volatility around Full Moons and red histograms around New Moons.
Comparative Analysis: By comparing the volatility around these moon phases to the average volatility, traders can spot potential patterns or heightened market movements. This can inform trading strategies, such as anticipating increased market activity around specific lunar events.
In essence, this tool helps traders identify potential high-volatility periods tied to lunar cycles, which could impact market sentiment and price action.
FX Rotation Dashboard – FX vs DXYFX Rotation Dashboard
This FX Rotation Dashboard indicator offers a clear, at-a-glance overview of the relative strength and momentum of major FX pairs when measured against the US Dollar Index (DXY). It helps identify which currency pairs are leading or lagging in performance and how their relative positioning is evolving over time.
🔎 Structure
Each row in the table represents a currency pair and provides the following data:
Symbol: The FX pair (e.g., EURJPY, GBPUSD, AUDNZD)
RS: The current relative strength ratio vs. DXY
MOM: The momentum of the RS – showing whether strength is accelerating or decelerating
Quadrant:
🔴 Lagging: Underperforming and losing momentum
🔵 Improving: Underperforming but gaining momentum
🟢 Leading: Outperforming with rising momentum
🟡 Weakening (not visible in current table): Outperforming but slowing down
Meaning: A descriptive label summarizing the quadrant status
🧭 Interpretation
Currency pairs in the Leading quadrant (e.g., EURJPY, GBPJPY, CHFJPY, CADJPY) are currently outperforming the USD with rising momentum – often indicating strength across both RS and MOM dimensions.
Pairs in the Improving quadrant (e.g., GBPUSD, EURUSD, AUDUSD) are showing positive momentum but still lagging in relative strength – potential early signs of rotation into leadership.
Pairs in the Lagging quadrant (e.g., USDCHF, USDJPY, AUDCHF) are underperforming and continue to weaken – often considered the least attractive at the current stage of the cycle.
🧠 Purpose
This FX Rotation visualization is particularly useful for:
Macro-level FX rotation analysis
Spotting emerging trends before they are fully priced in
Tracking performance of G10 and cross pairs against USD
It provides context for currency strength beyond individual price movements by placing them in a relative performance framework.
⚠️ Disclaimer: This indicator is for informational and analytical purposes only. It does not constitute investment advice or a recommendation to buy or sell any financial instrument. Always conduct your own research before making trading decisions.
Innotrade BTC Reversal-Top-Buttom Reversal Scanner based on Time🧠 BTC Reversal Time Window Scanner (Monthly Cycle Indicator)
This script highlights historically recurring time windows when Bitcoin has often shown strong top or bottom reversals—key turning points in price action where the trend frequently shifted.
Based on deep historical analysis, the indicator marks:
🔴 Top Zones – typically areas of price exhaustion and potential corrections
🟢 Bottom Zones – typically oversold points where upward reversals began
⚙️ Features
* Visually highlights reversal zones directly on the chart
* Optional label display for clarity
* Subtle background coloring (red/green) for trend zones
* Easily integrates with other strategies (price action, SMC, MA etc.)
📌 Disclaimer
This is not a trading signal system, but a timing tool to help identify likely cyclical turning points based on monthly patterns.
Use it to enhance your setups or combine with your existing edge.
To become an indicator, write me
Simplified STH-MVRV + Z-ScoreSimplified Short Term Holder MVRV (STH-MVRV) + Z-Score Indicator
Description:
This indicator visualizes the Short Term Holder Market Value to Realized Value ratio (STH-MVRV) and its normalized Z-Score, providing insight into Bitcoin’s market cycle phases and potential overbought or oversold conditions.
How it works:
The STH-MVRV ratio compares the market value of coins held by short-term holders to their realized value, helping to identify periods of profit-taking or accumulation by these holders.
The indicator calculates three versions:
STH-MVRV (MVRV): Ratio of current MVRV to its 155-day SMA.
STH-MVRV (Price): Ratio of BTC price to its 155-day SMA.
STH-MVRV (AVG): Average of the above two ratios.
You can select which ratio to display via the input dropdown.
Threshold Lines:
Adjustable upper and lower threshold lines mark significant levels where market sentiment might shift.
The indicator also plots a baseline at 1.0 as a reference.
Z-Score Explanation:
The Z-Score is a normalized value scaled between -3 and +3, calculated relative to the chosen threshold levels.
When the ratio hits the upper threshold, the Z-Score approaches +2, indicating potential overbought conditions.
Conversely, reaching the lower threshold corresponds to a Z-Score near -2, signaling potential oversold conditions.
This Z-Score is shown in a clear table in the top right corner of the chart for easy monitoring.
Data Sources:
MVRV data is fetched from the BTC_MVRV dataset.
Price data is sourced from the BTC/USD index.
Usage:
Use this indicator to assess short-term holder market behavior and to help identify buying or selling opportunities based on extremes indicated by the Z-Score.
Combining this tool with other analysis can improve timing decisions in Bitcoin trading.
Katik Cycle 56 DaysThis script plots vertical dotted lines on the chart every 56 trading days, starting from the first bar. It calculates intervals based on the bar_index and draws the lines for both historical and future dates by projecting the lines forward.
The lines are extended across the entire chart height using extend=extend.both, ensuring visibility regardless of chart zoom level. You can customize the interval length using the input box.
Note: Use this only for 1D (Day) candle so that you can find the changes in the trend...
It Screams When Crypto BottomsGet ready to ride the crypto rollercoaster with your new favourite tool for catching Bitcoin at its juiciest, most oversold moments.
This isn’t just another boring indicator — it screams when it’s time to load your bags and get ready for the ride back up!
Expect it to scream just once or twice per cycle at the very bottom, so you know exactly when the party starts!
Why You'll Love It:
Crypto-Exclusive Magic: It does not really matter what chart you are on; this indicator only bothers about the original and realised market cap of BTC. We all know the rest will follow.
Big Picture Focus: Designed for daily. No noisy intraday drama — just pure, clear signals.
Screaming Alerts: When the signal hits, it’s like a neon sign screaming, “Crypto Bottomed!"
Think of this indicator as your backstage pass to the crypto world’s most dramatic moments. It’s not subtle — it’s bold, loud, and ready to help you time the market like a pro.
P.S.: Use it only on a daily chart. Don’t even try it on shorter timeframes — it won’t scream, and you’ll miss the show! 🙀
AMDX Time ZoneThis script is base on the theory of @traderdaye, on the TimeZone AMDX
Accumulation
Manipulation
Distribution
X reversal / continuation
OR
AMDX
It show you the box on intraday Timeframe:
Q1: 18.00 - 19.30 | Q2: 19.30 - 21.00 | Q3: 21.00 - 22.30 | Q4: 22.30 - 00.00 (90min Cycles of the Asian Session)
Q1: 00.00 - 01.30 | Q2: 01.30 - 03.00 | Q3: 03.00 - 04.30 | Q4: 04.30 - 06.00 (90min Cycles of the London Session)
Q1: 06.00 - 07.30 | Q2: 07.30 - 09.00 | Q3: 09.00 - 10.30 | Q4: 10.30 - 12.00 (90min Cycles of the NY Session)
Q1: 12.00 - 13.30 | Q2: 13.30 - 15.00 | Q3: 15.00 - 16.30 | Q4: 16.30 - 18.00 (90min Cycles of the PM Session)
You can extend this theory to the day => to the week => to the month
Thanks LuxAlgo for the base,
Hope you enjoy it
OPEX & VIX Expiry Markers (Past, Present, Future)Expiry Date Indicator for Options & Index Traders
Track Key Expiration Dates Automatically
For traders focused on options, indices, and expiration-based strategies, staying aware of key expiration dates is essential. This TradingView indicator automatically plots OPEX, VIX Expiry, and Quarterly Expirations on your charts—helping you plan trades more effectively without manual tracking.
Features:
✔ OPEX Expiration Markers – Highlights the third Friday of each month, when equity and index options expire.
✔ VIX Expiration Tracking – Marks Wednesday VIX expirations, useful for volatility-based trades.
✔ Quarterly Expiration Highlights – Identifies major market expiration cycles for better trade management.
✔ Live Countdown to Next OPEX – Displays how many days remain until the next expiration.
✔ Works on Any Timeframe – Past, present, and future expiration dates update dynamically.
✔ Customizable Settings – Enable or disable specific features based on your trading style.
Ideal for Traders Who Use:
📈 SPX / SPY / NDX / VIX Options Strategies
📅 Iron Condors, Credit Spreads, and Expiration-Based Trades
This tool helps traders stay ahead of expiration cycles, ensuring they never miss an important date. Simple, effective, and built for seamless integration into your trading workflow.
This keeps it professional and to the point without overhyping it. Let me know if you'd like any further refinements! 🚀
Day of Week Highlighter# 📅 Day of Week Highlighter - Global Market Edition
**Enhanced visual trading tool that highlights each day of the week with customizable colors across all major global financial market timezones.**
## 🌍 Global Market Coverage
This indicator supports **27 major financial market timezones**, including:
- **Asia-Pacific**: Tokyo, Sydney, Hong Kong, Singapore, Shanghai, Seoul, Mumbai, Dubai, Auckland (New Zealand)
- **Europe**: London, Frankfurt, Zurich, Paris, Amsterdam, Moscow, Istanbul
- **Americas**: New York, Chicago, Toronto, São Paulo, Buenos Aires
- **Plus UTC and other key financial centers**
## ✨ Key Features
### 🎨 **Fully Customizable Colors**
- Individual color picker for each day of the week
- Transparent overlays that don't obstruct price action
- Professional color scheme defaults
### 🌐 **Comprehensive Timezone Support**
- 27 major global financial market timezones
- Automatic daylight saving time adjustments
- Perfect for multi-market analysis and global trading
### ⚙️ **Flexible Display Options**
- Toggle individual days on/off
- Optional day name labels with size control
- Clean, professional appearance
### 📊 **Trading Applications**
- **Market Session Analysis**: Identify trading patterns by day of week
- **Multi-Market Coordination**: Track different markets in their local time
- **Pattern Recognition**: Spot day-specific market behaviors
- **Risk Management**: Avoid trading on historically volatile days
## 🔧 How to Use
1. **Add to Chart**: Apply the indicator to any timeframe
2. **Select Timezone**: Choose your preferred market timezone from the dropdown
3. **Customize Colors**: Set unique colors for each day in the settings panel
4. **Enable/Disable Days**: Toggle specific days on or off as needed
5. **Optional Labels**: Show day names with customizable label sizes
## 💡 Pro Tips
- Use different color intensities to highlight your preferred trading days
- Combine with other session indicators for comprehensive market timing
- Perfect for swing traders who want to identify weekly patterns
- Ideal for international traders managing multiple market sessions
## 🎯 Perfect For
- Day traders tracking intraday patterns
- Swing traders analyzing weekly cycles
- International traders managing multiple markets
- Anyone wanting better visual organization of their charts
**Works on all timeframes and instruments. Set it once, trade with confidence!**
---
*Compatible with Pine Script v6 | No repainting | Lightweight performance*
Bull Bear Indicator (BBI)/Introduction
The Bull Bear Indicator (BBI) identifies bull market conditions and bear market conditions for equity investors so they can avoid missing a bull market or getting caught in a bear market.
/Signals
There are two signals:
1. Bull Market Alert - This indicates prices of stocks in the broader market are rising.
2. Bear market Alert - This indicates prices of stocks in the broader market are falling.
Both signals are indicated by a background colour and an upward/downward triangle. A green background and an upward green triangle below the bar signifies an environment of rising prices. A red background and a downward red triangle above the bar indicates an environment of falling prices.
Lack of a coloured background indicates a transition period from Bull to Bear or Bear to Bull conditions. The transitions may be rapid during periods of high volatility.
/Construction
The indicator is constructed using market breadth, price action and moving averages.
1.Market Breadth:
Definition: Market breadth refers to the number of stocks advancing versus the number declining in the stock market. It provides insight into the overall health and strength of a market move.
Use in Identifying Bull/Bear Markets:
Bull Market Indicators: In a bull market, market breadth is typically strong, with a large number of stocks advancing. This indicates widespread participation in the market rally, confirming the strength and sustainability of the upward trend.
Bear Market Indicators: Conversely, in a bear market, market breadth weakens, with more stocks declining than advancing. This suggests that the downward movement is broad-based across the market, reinforcing the bearish sentiment.
How the indicator does this: The number of stocks in a bullish/bearish trend is counted and normalised to a percentage to determine what percentage of stocks in the overall market are bullish/bearish.
2. Price Action:
Definition: Price action involves the study of historical price movements to predict future price direction. It includes analyzing patterns, trends, and the reactions of prices to certain levels (like support and resistance).
Use in Identifying Bull/Bear Markets:
Bull Market Indicators: In a bull market, price action typically shows higher highs and higher lows, indicating an ongoing upward trend. The reaction to support levels is often strong, with prices bouncing off these levels.
Bear Market Indicators: In a bear market, the price action is characterized by lower highs and lower lows. Prices tend to break through support levels and bounce off resistance levels, reflecting the dominant downward trend.
3. Trend Analysis:
Definition: Trend analysis involves identifying the direction and strength of market movements. This was done using moving averages.
Use in Identifying Bull/Bear Markets:
Bull Market Indicators: A bull market is often identified by upward-sloping trendlines and prices consistently staying above key moving averages.
Bear Market Indicators: In a bear market, the trendlines slope downwards, and prices remain below key moving averages.
How the indicator does this: The average closing prices of the largest capitalised stocks and their intermediate trend is assessed relative to their moving averages, the moving average combines price action and trend because it is simply the average closing price over time.
/Originality
This indicator is simple and effective in that it uses multiple factors to assess the market environment. Market breadth gives an overview of the participation level in the market trend, price action helps identify specific patterns and reactions to key levels indicating a bull or bear market, and trend analysis provides a macro view of the market direction and its strength. Combining these tools can gives a comprehensive picture of the market environment and help in distinguishing between bull and bear markets. The market environments are boldly marked out through background colours and triangle markers. The indicator performance is only valid from 2002 to date because the market breadth data used is not available before this date.
Why market Market breadth: Because it takes into account all the stocks in the market, this is essential in identifying the level of participation in a trend.
Why moving averages: Because it ensures that the price action and overall trend of the stocks can be monitored over a given lookback period
So together, moving average/price action + market breadth = trend + participation
Note:
The indicator has no predictive power, performance described here does not guarantee future results. Equity markets are particularly volatile and prone to cycles, and individual psychology can significantly affect indicator interpretation. Price data may also vary across exchanges.
/Settings
The parameters are fixed and there is no room for optimisation however, style settings can be modified by the user.
/Tickers
The BBI indicator is ticker agnostic but best viewed on a 1 day chart of the SPY.
Seasonal Market Strategy (SMS)/Introduction
The Seasonal Market Strategy (SMS) is not a technical strategy, it is based on market seasonality and draws heavily from the work of Yale Hirsch, creator of the Stock Trader's Almanac.
/Signals
The strategy is long only. Four different seasonal signals are generated to ensure stock market history, cycles, psychology and patterns are turned into actionable trades. The signals are:
1. Sell in May and Go Away: A strategy suggesting investors sell stocks in May and avoid the market until November, based on historical underperformance during this period.
2. Turn of the Month: Trading tactic that capitalises on the tendency of stock prices to rise at the month's beginning.
3. Santa Claus Rally: Refers to the often-seen increase in stock prices around Christmas and the New Year.
4. Turn Around Tuesday: A pattern where stock markets rebound on Tuesdays following a decline on Mondays.
There is no logic or calculation, just dates for entry and exit. These seasonal patterns are explained in various places online for those who want to understand why they are profitable. Stock Trader's Almanac is a good resource to start with.
/Interpretation
SMS will display an upward blue arrow signifying a buy signal after the candle closes, when entry conditions are met. A label below the arrow will describe which signal was triggered and a number depicting the number of units (they can be deactivated in the style settings). SMS will also display a downwards pink arrow above the candle when the exit conditions are met.
/Strategy Results
The backtest results are based on a starting capital of $13,700 (convenient amount for retail traders) with 5% of equity for the position size and pyramiding of 4 consecutive positions because there are four signals. Because of the large amount of trades, this strategy is suitable with brokers that do not charge commissions, so commissions is set to zero while slippage of 3 ticks is used to ensure the results are representative of real world, market order, end-of-day trading. The backtest results are available to view at the bottom of this page.
NOTE:
Past results are not indicative of future results. The strategy is backtested in ideal conditions, it has no predictive abilities and seasonal trends may breakdown at anytime hence, results from live trading may not achieve the same performance shown here as each trader may introduce subjectivity or interfere with its performance or market conditions might change significantly.
/Tickers
This strategy has been backtested on the Dow Jones Industrial Average ETF with ticker DIA but it also performs well with the SPY ticker which is the ETF for the S&P500.
Goertzel Browser [Loxx]As the financial markets become increasingly complex and data-driven, traders and analysts must leverage powerful tools to gain insights and make informed decisions. One such tool is the Goertzel Browser indicator, a sophisticated technical analysis indicator that helps identify cyclical patterns in financial data. This powerful tool is capable of detecting cyclical patterns in financial data, helping traders to make better predictions and optimize their trading strategies. With its unique combination of mathematical algorithms and advanced charting capabilities, this indicator has the potential to revolutionize the way we approach financial modeling and trading.
█ Brief Overview of the Goertzel Browser
The Goertzel Browser is a sophisticated technical analysis tool that utilizes the Goertzel algorithm to analyze and visualize cyclical components within a financial time series. By identifying these cycles and their characteristics, the indicator aims to provide valuable insights into the market's underlying price movements, which could potentially be used for making informed trading decisions.
The primary purpose of this indicator is to:
1. Detect and analyze the dominant cycles present in the price data.
2. Reconstruct and visualize the composite wave based on the detected cycles.
3. Project the composite wave into the future, providing a potential roadmap for upcoming price movements.
To achieve this, the indicator performs several tasks:
1. Detrending the price data: The indicator preprocesses the price data using various detrending techniques, such as Hodrick-Prescott filters, zero-lag moving averages, and linear regression, to remove the underlying trend and focus on the cyclical components.
2. Applying the Goertzel algorithm: The indicator applies the Goertzel algorithm to the detrended price data, identifying the dominant cycles and their characteristics, such as amplitude, phase, and cycle strength.
3. Constructing the composite wave: The indicator reconstructs the composite wave by combining the detected cycles, either by using a user-defined list of cycles or by selecting the top N cycles based on their amplitude or cycle strength.
4. Visualizing the composite wave: The indicator plots the composite wave, using solid lines for the past and dotted lines for the future projections. The color of the lines indicates whether the wave is increasing or decreasing.
5. Displaying cycle information: The indicator provides a table that displays detailed information about the detected cycles, including their rank, period, Bartel's test results, amplitude, and phase.
This indicator is a powerful tool that employs the Goertzel algorithm to analyze and visualize the cyclical components within a financial time series. By providing insights into the underlying price movements and their potential future trajectory, the indicator aims to assist traders in making more informed decisions.
█ What is the Goertzel Algorithm?
The Goertzel algorithm, named after Gerald Goertzel, is a digital signal processing technique that is used to efficiently compute individual terms of the Discrete Fourier Transform (DFT). It was first introduced in 1958, and since then, it has found various applications in the fields of engineering, mathematics, and physics.
The Goertzel algorithm is primarily used to detect specific frequency components within a digital signal, making it particularly useful in applications where only a few frequency components are of interest. The algorithm is computationally efficient, as it requires fewer calculations than the Fast Fourier Transform (FFT) when detecting a small number of frequency components. This efficiency makes the Goertzel algorithm a popular choice in applications such as:
1. Telecommunications: The Goertzel algorithm is used for decoding Dual-Tone Multi-Frequency (DTMF) signals, which are the tones generated when pressing buttons on a telephone keypad. By identifying specific frequency components, the algorithm can accurately determine which button has been pressed.
2. Audio processing: The algorithm can be used to detect specific pitches or harmonics in an audio signal, making it useful in applications like pitch detection and tuning musical instruments.
3. Vibration analysis: In the field of mechanical engineering, the Goertzel algorithm can be applied to analyze vibrations in rotating machinery, helping to identify faulty components or signs of wear.
4. Power system analysis: The algorithm can be used to measure harmonic content in power systems, allowing engineers to assess power quality and detect potential issues.
The Goertzel algorithm is used in these applications because it offers several advantages over other methods, such as the FFT:
1. Computational efficiency: The Goertzel algorithm requires fewer calculations when detecting a small number of frequency components, making it more computationally efficient than the FFT in these cases.
2. Real-time analysis: The algorithm can be implemented in a streaming fashion, allowing for real-time analysis of signals, which is crucial in applications like telecommunications and audio processing.
3. Memory efficiency: The Goertzel algorithm requires less memory than the FFT, as it only computes the frequency components of interest.
4. Precision: The algorithm is less susceptible to numerical errors compared to the FFT, ensuring more accurate results in applications where precision is essential.
The Goertzel algorithm is an efficient digital signal processing technique that is primarily used to detect specific frequency components within a signal. Its computational efficiency, real-time capabilities, and precision make it an attractive choice for various applications, including telecommunications, audio processing, vibration analysis, and power system analysis. The algorithm has been widely adopted since its introduction in 1958 and continues to be an essential tool in the fields of engineering, mathematics, and physics.
█ Goertzel Algorithm in Quantitative Finance: In-Depth Analysis and Applications
The Goertzel algorithm, initially designed for signal processing in telecommunications, has gained significant traction in the financial industry due to its efficient frequency detection capabilities. In quantitative finance, the Goertzel algorithm has been utilized for uncovering hidden market cycles, developing data-driven trading strategies, and optimizing risk management. This section delves deeper into the applications of the Goertzel algorithm in finance, particularly within the context of quantitative trading and analysis.
Unveiling Hidden Market Cycles:
Market cycles are prevalent in financial markets and arise from various factors, such as economic conditions, investor psychology, and market participant behavior. The Goertzel algorithm's ability to detect and isolate specific frequencies in price data helps trader analysts identify hidden market cycles that may otherwise go unnoticed. By examining the amplitude, phase, and periodicity of each cycle, traders can better understand the underlying market structure and dynamics, enabling them to develop more informed and effective trading strategies.
Developing Quantitative Trading Strategies:
The Goertzel algorithm's versatility allows traders to incorporate its insights into a wide range of trading strategies. By identifying the dominant market cycles in a financial instrument's price data, traders can create data-driven strategies that capitalize on the cyclical nature of markets.
For instance, a trader may develop a mean-reversion strategy that takes advantage of the identified cycles. By establishing positions when the price deviates from the predicted cycle, the trader can profit from the subsequent reversion to the cycle's mean. Similarly, a momentum-based strategy could be designed to exploit the persistence of a dominant cycle by entering positions that align with the cycle's direction.
Enhancing Risk Management:
The Goertzel algorithm plays a vital role in risk management for quantitative strategies. By analyzing the cyclical components of a financial instrument's price data, traders can gain insights into the potential risks associated with their trading strategies.
By monitoring the amplitude and phase of dominant cycles, a trader can detect changes in market dynamics that may pose risks to their positions. For example, a sudden increase in amplitude may indicate heightened volatility, prompting the trader to adjust position sizing or employ hedging techniques to protect their portfolio. Additionally, changes in phase alignment could signal a potential shift in market sentiment, necessitating adjustments to the trading strategy.
Expanding Quantitative Toolkits:
Traders can augment the Goertzel algorithm's insights by combining it with other quantitative techniques, creating a more comprehensive and sophisticated analysis framework. For example, machine learning algorithms, such as neural networks or support vector machines, could be trained on features extracted from the Goertzel algorithm to predict future price movements more accurately.
Furthermore, the Goertzel algorithm can be integrated with other technical analysis tools, such as moving averages or oscillators, to enhance their effectiveness. By applying these tools to the identified cycles, traders can generate more robust and reliable trading signals.
The Goertzel algorithm offers invaluable benefits to quantitative finance practitioners by uncovering hidden market cycles, aiding in the development of data-driven trading strategies, and improving risk management. By leveraging the insights provided by the Goertzel algorithm and integrating it with other quantitative techniques, traders can gain a deeper understanding of market dynamics and devise more effective trading strategies.
█ Indicator Inputs
src: This is the source data for the analysis, typically the closing price of the financial instrument.
detrendornot: This input determines the method used for detrending the source data. Detrending is the process of removing the underlying trend from the data to focus on the cyclical components.
The available options are:
hpsmthdt: Detrend using Hodrick-Prescott filter centered moving average.
zlagsmthdt: Detrend using zero-lag moving average centered moving average.
logZlagRegression: Detrend using logarithmic zero-lag linear regression.
hpsmth: Detrend using Hodrick-Prescott filter.
zlagsmth: Detrend using zero-lag moving average.
DT_HPper1 and DT_HPper2: These inputs define the period range for the Hodrick-Prescott filter centered moving average when detrendornot is set to hpsmthdt.
DT_ZLper1 and DT_ZLper2: These inputs define the period range for the zero-lag moving average centered moving average when detrendornot is set to zlagsmthdt.
DT_RegZLsmoothPer: This input defines the period for the zero-lag moving average used in logarithmic zero-lag linear regression when detrendornot is set to logZlagRegression.
HPsmoothPer: This input defines the period for the Hodrick-Prescott filter when detrendornot is set to hpsmth.
ZLMAsmoothPer: This input defines the period for the zero-lag moving average when detrendornot is set to zlagsmth.
MaxPer: This input sets the maximum period for the Goertzel algorithm to search for cycles.
squaredAmp: This boolean input determines whether the amplitude should be squared in the Goertzel algorithm.
useAddition: This boolean input determines whether the Goertzel algorithm should use addition for combining the cycles.
useCosine: This boolean input determines whether the Goertzel algorithm should use cosine waves instead of sine waves.
UseCycleStrength: This boolean input determines whether the Goertzel algorithm should compute the cycle strength, which is a normalized measure of the cycle's amplitude.
WindowSizePast and WindowSizeFuture: These inputs define the window size for past and future projections of the composite wave.
FilterBartels: This boolean input determines whether Bartel's test should be applied to filter out non-significant cycles.
BartNoCycles: This input sets the number of cycles to be used in Bartel's test.
BartSmoothPer: This input sets the period for the moving average used in Bartel's test.
BartSigLimit: This input sets the significance limit for Bartel's test, below which cycles are considered insignificant.
SortBartels: This boolean input determines whether the cycles should be sorted by their Bartel's test results.
UseCycleList: This boolean input determines whether a user-defined list of cycles should be used for constructing the composite wave. If set to false, the top N cycles will be used.
Cycle1, Cycle2, Cycle3, Cycle4, and Cycle5: These inputs define the user-defined list of cycles when 'UseCycleList' is set to true. If using a user-defined list, each of these inputs represents the period of a specific cycle to include in the composite wave.
StartAtCycle: This input determines the starting index for selecting the top N cycles when UseCycleList is set to false. This allows you to skip a certain number of cycles from the top before selecting the desired number of cycles.
UseTopCycles: This input sets the number of top cycles to use for constructing the composite wave when UseCycleList is set to false. The cycles are ranked based on their amplitudes or cycle strengths, depending on the UseCycleStrength input.
SubtractNoise: This boolean input determines whether to subtract the noise (remaining cycles) from the composite wave. If set to true, the composite wave will only include the top N cycles specified by UseTopCycles.
█ Exploring Auxiliary Functions
The following functions demonstrate advanced techniques for analyzing financial markets, including zero-lag moving averages, Bartels probability, detrending, and Hodrick-Prescott filtering. This section examines each function in detail, explaining their purpose, methodology, and applications in finance. We will examine how each function contributes to the overall performance and effectiveness of the indicator and how they work together to create a powerful analytical tool.
Zero-Lag Moving Average:
The zero-lag moving average function is designed to minimize the lag typically associated with moving averages. This is achieved through a two-step weighted linear regression process that emphasizes more recent data points. The function calculates a linearly weighted moving average (LWMA) on the input data and then applies another LWMA on the result. By doing this, the function creates a moving average that closely follows the price action, reducing the lag and improving the responsiveness of the indicator.
The zero-lag moving average function is used in the indicator to provide a responsive, low-lag smoothing of the input data. This function helps reduce the noise and fluctuations in the data, making it easier to identify and analyze underlying trends and patterns. By minimizing the lag associated with traditional moving averages, this function allows the indicator to react more quickly to changes in market conditions, providing timely signals and improving the overall effectiveness of the indicator.
Bartels Probability:
The Bartels probability function calculates the probability of a given cycle being significant in a time series. It uses a mathematical test called the Bartels test to assess the significance of cycles detected in the data. The function calculates coefficients for each detected cycle and computes an average amplitude and an expected amplitude. By comparing these values, the Bartels probability is derived, indicating the likelihood of a cycle's significance. This information can help in identifying and analyzing dominant cycles in financial markets.
The Bartels probability function is incorporated into the indicator to assess the significance of detected cycles in the input data. By calculating the Bartels probability for each cycle, the indicator can prioritize the most significant cycles and focus on the market dynamics that are most relevant to the current trading environment. This function enhances the indicator's ability to identify dominant market cycles, improving its predictive power and aiding in the development of effective trading strategies.
Detrend Logarithmic Zero-Lag Regression:
The detrend logarithmic zero-lag regression function is used for detrending data while minimizing lag. It combines a zero-lag moving average with a linear regression detrending method. The function first calculates the zero-lag moving average of the logarithm of input data and then applies a linear regression to remove the trend. By detrending the data, the function isolates the cyclical components, making it easier to analyze and interpret the underlying market dynamics.
The detrend logarithmic zero-lag regression function is used in the indicator to isolate the cyclical components of the input data. By detrending the data, the function enables the indicator to focus on the cyclical movements in the market, making it easier to analyze and interpret market dynamics. This function is essential for identifying cyclical patterns and understanding the interactions between different market cycles, which can inform trading decisions and enhance overall market understanding.
Bartels Cycle Significance Test:
The Bartels cycle significance test is a function that combines the Bartels probability function and the detrend logarithmic zero-lag regression function to assess the significance of detected cycles. The function calculates the Bartels probability for each cycle and stores the results in an array. By analyzing the probability values, traders and analysts can identify the most significant cycles in the data, which can be used to develop trading strategies and improve market understanding.
The Bartels cycle significance test function is integrated into the indicator to provide a comprehensive analysis of the significance of detected cycles. By combining the Bartels probability function and the detrend logarithmic zero-lag regression function, this test evaluates the significance of each cycle and stores the results in an array. The indicator can then use this information to prioritize the most significant cycles and focus on the most relevant market dynamics. This function enhances the indicator's ability to identify and analyze dominant market cycles, providing valuable insights for trading and market analysis.
Hodrick-Prescott Filter:
The Hodrick-Prescott filter is a popular technique used to separate the trend and cyclical components of a time series. The function applies a smoothing parameter to the input data and calculates a smoothed series using a two-sided filter. This smoothed series represents the trend component, which can be subtracted from the original data to obtain the cyclical component. The Hodrick-Prescott filter is commonly used in economics and finance to analyze economic data and financial market trends.
The Hodrick-Prescott filter is incorporated into the indicator to separate the trend and cyclical components of the input data. By applying the filter to the data, the indicator can isolate the trend component, which can be used to analyze long-term market trends and inform trading decisions. Additionally, the cyclical component can be used to identify shorter-term market dynamics and provide insights into potential trading opportunities. The inclusion of the Hodrick-Prescott filter adds another layer of analysis to the indicator, making it more versatile and comprehensive.
Detrending Options: Detrend Centered Moving Average:
The detrend centered moving average function provides different detrending methods, including the Hodrick-Prescott filter and the zero-lag moving average, based on the selected detrending method. The function calculates two sets of smoothed values using the chosen method and subtracts one set from the other to obtain a detrended series. By offering multiple detrending options, this function allows traders and analysts to select the most appropriate method for their specific needs and preferences.
The detrend centered moving average function is integrated into the indicator to provide users with multiple detrending options, including the Hodrick-Prescott filter and the zero-lag moving average. By offering multiple detrending methods, the indicator allows users to customize the analysis to their specific needs and preferences, enhancing the indicator's overall utility and adaptability. This function ensures that the indicator can cater to a wide range of trading styles and objectives, making it a valuable tool for a diverse group of market participants.
The auxiliary functions functions discussed in this section demonstrate the power and versatility of mathematical techniques in analyzing financial markets. By understanding and implementing these functions, traders and analysts can gain valuable insights into market dynamics, improve their trading strategies, and make more informed decisions. The combination of zero-lag moving averages, Bartels probability, detrending methods, and the Hodrick-Prescott filter provides a comprehensive toolkit for analyzing and interpreting financial data. The integration of advanced functions in a financial indicator creates a powerful and versatile analytical tool that can provide valuable insights into financial markets. By combining the zero-lag moving average,
█ In-Depth Analysis of the Goertzel Browser Code
The Goertzel Browser code is an implementation of the Goertzel Algorithm, an efficient technique to perform spectral analysis on a signal. The code is designed to detect and analyze dominant cycles within a given financial market data set. This section will provide an extremely detailed explanation of the code, its structure, functions, and intended purpose.
Function signature and input parameters:
The Goertzel Browser function accepts numerous input parameters for customization, including source data (src), the current bar (forBar), sample size (samplesize), period (per), squared amplitude flag (squaredAmp), addition flag (useAddition), cosine flag (useCosine), cycle strength flag (UseCycleStrength), past and future window sizes (WindowSizePast, WindowSizeFuture), Bartels filter flag (FilterBartels), Bartels-related parameters (BartNoCycles, BartSmoothPer, BartSigLimit), sorting flag (SortBartels), and output buffers (goeWorkPast, goeWorkFuture, cyclebuffer, amplitudebuffer, phasebuffer, cycleBartelsBuffer).
Initializing variables and arrays:
The code initializes several float arrays (goeWork1, goeWork2, goeWork3, goeWork4) with the same length as twice the period (2 * per). These arrays store intermediate results during the execution of the algorithm.
Preprocessing input data:
The input data (src) undergoes preprocessing to remove linear trends. This step enhances the algorithm's ability to focus on cyclical components in the data. The linear trend is calculated by finding the slope between the first and last values of the input data within the sample.
Iterative calculation of Goertzel coefficients:
The core of the Goertzel Browser algorithm lies in the iterative calculation of Goertzel coefficients for each frequency bin. These coefficients represent the spectral content of the input data at different frequencies. The code iterates through the range of frequencies, calculating the Goertzel coefficients using a nested loop structure.
Cycle strength computation:
The code calculates the cycle strength based on the Goertzel coefficients. This is an optional step, controlled by the UseCycleStrength flag. The cycle strength provides information on the relative influence of each cycle on the data per bar, considering both amplitude and cycle length. The algorithm computes the cycle strength either by squaring the amplitude (controlled by squaredAmp flag) or using the actual amplitude values.
Phase calculation:
The Goertzel Browser code computes the phase of each cycle, which represents the position of the cycle within the input data. The phase is calculated using the arctangent function (math.atan) based on the ratio of the imaginary and real components of the Goertzel coefficients.
Peak detection and cycle extraction:
The algorithm performs peak detection on the computed amplitudes or cycle strengths to identify dominant cycles. It stores the detected cycles in the cyclebuffer array, along with their corresponding amplitudes and phases in the amplitudebuffer and phasebuffer arrays, respectively.
Sorting cycles by amplitude or cycle strength:
The code sorts the detected cycles based on their amplitude or cycle strength in descending order. This allows the algorithm to prioritize cycles with the most significant impact on the input data.
Bartels cycle significance test:
If the FilterBartels flag is set, the code performs a Bartels cycle significance test on the detected cycles. This test determines the statistical significance of each cycle and filters out the insignificant cycles. The significant cycles are stored in the cycleBartelsBuffer array. If the SortBartels flag is set, the code sorts the significant cycles based on their Bartels significance values.
Waveform calculation:
The Goertzel Browser code calculates the waveform of the significant cycles for both past and future time windows. The past and future windows are defined by the WindowSizePast and WindowSizeFuture parameters, respectively. The algorithm uses either cosine or sine functions (controlled by the useCosine flag) to calculate the waveforms for each cycle. The useAddition flag determines whether the waveforms should be added or subtracted.
Storing waveforms in matrices:
The calculated waveforms for each cycle are stored in two matrices - goeWorkPast and goeWorkFuture. These matrices hold the waveforms for the past and future time windows, respectively. Each row in the matrices represents a time window position, and each column corresponds to a cycle.
Returning the number of cycles:
The Goertzel Browser function returns the total number of detected cycles (number_of_cycles) after processing the input data. This information can be used to further analyze the results or to visualize the detected cycles.
The Goertzel Browser code is a comprehensive implementation of the Goertzel Algorithm, specifically designed for detecting and analyzing dominant cycles within financial market data. The code offers a high level of customization, allowing users to fine-tune the algorithm based on their specific needs. The Goertzel Browser's combination of preprocessing, iterative calculations, cycle extraction, sorting, significance testing, and waveform calculation makes it a powerful tool for understanding cyclical components in financial data.
█ Generating and Visualizing Composite Waveform
The indicator calculates and visualizes the composite waveform for both past and future time windows based on the detected cycles. Here's a detailed explanation of this process:
Updating WindowSizePast and WindowSizeFuture:
The WindowSizePast and WindowSizeFuture are updated to ensure they are at least twice the MaxPer (maximum period).
Initializing matrices and arrays:
Two matrices, goeWorkPast and goeWorkFuture, are initialized to store the Goertzel results for past and future time windows. Multiple arrays are also initialized to store cycle, amplitude, phase, and Bartels information.
Preparing the source data (srcVal) array:
The source data is copied into an array, srcVal, and detrended using one of the selected methods (hpsmthdt, zlagsmthdt, logZlagRegression, hpsmth, or zlagsmth).
Goertzel function call:
The Goertzel function is called to analyze the detrended source data and extract cycle information. The output, number_of_cycles, contains the number of detected cycles.
Initializing arrays for past and future waveforms:
Three arrays, epgoertzel, goertzel, and goertzelFuture, are initialized to store the endpoint Goertzel, non-endpoint Goertzel, and future Goertzel projections, respectively.
Calculating composite waveform for past bars (goertzel array):
The past composite waveform is calculated by summing the selected cycles (either from the user-defined cycle list or the top cycles) and optionally subtracting the noise component.
Calculating composite waveform for future bars (goertzelFuture array):
The future composite waveform is calculated in a similar way as the past composite waveform.
Drawing past composite waveform (pvlines):
The past composite waveform is drawn on the chart using solid lines. The color of the lines is determined by the direction of the waveform (green for upward, red for downward).
Drawing future composite waveform (fvlines):
The future composite waveform is drawn on the chart using dotted lines. The color of the lines is determined by the direction of the waveform (fuchsia for upward, yellow for downward).
Displaying cycle information in a table (table3):
A table is created to display the cycle information, including the rank, period, Bartel value, amplitude (or cycle strength), and phase of each detected cycle.
Filling the table with cycle information:
The indicator iterates through the detected cycles and retrieves the relevant information (period, amplitude, phase, and Bartel value) from the corresponding arrays. It then fills the table with this information, displaying the values up to six decimal places.
To summarize, this indicator generates a composite waveform based on the detected cycles in the financial data. It calculates the composite waveforms for both past and future time windows and visualizes them on the chart using colored lines. Additionally, it displays detailed cycle information in a table, including the rank, period, Bartel value, amplitude (or cycle strength), and phase of each detected cycle.
█ Enhancing the Goertzel Algorithm-Based Script for Financial Modeling and Trading
The Goertzel algorithm-based script for detecting dominant cycles in financial data is a powerful tool for financial modeling and trading. It provides valuable insights into the past behavior of these cycles and potential future impact. However, as with any algorithm, there is always room for improvement. This section discusses potential enhancements to the existing script to make it even more robust and versatile for financial modeling, general trading, advanced trading, and high-frequency finance trading.
Enhancements for Financial Modeling
Data preprocessing: One way to improve the script's performance for financial modeling is to introduce more advanced data preprocessing techniques. This could include removing outliers, handling missing data, and normalizing the data to ensure consistent and accurate results.
Additional detrending and smoothing methods: Incorporating more sophisticated detrending and smoothing techniques, such as wavelet transform or empirical mode decomposition, can help improve the script's ability to accurately identify cycles and trends in the data.
Machine learning integration: Integrating machine learning techniques, such as artificial neural networks or support vector machines, can help enhance the script's predictive capabilities, leading to more accurate financial models.
Enhancements for General and Advanced Trading
Customizable indicator integration: Allowing users to integrate their own technical indicators can help improve the script's effectiveness for both general and advanced trading. By enabling the combination of the dominant cycle information with other technical analysis tools, traders can develop more comprehensive trading strategies.
Risk management and position sizing: Incorporating risk management and position sizing functionality into the script can help traders better manage their trades and control potential losses. This can be achieved by calculating the optimal position size based on the user's risk tolerance and account size.
Multi-timeframe analysis: Enhancing the script to perform multi-timeframe analysis can provide traders with a more holistic view of market trends and cycles. By identifying dominant cycles on different timeframes, traders can gain insights into the potential confluence of cycles and make better-informed trading decisions.
Enhancements for High-Frequency Finance Trading
Algorithm optimization: To ensure the script's suitability for high-frequency finance trading, optimizing the algorithm for faster execution is crucial. This can be achieved by employing efficient data structures and refining the calculation methods to minimize computational complexity.
Real-time data streaming: Integrating real-time data streaming capabilities into the script can help high-frequency traders react to market changes more quickly. By continuously updating the cycle information based on real-time market data, traders can adapt their strategies accordingly and capitalize on short-term market fluctuations.
Order execution and trade management: To fully leverage the script's capabilities for high-frequency trading, implementing functionality for automated order execution and trade management is essential. This can include features such as stop-loss and take-profit orders, trailing stops, and automated trade exit strategies.
While the existing Goertzel algorithm-based script is a valuable tool for detecting dominant cycles in financial data, there are several potential enhancements that can make it even more powerful for financial modeling, general trading, advanced trading, and high-frequency finance trading. By incorporating these improvements, the script can become a more versatile and effective tool for traders and financial analysts alike.
█ Understanding the Limitations of the Goertzel Algorithm
While the Goertzel algorithm-based script for detecting dominant cycles in financial data provides valuable insights, it is important to be aware of its limitations and drawbacks. Some of the key drawbacks of this indicator are:
Lagging nature:
As with many other technical indicators, the Goertzel algorithm-based script can suffer from lagging effects, meaning that it may not immediately react to real-time market changes. This lag can lead to late entries and exits, potentially resulting in reduced profitability or increased losses.
Parameter sensitivity:
The performance of the script can be sensitive to the chosen parameters, such as the detrending methods, smoothing techniques, and cycle detection settings. Improper parameter selection may lead to inaccurate cycle detection or increased false signals, which can negatively impact trading performance.
Complexity:
The Goertzel algorithm itself is relatively complex, making it difficult for novice traders or those unfamiliar with the concept of cycle analysis to fully understand and effectively utilize the script. This complexity can also make it challenging to optimize the script for specific trading styles or market conditions.
Overfitting risk:
As with any data-driven approach, there is a risk of overfitting when using the Goertzel algorithm-based script. Overfitting occurs when a model becomes too specific to the historical data it was trained on, leading to poor performance on new, unseen data. This can result in misleading signals and reduced trading performance.
No guarantee of future performance: While the script can provide insights into past cycles and potential future trends, it is important to remember that past performance does not guarantee future results. Market conditions can change, and relying solely on the script's predictions without considering other factors may lead to poor trading decisions.
Limited applicability: The Goertzel algorithm-based script may not be suitable for all markets, trading styles, or timeframes. Its effectiveness in detecting cycles may be limited in certain market conditions, such as during periods of extreme volatility or low liquidity.
While the Goertzel algorithm-based script offers valuable insights into dominant cycles in financial data, it is essential to consider its drawbacks and limitations when incorporating it into a trading strategy. Traders should always use the script in conjunction with other technical and fundamental analysis tools, as well as proper risk management, to make well-informed trading decisions.
█ Interpreting Results
The Goertzel Browser indicator can be interpreted by analyzing the plotted lines and the table presented alongside them. The indicator plots two lines: past and future composite waves. The past composite wave represents the composite wave of the past price data, and the future composite wave represents the projected composite wave for the next period.
The past composite wave line displays a solid line, with green indicating a bullish trend and red indicating a bearish trend. On the other hand, the future composite wave line is a dotted line with fuchsia indicating a bullish trend and yellow indicating a bearish trend.
The table presented alongside the indicator shows the top cycles with their corresponding rank, period, Bartels, amplitude or cycle strength, and phase. The amplitude is a measure of the strength of the cycle, while the phase is the position of the cycle within the data series.
Interpreting the Goertzel Browser indicator involves identifying the trend of the past and future composite wave lines and matching them with the corresponding bullish or bearish color. Additionally, traders can identify the top cycles with the highest amplitude or cycle strength and utilize them in conjunction with other technical indicators and fundamental analysis for trading decisions.
This indicator is considered a repainting indicator because the value of the indicator is calculated based on the past price data. As new price data becomes available, the indicator's value is recalculated, potentially causing the indicator's past values to change. This can create a false impression of the indicator's performance, as it may appear to have provided a profitable trading signal in the past when, in fact, that signal did not exist at the time.
The Goertzel indicator is also non-endpointed, meaning that it is not calculated up to the current bar or candle. Instead, it uses a fixed amount of historical data to calculate its values, which can make it difficult to use for real-time trading decisions. For example, if the indicator uses 100 bars of historical data to make its calculations, it cannot provide a signal until the current bar has closed and become part of the historical data. This can result in missed trading opportunities or delayed signals.
█ Conclusion
The Goertzel Browser indicator is a powerful tool for identifying and analyzing cyclical patterns in financial markets. Its ability to detect multiple cycles of varying frequencies and strengths make it a valuable addition to any trader's technical analysis toolkit. However, it is important to keep in mind that the Goertzel Browser indicator should be used in conjunction with other technical analysis tools and fundamental analysis to achieve the best results. With continued refinement and development, the Goertzel Browser indicator has the potential to become a highly effective tool for financial modeling, general trading, advanced trading, and high-frequency finance trading. Its accuracy and versatility make it a promising candidate for further research and development.
█ Footnotes
What is the Bartels Test for Cycle Significance?
The Bartels Cycle Significance Test is a statistical method that determines whether the peaks and troughs of a time series are statistically significant. The test is named after its inventor, George Bartels, who developed it in the mid-20th century.
The Bartels test is designed to analyze the cyclical components of a time series, which can help traders and analysts identify trends and cycles in financial markets. The test calculates a Bartels statistic, which measures the degree of non-randomness or autocorrelation in the time series.
The Bartels statistic is calculated by first splitting the time series into two halves and calculating the range of the peaks and troughs in each half. The test then compares these ranges using a t-test, which measures the significance of the difference between the two ranges.
If the Bartels statistic is greater than a critical value, it indicates that the peaks and troughs in the time series are non-random and that there is a significant cyclical component to the data. Conversely, if the Bartels statistic is less than the critical value, it suggests that the peaks and troughs are random and that there is no significant cyclical component.
The Bartels Cycle Significance Test is particularly useful in financial analysis because it can help traders and analysts identify significant cycles in asset prices, which can in turn inform investment decisions. However, it is important to note that the test is not perfect and can produce false signals in certain situations, particularly in noisy or volatile markets. Therefore, it is always recommended to use the test in conjunction with other technical and fundamental indicators to confirm trends and cycles.
Deep-dive into the Hodrick-Prescott Fitler
The Hodrick-Prescott (HP) filter is a statistical tool used in economics and finance to separate a time series into two components: a trend component and a cyclical component. It is a powerful tool for identifying long-term trends in economic and financial data and is widely used by economists, central banks, and financial institutions around the world.
The HP filter was first introduced in the 1990s by economists Robert Hodrick and Edward Prescott. It is a simple, two-parameter filter that separates a time series into a trend component and a cyclical component. The trend component represents the long-term behavior of the data, while the cyclical component captures the shorter-term fluctuations around the trend.
The HP filter works by minimizing the following objective function:
Minimize: (Sum of Squared Deviations) + λ (Sum of Squared Second Differences)
Where:
The first term represents the deviation of the data from the trend.
The second term represents the smoothness of the trend.
λ is a smoothing parameter that determines the degree of smoothness of the trend.
The smoothing parameter λ is typically set to a value between 100 and 1600, depending on the frequency of the data. Higher values of λ lead to a smoother trend, while lower values lead to a more volatile trend.
The HP filter has several advantages over other smoothing techniques. It is a non-parametric method, meaning that it does not make any assumptions about the underlying distribution of the data. It also allows for easy comparison of trends across different time series and can be used with data of any frequency.
However, the HP filter also has some limitations. It assumes that the trend is a smooth function, which may not be the case in some situations. It can also be sensitive to changes in the smoothing parameter λ, which may result in different trends for the same data. Additionally, the filter may produce unrealistic trends for very short time series.
Despite these limitations, the HP filter remains a valuable tool for analyzing economic and financial data. It is widely used by central banks and financial institutions to monitor long-term trends in the economy, and it can be used to identify turning points in the business cycle. The filter can also be used to analyze asset prices, exchange rates, and other financial variables.
The Hodrick-Prescott filter is a powerful tool for analyzing economic and financial data. It separates a time series into a trend component and a cyclical component, allowing for easy identification of long-term trends and turning points in the business cycle. While it has some limitations, it remains a valuable tool for economists, central banks, and financial institutions around the world.
Trend & Pullback Toolkit (Expo)█ Overview
The Trend & Pullback Trading Toolkit is an all-encompassing suite of tools designed for serious traders who want a comprehensive trend approach. It empowers traders to align their strategies with prevailing market trends, thereby mitigating risk while maximizing profit potential.
The Toolkit helps traders spot, analyze, and react to market trends, pullbacks, and significant trends. It combines multiple trading methodologies, such as the Elliott Wave theory, cyclical analysis, retracement analysis, strength analysis, volatility analysis, and pivot analysis, to provide a thorough understanding of the market. All these tools can help traders detect trends, pullbacks, and major shifts in the overall trend. By integrating different methodologies, this toolkit offers a multifaceted approach to analyzing market trends.
In essence, the Trend & Pullback Toolkit is the complete package for traders seeking to detect, evaluate, and act upon market trends and pullbacks while being prepared for major trend shifts.
The Trend & Pullback Toolkit works in any market and timeframe for discretionary analysis and includes many oscillators and features, but first, let us define what a cycle is:
█ What is a cycle
This involves the analysis of recurring patterns or events in the market that repeat over a specific period. Cycles can exist in various time frames and can be identified and analyzed with various tools, including some types of oscillators or time-based analysis methods.
Traders must also be aware that cycles do not always repeat perfectly and can often shift, evolve, or disappear entirely.
█ Features & How They Work
Elliott Wave Cycles: This is a method of technical analysis that traders use to analyze financial market cycles and forecast market trends. Elliott Wave theory asserts that markets move in repetitive cycles, which traders can analyze to predict future price movement. The core principle behind the theory is that market prices alternate between an impulsive, or driving phase, and a corrective phase on all time scales of trend. This pattern forms a fractal, meaning it's a self-similar pattern that repeats regardless of the degree or size of the waves.
The Elliott Wave Cycle Feature uses the principle of the Elliott Wave to identify trends and pullbacks in real-time.
Ratio Wave Cycle: This method elaborates on the concept of how negative volatility, or the degree of variation in the negative returns of a financial instrument, influences the effectiveness of a relative price move. Essentially, it delves into the relationship between the negative fluctuations in the market and the resulting relative price change, exploring how the two aspects interact with each other.
The central concept is that trends are generally more stable and predictable than rapid retracements. Therefore, the indicator calculates the relationship between these two market movements. By doing so, it establishes a trend-based identification system. This system aids in forecasting future market movements, allowing traders to make informed decisions based on these predictions. Essentially, it uses the calculated relationship to discern the overall direction (trend) of the market despite temporary counter-movements (retracements), thereby providing a more robust trading signal.
Periodic Wave Cycle: Thi refers to patterns or events in price action that recur over a specific time period. Periodic cycles can range from short-term intraday cycles (like the tendency for stock market volatility to be high at the opening and close of trading) to long-term cycles trend cycles. Traders use this to predict future price movements and trends.
By identifying the phases of a cycle, traders can predict key turning points in the market.
Retracement Cycles: Retracements are temporary price reversals that occur within a larger trend. These retracements are a common occurrence in all markets and timeframes, representing a pause or counter-move within a larger prevailing trend. Retracements can be driven by a variety of factors, including profit-taking, market uncertainty, or a change in market fundamentals. Despite these periodic reversals, the overall trend (upwards or downwards) often continues after the retracement is complete.
Fibonacci retracement functions are primarily used to identify potential retracement levels.
Volatility Cycle: A volatility cycle refers to the periodic changes in the degree of dispersion or variability of a security's returns, expressed as a standard deviation or variance. This feature uses both measures.
Strength Cycle: Gauges the power of a market trend and its inherent impulses. This feature offers a broad perspective on the cyclical nature of markets, which alternate between periods of strength, often referred to as bull markets, and periods of weakness, known as bear markets. It effectively tracks the direction, intensity, and cyclic patterns of market behavior.
Let us define the difference between strength and impulse:
Strength: This refers to the power or force behind a price move. In trading, this refers to the momentum or volume supporting a price move.
Impulse: In the context of trading, an impulse usually refers to a strong move in price. Impulse moves are typically followed by corrective moves against the trend.
Pivot Cycles: Pivot cycles refer to the observation of recurring price patterns or turning points in the market. Pivots can be defined as significant highs or lows that act as potential reversal or support/resistance points. Pivot point analysis helps traders understand the prevailing market sentiment. Overall, pivot cycles provide traders with a framework to identify potential market turning points and price levels of interest.
█ How to use the Trend & Pullback Toolkit
Elliott Wave Cycles
Ratio Wave Cycle
Periodic Wave Cycle
Retracement Cycles
Volatility Cycle:
Strength Cycle
Pivot Cycles
█ Why is this Trend & Pullback Toolkit Needed?
The core philosophy of this toolkit revolves around the popular adage in trading circles: "The trend is your friend." This toolkit ensures that you are always in sync with the trend, thereby increasing the chances of successful trades.
Here's an overview of the key benefits:
Trend Identification: The toolkit includes sophisticated algorithms and indicators that help identify the prevailing trend in the market. These algorithms analyze price patterns, momentum, volume, and other factors to determine the direction and strength of the trend.
Risk Reduction: By enabling traders to trade with the trend, this toolkit reduces the risk of betting against market momentum.
Profit Maximization: Trading with the trend increases the likelihood of successful trades.
Advanced Analysis Tools: The toolkit includes tools that provide a deeper insight into market dynamics. These tools enable a multi-dimensional analysis of market trends, from Elliott Wave cycles and period cycles to retracement cycles, ratio wave cycles, pivot cycles, and strength cycles.
User-friendly Interface: Despite its sophistication, the toolkit is designed with user-friendliness in mind. It allows for customization and presents data in easy-to-understand formats.
Versatility: The toolkit is versatile and can be used across different markets - stocks, forex, commodities, and cryptocurrencies. This makes it a valuable resource for all types of traders.
█ Any Alert Function Call
This function allows traders to combine any feature and create customized alerts. These alerts can be set for various conditions and customized according to the trader's strategy or preferences.
█ In conclusion, The Trading Toolkit is a powerful ally for any trader, offering the capabilities to navigate the complexities of the market with ease. Whether you're a novice or an experienced trader, this toolkit provides a structured and systematic approach to trading.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. 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.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Ichimoku Theories [LuxAlgo]The Ichimoku Theories indicator is the most complete Ichimoku tool you will ever need. Four tools combined into one to harness all the power of Ichimoku Kinkō Hyō.
This tool features the following concepts based on the work of Goichi Hosoda:
Ichimoku Kinkō Hyō: Original Ichimoku indicator with its five main lines and kumo.
Time Theory: automatic time cycle identification and forecasting to understand market timing.
Wave Theory: automatic wave identification to understand market structure.
Price Theory: automatic identification of developing N waves and possible price targets to understand future price behavior.
🔶 ICHIMOKU KINKŌ HYŌ
Ichimoku with lines only, Kumo only and both together
Let us start with the basics: the Ichimoku original indicator is a tool to understand the market, not to predict it, it is a trend-following tool, so it is best used in trending markets.
Ichimoku tells us what is happening in the market and what may happen next, the aim of the tool is to provide market understanding, not trading signals.
The tool is based on calculating the mid-point between the high and low of three pre-defined ranges as the equilibrium price for short (9 periods), medium (26 periods), and long (52 periods) time horizons:
Tenkan sen: middle point of the range of the last 9 candles
Kinjun sen: middle point of the range of the last 26 candles
Senkou span A: middle point between Tankan Sen and Kijun Sen, plotted 26 candles into the future
Senkou span B: midpoint of the range of the last 52 candles, plotted 26 candles into the future
Chikou span: closing price plotted 26 candles into the past
Kumo: area between Senkou pans A and B (kumo means cloud in Japanese)
The most basic use of the tool is to use the Kumo as an area of possible support or resistance.
🔶 TIME THEORY
Current cycles and forecast
Time theory is a critical concept used to identify historical and current market cycles, and use these to forecast the next ones. This concept is based on the Kihon Suchi (translating to "Basic Numbers" in Japanese), these are 9 and 26, and from their combinations we obtain the following sequence:
9, 17, 26, 33, 42, 51, 65, 76, 129, 172, 200, 257
The main idea is that the market moves in cycles with periods set by the Kihon Suchi sequence.
When the cycle has the same exact periods, we obtain the Taito Suchi (translating to "Same Number" in Japanese).
This tool allows traders to identify historical and current market cycles and forecast the next one.
🔹 Time Cycle Identification
Presentation of 4 different modes: SWINGS, HIGHS, KINJUN, and WAVES .
The tool draws a horizontal line at the bottom of the chart showing the cycles detected and their size.
The following settings are used:
Time Cycle Mode: up to 7 different modes
Wave Cycle: Which wave to use when WAVE mode is selected, only active waves in the Wave Theory settings will be used.
Show Time Cycles: keep a cleaner chart by disabling cycles visualisation
Show last X time cycles: how many cycles to display
🔹 Time Cycle Forecast
Showcasing the two forecasting patterns: Kihon Suchi and Taito Suchi
The tool plots horizontal lines, a solid anchor line, and several dotted forecast lines.
The following settings are used:
Show time cycle forecast: to keep things clean
Forecast Pattern: comes in two flavors
Kihon Suchi plots a line from the anchor at each number in the Kihon Suchi sequence.
Taito Suchi plot lines from the anchor with the same size detected in the anchored cycle
Anchor forecast on last X time cycle: traders can place the anchor in any detected cycle
🔶 WAVE THEORY
All waves activated with overlapping
The main idea behind this theory is that markets move like waves in the sea, back and forth (making swing lows and highs). Understanding the current market structure is key to having realistic expectations of what the market may do next. The waves are divided into Simple and Complex.
The following settings are used:
Basic Waves: allows traders to activate waves I, V and N
Complex Waves: allows traders to activate waves P, Y and W
Overlapping waves: to avoid missing out on any of the waves activated
Show last X waves: how many waves will be displayed
🔹 Basic Waves
The three basic waves
The basic waves from which all waves are made are I, V, and N
I wave: one leg moves
V wave: two legs move, one against the other
N wave: Three legs move, push, pull back, and another push
🔹 Complex Waves
Three complex waves
There are other waves like
P wave: contracting market
Y wave: expanding market
W wave: double top or double bottom
🔶 PRICE THEORY
All targets for the current N wave with their calculations
This theory is based on identifying developing N waves and predicting potential price targets based on that developing wave.
The tool displays 4 basic targets (V, E, N, and NT) and 3 extended targets (2E and 3E) according to the calculations shown in the chart above. Traders can enable or disable each target in the settings panel.
🔶 USING EVERYTHING TOGETHER
Please DON'T do this. This is not how you use it
Now the real example:
Daily chart of Nasdaq 100 futures (NQ1!) with our Ichimoku analysis
Time, waves, and price theories go together as one:
First, we identify the current time cycles and wave structure.
Then we forecast the next cycle and possible key price levels.
We identify a Taito Suchi with both legs of exactly 41 candles on each I wave, both together forming a V wave, the last two I waves are part of a developing N wave, and the time cycle of the first one is 191 candles. We forecast this cycle into the future and get 22nd April as a key date, so in 6 trading days (as of this writing) the market would have completed another Taito Suchi pattern if a new wave and time cycle starts. As we have a developing N wave we can see the potential price targets, the price is actually between the NT and V targets. We have a bullish Kumo and the price is touching it, if this Kumo provides enough support for the price to go further, the market could reach N or E targets.
So we have identified the cycle and wave, our expectations are that the current cycle is another Taito Suchi and the current wave is an N wave, the first I wave went for 191 candles, and we expect the second and third I waves together to amount to 191 candles, so in theory the N wave would complete in the next 6 trading days making a swing high. If this is indeed the case, the price could reach the V target (it is almost there) or even the N target if the bulls have the necessary strength.
We do not predict the future, we can only aim to understand the current market conditions and have future expectations of when (time), how (wave), and where (price) the market will make the next turning point where one side of the market overcomes the other (bulls vs bears).
To generate this chart, we change the following settings from the default ones:
Swing length: 64
Show lines: disabled
Forecast pattern: TAITO SUCHI
Anchor forecast: 2
Show last time cycles: 5
I WAVE: enabled
N WAVE: disabled
Show last waves: 5
🔶 SETTINGS
Show Swing Highs & Lows: Enable/Disable points on swing highs and swing lows.
Swing Length: Number of candles to confirm a swing high or swing low. A higher number detects larger swings.
🔹 Ichimoku Kinkō Hyō
Show Lines: Enable/Disable the 5 Ichimoku lines: Kijun sen, Tenkan sen, Senkou span A & B and Chikou Span.
Show Kumo: Enable/Disable the Kumo (cloud). The Kumo is formed by 2 lines: Senkou Span A and Senkou Span B.
Tenkan Sen Length: Number of candles for Tenkan Sen calculation.
Kinjun Sen Length: Number of candles for the Kijun Sen calculation.
Senkou Span B Length: Number of candles for Senkou Span B calculation.
Chikou & Senkou Offset: Number of candles for Chikou and Senkou Span calculation. Chikou Span is plotted in the past, and Senkou Span A & B in the future.
🔹 Time Theory
Show Time Cycle Forecast: Enable/Disable time cycle forecast vertical lines. Disable for better performance.
Forecast Pattern: Choose between two patterns: Kihon Suchi (basic numbers) or Taito Suchi (equal numbers).
Anchor forecast on last X time cycle: Number of time cycles in the past to anchor the time cycle forecast. The larger the number, the deeper in the past the anchor will be.
Time Cycle Mode: Choose from 7 time cycle detection modes: Tenkan Sen cross, Kijun Sen cross, Kumo change between bullish & bearish, swing highs only, swing lows only, both swing highs & lows and wave detection.
Wave Cycle: Choose which type of wave to detect from 6 different wave types when the time cycle mode is set to WAVES.
Show Time Cycles: Enable/Disable time cycle horizontal lines. Disable for better performance.
how last X time cycles: Maximum number of time cycles to display.
🔹 Wave Theory
Basic Waves: Enable/Disable the display of basic waves, all at once or one at a time. Disable for better performance.
Complex Waves: Enable/Disable complex wave display, all at once or one by one. Disable for better performance.
Overlapping Waves: Enable/Disable the display of waves ending on the same swing point.
Show last X waves: 'Maximum number of waves to display.
🔹 Price Theory
Basic Targets: Enable/Disable horizontal price target lines. Disable for better performance.
Extended Targets: Enable/Disable extended price target horizontal lines. Disable for better performance.
Daye Quarterly Theory by toodegrees> Introduction and Acknowledgements
The Daye Quarterly Theory° tool encompasses the cyclical Time aspect of the markets as studied and developed by Daye (traderdaye on Twitter).
I am not the creator of this Theory, and I do not hold the answers to all the questions you may have; I suggest you to study it from Daye's tweets and material.
I collaborated directly with Daye to bring a comprehensive Time tool to Tradingview.
S/O to @a1tmaniac and @joshuuu for their previous works on this Theory.
> Tool Description
This is purely a graphical aid for traders to be able to quickly determine Daye's Quarterly Cycles, and save Time while on the charts.
The disruptive value of this tool is that it reliably plots forwards in Time, allowing you to strategize and tape read efficiently; as well as calculating all the Cycles, from Micro Sessions, to the Year.
> Quarterly Theory by Daye
The underlying idea is that Time is to be divided in Quarters for correct interpretation of Market Cycles. The specific starting point of a Cycle will depend on the Timeframe at hand.
Daye being one of the most prominent Inner Circle Trader students, these ideas stem from ICT's concepts themselves, and are to be used hand in hand (PD Array Matrix, PO3, Institutional Price Levels, ...).
These Quarters represent:
A - Accumulation (required for a cycle to occur)
M - Manipulation
D - Distribution
X - Reversal/Continuation
The latter are going to always be in this specific sequence; however the cycle can be transposed to have its beginning in X, trivially followed by A, M, and finally D.
This feature is not automatic and at the subjective discretion of the Analyst.
Note: this theory has been developed on Futures, hence its validity and reliability may change depending on the market Time.
This tool does provide a dynamic and auto-adapting aspect to different market types and Times, however they must be seen as experimental.
> Quarterly Cycles
The Quarterly Cycles currently supported are: Yearly, Monthly, Weekly, Daily, 90 Minute, Micro Sessions.
– Yearly Cycle:
Analogously to financial quarters, the year is divided in four sections of three months each
Q1 - January, February, March
Q2 - April, May, June (True Open, April Open)
Q3 - July, August, September
Q4 - October, November, December
Note: this Cycle is the most difficult to optimize as Timeframes become more granular due to the sheer length of its duration. With Time and advancements it will become more accurate. This is the only Cycle for which accuracy is not 100%.
– Monthly Cycle:
Considering that we have four weeks in a month, we start the cycle on the first month’s Monday (regardless of the calendar Day).
Q1 - Week 1, first Monday of the month
Q2 - Week 2, second Monday of the month (True Open, Daily Candle Open Price)
Q3 - Week 3, third Monday of the month
Q4 - Week 4, fourth Monday of the month
– Weekly Cycle:
Daye determined that although the trading week is composed by 5 trading days, we should ignore Friday, and the small portion of Sunday’s price action.
Q1 - Monday
Q2 - Tuesday (True Open, Daily Candle Open Price)
Q3 - Wednesday
Q4 - Thursday
– Daily Cycle:
The Day can be broken down into 6H quarters. These Times roughly define the sessions of the Trading Day, reinforcing the Theory’s validity.
Q1 - 18:00 - 00:00, Asian Session
Q2 - 00:00 - 06:00, London Session (True Open, Midnight New York Time)
Q3 - 06:00 - 12:00, NY Session
Q4 - 12:00 - 18:00, PM Session
Note: these Times are based on Futures Trading in New York Time, these will vary depending on the market type (experimental).
– 90 Minute Cycle:
Merely dividing one of the Daily Cycle’s Quarters we obtain 90 minute quarters. The first one in a Trading Day – 90min Cycles of the Asian Session – follows as an example, in New York Time.
Q1 - 18:00 - 19:30
Q2 - 19:30 - 21:00 (True Open)
Q3 - 21:00 - 22:30
Q4 - 22:30 - 00:00
– Micro Cycle:
Lastly, dividing a 90 Minute Cycle yields 22.5 Minute Quarters, known as Micro Sessions. An example breaking down the 90 Minute Cycle from 18:00 to 19:30 follows.
Q1 - 18:00 - 18:22:30
Q2 - 18:22:30 - 18:45 (True Open)
Q3 - 18:45 - 19:07:30
Q4 - 19:07:30 - 19:30
Note: trivially, these may not be exact unless the Timeframe is in the seconds, to correctly account for the half minute in each quarter – this said the tool is able to plot these anyways, although slight inaccuracy needs to be taken account depending on the Timeframe.
It is important to remember and be aware that the current chart’s Timeframe will heavily impact the plotted Time Cycles. This tool is in its initial form and it will be improved and adapted as traders start using it on a daily basis.
> Tool Settings
Plot Settings:
"Plot Type" will allow you to decide how the Cycles will be displayed. Out of the box the tool will be plotted on a separate pane, at the bottom of the chart; you can decide the orientation of the cycles from longest cycle at the bottom (Bottom Pane), or top (Top Pane). Alternatively you can move the tool to the chart and have the cycles plot on price (Move To -> Existing Pane Above), specifically above price (Top), or below (Bottom). The cycles will auto adjust their position based on the visible price action.
"Historical Cycles" will show previous Historical Cycles, up to where available in terms of script memory.
"Plot Size" will allow you to vary the height of the Cycle’s boxes
"Show Labels" will give you an auto-adapting legend which will help you determine which Cycle is which if you get lost.
The remaining Settings are self explanatory, allowing you to change colors, and choose which Cycles to see.
The source of the code is hidden due to the use of private libraries of mine. Happy to answer any questions in terms of code, where I will not be able to divulge any detail that concerns said libraries. Thank you for understanding!
Major thanks to Daye for his Time and Knowledge, it was a pleasure to collaborate and work together on this tool.
GLGT!
AlgoCados x Gann Toolkit AnalysisAlgoCados x Gann Toolkit Analysis
The "AlgoCados x Gann Toolkit Analysis" is an advanced TradingView indicator combining the principles of W.D. Gann’s methodologies with the power of custom anchor points and time cycles. Tailored for traders seeking precision in market timing and price-level analysis, this toolkit integrates the Anchored Square of 9, customizable Gann Fans, and Time cycles. It offers unparalleled flexibility, allowing users to apply Gann’s techniques across different market assets and timeframes by squaring the chart, providing insights into support, resistance, and potential trend reversals.
CME_MINI:NQH2025
# Core Functionalities
# Gann’s Square of 9 Price Projections
This indicator applies Gann’s Square of 9 principles, allowing traders to anchor price projections at significant highs, lows, opens, or closes. By following the Gann Wheel methodology, it calculates critical support and resistance levels through angular shifts, providing accurate projections based on the chosen anchor point. Traders can adjust the anchor to align with various market conditions, refining their analysis according to their preferred starting price.
# Gann’s Cycles Time Projection
Incorporating Gann’s natural cycles of 144 and 360, this indicator utilizes bar index logic to project time cycles, best suited for unit-based timeframes (e.g., 1 minute, 1 hour, 1 day). These time projections are plotted dynamically, adapting in real time to new data and offering a structured view of Gann’s cyclical approach to market timing.
# Customizable Gann Fans
The toolkit includes a flexible Gann Fan module that lets traders scale ratios around a user-defined “1x1” ratio, making it adaptable across different assets and timeframes. With seven standard fan lines (1x1, 2x1, 4x1, 8x1, 1x2, 1x4, 1x8), each line is drawn dynamically based on the selected anchor point, providing insights into price action direction and potential support/resistance zones. These fans can be positioned for both bullish and bearish setups.
# Square of 4 Projections
By dividing Gann’s 360° cycles into four 90° segments, the indicator generates additional projections for more granular analysis. These divisions highlight key support/resistance levels, allowing traders to observe market responses at each 90° increment and identify potential reversal points. By default users will view larger cycles, up to 5760°, to capture significant long-term trends.
# Dynamic Labeling and Visualization
The indicator features customizable line styles (solid, dotted, dashed) and labeling options (Levels, Prices, Levels + Prices). This flexibility allows traders to create clear, structured chart visuals that reflect their analytical needs. Dynamic labels display degrees and prices for each projection, helping traders understand price movements at a glance.
CME_MINI:NQH2025
# Mathematical Foundation and Indicator Logic
# Anchor Point Calculation
The selected anchor (High, Low, Open, or Close) serves as the baseline for Gann calculations, determining all subsequent projections. Users can control the anchor time and adjust for offsets to optimize alignment with key market events.
# Angular Shifts and Square Root Scaling
Projections are calculated by applying angular shifts to the square root of the anchor price, with the toolkit generating both positive and negative deviations. This method reveals potential price levels by mapping out a series of support and resistance points based on Gann’s cyclic philosophy.
# Time Cycle Analysis_ 144 & 360 Cycles
Utilizing the bar index logic, the indicator plots time projections aligned with Gann’s 144 and 360 cycles, which apply best to unit-based timeframes like 1 minute, 1 hour, 1 day, etc. Time cycles are labeled and extended dynamically, ensuring the chart reflects real-time market shifts as new bars are added.
# Key Features and Customization Options
# Adjustable Angular Shifts and Cycles
Angular shifts from 360° to 5760° are available, offering detail from intraday to long-term trends. The Square of 4 cycles enhance analysis by dividing the 360° Gann Wheel into four equal parts, revealing critical resistance/support points within each cycle.
# Fully Customizable Projection Lines
Projection lines are customizable by style (solid, dotted, dashed) and color, ensuring a clear distinction between equilibrium, support, and resistance levels. The toolkit also includes separate settings for upper and lower deviations, allowing traders to focus on specific market directions.
# Flexible Input Settings for Time and Price
Users can set anchor points, time cycles, line styles, and labels with precision, tailoring the indicator to any asset, timeframe, or market condition.
# Dynamic Labeling and Offsets
Each projection line displays dynamic labels that show angular shifts and associated prices, enhancing readability and ease of analysis. Labels can be offset to avoid chart clutter, creating a clean and user-friendly chart.
CME_MINI:NQH2025
# Recommended Usage
# Time Cycles for Key Market Events
Anchor points should align with major highs or lows to reflect accurate time cycles. The toolkit’s flexibility in time cycle selection (1x1, 144, or 360 cycles) ensures precision in market timing analysis. Ideal for unit-based timeframes such as 1 minute, 1 hour, 1 day, 1 week, or 1 month.
# Price Levels with Gann Fans
Set anchor points on significant highs or lows to apply the Gann Fan tool effectively, projecting key price levels across multiple timeframes; the default fan is set on 1x1 (one price unit for one time unit), the ratio can be manually changed based on the chart specifics.
# Square of 4 Analysis
Dividing Gann Wheels into 90° segments allows traders to identify critical support and resistance levels within each 360° cycle. This feature is ideal for pinpointing intraday reversals or aligning with long-term trend cycles.
# Technical Overview
Indicator Name : AlgoCados x Gann Toolkit Analysis
Platform Compatibility : TradingView
Version : Pine Script v6
License: Mozilla Public License 2.0
Author : AlgoCados, © 2025
Overlay : True (overlays directly on price chart)
Core Functions : Anchored Square of 9, Customizable Gann Fans, and Time-Cycles projections
Customizable Settings : Anchor time/point, Angular shifts, Time cycles, Fan ratios, Label styles
Maximize Gann Analysis Precision with AlgoCados; Healthy with Your Trading!
SFC Smart Money Manipulation - Time, Advanced Market StructureThis indicator shows the market structure in more advanced way and different time cycles.
Markets moves in cycles and swings. The indicator will help to determine these cycles and swings by time and price. These are the two columns of the market understanding. The third one is volume/ momentum, but it will not be discussed here.
Advanced Market Structure
According to ICT and Larry Williams Market Structure is not only Highs and Lows.
They present more advanced understanding of the MS:
-Short Term Highs/ Lows
-Intermediate Term Highs/ Lows
-Long Term Highs/ Lows
Rules of how to determine the Swing Points according to Larry Williams:
"A market has made a short-term low when we have a day (or bar if you are using different time periods) that has a higher low on both sides. By the same token a short-term high will be a day (or bar) that has lower bars on both sides of it."
"A short-term high with lower short-term highs on both sides is an intermediate- term high. By the same token, a short-term low with higher short-term lows on both sides is an intermediate-term low."
"An intermediate-term high with lower intermediate-term highs on both sides of it is just naturally a long-term high by our definition, thanks to understanding market structure.
An intermediate-term low with higher intermediate-term lows on both sides of it is just naturally a long-term low by our definition, thanks to understanding market structure."
If the Highs and Lows are labeled properly there is high probability to predict the next High or Low. In this way the trader will know how the current trend is changing and what kind of retracement is coming - deep or shallow.
Timing
Market moves in time cycles.
There is a theory that the swings are equal by time and length. This is not always the case, but very very often.
Indicator time features:
- Swing Trading days - how many time market needed to form a swing. Only Long term(main) Swings are measured. This will help trader to label T-formations.
" T Formations is cyclically related for formations that can be drawn to project the time frame of likely turning points. Basically T-formations are based on the concept that the time distance between the starting low/high of the cyclical wave and its peak is likely to be subsequently repeated between that peak and the final low/high of that cycle."
- Seasonality - theoretically an asset should go up or down in particular yearly quarter. Practically the direction not always match to quarters. Thats why the indicator shows the theoretical seasonal direction and historical real direction.
Seasonal direction is automatically displayed or XAUUSD, XAGUSD, EURUSD, AUDUSD, GBPUSD. There is a ways to set the seasonality manually.
- Earnings Season - This time is very important for Stocks and Indices. Most of the time the assets are in bullish trend during the Earnings Seasons.
- Monthly separator - Shows the monthly time cycle
- Gold bullish months - There are studies on Gold market. They shows that Gold is very bullish in particular months. These are displayed.
The indicator works only on Daily Time Frame.
Quinn-Fernandes Fourier Transform of Filtered Price [Loxx]Down the Rabbit Hole We Go: A Deep Dive into the Mysteries of Quinn-Fernandes Fast Fourier Transform and Hodrick-Prescott Filtering
In the ever-evolving landscape of financial markets, the ability to accurately identify and exploit underlying market patterns is of paramount importance. As market participants continuously search for innovative tools to gain an edge in their trading and investment strategies, advanced mathematical techniques, such as the Quinn-Fernandes Fourier Transform and the Hodrick-Prescott Filter, have emerged as powerful analytical tools. This comprehensive analysis aims to delve into the rich history and theoretical foundations of these techniques, exploring their applications in financial time series analysis, particularly in the context of a sophisticated trading indicator. Furthermore, we will critically assess the limitations and challenges associated with these transformative tools, while offering practical insights and recommendations for overcoming these hurdles to maximize their potential in the financial domain.
Our investigation will begin with a comprehensive examination of the origins and development of both the Quinn-Fernandes Fourier Transform and the Hodrick-Prescott Filter. We will trace their roots from classical Fourier analysis and time series smoothing to their modern-day adaptive iterations. We will elucidate the key concepts and mathematical underpinnings of these techniques and demonstrate how they are synergistically used in the context of the trading indicator under study.
As we progress, we will carefully consider the potential drawbacks and challenges associated with using the Quinn-Fernandes Fourier Transform and the Hodrick-Prescott Filter as integral components of a trading indicator. By providing a critical evaluation of their computational complexity, sensitivity to input parameters, assumptions about data stationarity, performance in noisy environments, and their nature as lagging indicators, we aim to offer a balanced and comprehensive understanding of these powerful analytical tools.
In conclusion, this in-depth analysis of the Quinn-Fernandes Fourier Transform and the Hodrick-Prescott Filter aims to provide a solid foundation for financial market participants seeking to harness the potential of these advanced techniques in their trading and investment strategies. By shedding light on their history, applications, and limitations, we hope to equip traders and investors with the knowledge and insights necessary to make informed decisions and, ultimately, achieve greater success in the highly competitive world of finance.
█ Fourier Transform and Hodrick-Prescott Filter in Financial Time Series Analysis
Financial time series analysis plays a crucial role in making informed decisions about investments and trading strategies. Among the various methods used in this domain, the Fourier Transform and the Hodrick-Prescott (HP) Filter have emerged as powerful techniques for processing and analyzing financial data. This section aims to provide a comprehensive understanding of these two methodologies, their significance in financial time series analysis, and their combined application to enhance trading strategies.
█ The Quinn-Fernandes Fourier Transform: History, Applications, and Use in Financial Time Series Analysis
The Quinn-Fernandes Fourier Transform is an advanced spectral estimation technique developed by John J. Quinn and Mauricio A. Fernandes in the early 1990s. It builds upon the classical Fourier Transform by introducing an adaptive approach that improves the identification of dominant frequencies in noisy signals. This section will explore the history of the Quinn-Fernandes Fourier Transform, its applications in various domains, and its specific use in financial time series analysis.
History of the Quinn-Fernandes Fourier Transform
The Quinn-Fernandes Fourier Transform was introduced in a 1993 paper titled "The Application of Adaptive Estimation to the Interpolation of Missing Values in Noisy Signals." In this paper, Quinn and Fernandes developed an adaptive spectral estimation algorithm to address the limitations of the classical Fourier Transform when analyzing noisy signals.
The classical Fourier Transform is a powerful mathematical tool that decomposes a function or a time series into a sum of sinusoids, making it easier to identify underlying patterns and trends. However, its performance can be negatively impacted by noise and missing data points, leading to inaccurate frequency identification.
Quinn and Fernandes sought to address these issues by developing an adaptive algorithm that could more accurately identify the dominant frequencies in a noisy signal, even when data points were missing. This adaptive algorithm, now known as the Quinn-Fernandes Fourier Transform, employs an iterative approach to refine the frequency estimates, ultimately resulting in improved spectral estimation.
Applications of the Quinn-Fernandes Fourier Transform
The Quinn-Fernandes Fourier Transform has found applications in various fields, including signal processing, telecommunications, geophysics, and biomedical engineering. Its ability to accurately identify dominant frequencies in noisy signals makes it a valuable tool for analyzing and interpreting data in these domains.
For example, in telecommunications, the Quinn-Fernandes Fourier Transform can be used to analyze the performance of communication systems and identify interference patterns. In geophysics, it can help detect and analyze seismic signals and vibrations, leading to improved understanding of geological processes. In biomedical engineering, the technique can be employed to analyze physiological signals, such as electrocardiograms, leading to more accurate diagnoses and better patient care.
Use of the Quinn-Fernandes Fourier Transform in Financial Time Series Analysis
In financial time series analysis, the Quinn-Fernandes Fourier Transform can be a powerful tool for isolating the dominant cycles and frequencies in asset price data. By more accurately identifying these critical cycles, traders can better understand the underlying dynamics of financial markets and develop more effective trading strategies.
The Quinn-Fernandes Fourier Transform is used in conjunction with the Hodrick-Prescott Filter, a technique that separates the underlying trend from the cyclical component in a time series. By first applying the Hodrick-Prescott Filter to the financial data, short-term fluctuations and noise are removed, resulting in a smoothed representation of the underlying trend. This smoothed data is then subjected to the Quinn-Fernandes Fourier Transform, allowing for more accurate identification of the dominant cycles and frequencies in the asset price data.
By employing the Quinn-Fernandes Fourier Transform in this manner, traders can gain a deeper understanding of the underlying dynamics of financial time series and develop more effective trading strategies. The enhanced knowledge of market cycles and frequencies can lead to improved risk management and ultimately, better investment performance.
The Quinn-Fernandes Fourier Transform is an advanced spectral estimation technique that has proven valuable in various domains, including financial time series analysis. Its adaptive approach to frequency identification addresses the limitations of the classical Fourier Transform when analyzing noisy signals, leading to more accurate and reliable analysis. By employing the Quinn-Fernandes Fourier Transform in financial time series analysis, traders can gain a deeper understanding of the underlying financial instrument.
Drawbacks to the Quinn-Fernandes algorithm
While the Quinn-Fernandes Fourier Transform is an effective tool for identifying dominant cycles and frequencies in financial time series, it is not without its drawbacks. Some of the limitations and challenges associated with this indicator include:
1. Computational complexity: The adaptive nature of the Quinn-Fernandes Fourier Transform requires iterative calculations, which can lead to increased computational complexity. This can be particularly challenging when analyzing large datasets or when the indicator is used in real-time trading environments.
2. Sensitivity to input parameters: The performance of the Quinn-Fernandes Fourier Transform is dependent on the choice of input parameters, such as the number of harmonic periods, frequency tolerance, and Hodrick-Prescott filter settings. Choosing inappropriate parameter values can lead to inaccurate frequency identification or reduced performance. Finding the optimal parameter settings can be challenging, and may require trial and error or a more sophisticated optimization process.
3. Assumption of stationary data: The Quinn-Fernandes Fourier Transform assumes that the underlying data is stationary, meaning that its statistical properties do not change over time. However, financial time series data is often non-stationary, with changing trends and volatility. This can limit the effectiveness of the indicator and may require additional preprocessing steps, such as detrending or differencing, to ensure the data meets the assumptions of the algorithm.
4. Limitations in noisy environments: Although the Quinn-Fernandes Fourier Transform is designed to handle noisy signals, its performance may still be negatively impacted by significant noise levels. In such cases, the identification of dominant frequencies may become less reliable, leading to suboptimal trading signals or strategies.
5. Lagging indicator: As with many technical analysis tools, the Quinn-Fernandes Fourier Transform is a lagging indicator, meaning that it is based on past data. While it can provide valuable insights into historical market dynamics, its ability to predict future price movements may be limited. This can result in false signals or late entries and exits, potentially reducing the effectiveness of trading strategies based on this indicator.
Despite these drawbacks, the Quinn-Fernandes Fourier Transform remains a valuable tool for financial time series analysis when used appropriately. By being aware of its limitations and adjusting input parameters or preprocessing steps as needed, traders can still benefit from its ability to identify dominant cycles and frequencies in financial data, and use this information to inform their trading strategies.
█ Deep-dive into the Hodrick-Prescott Fitler
The Hodrick-Prescott (HP) filter is a statistical tool used in economics and finance to separate a time series into two components: a trend component and a cyclical component. It is a powerful tool for identifying long-term trends in economic and financial data and is widely used by economists, central banks, and financial institutions around the world.
The HP filter was first introduced in the 1990s by economists Robert Hodrick and Edward Prescott. It is a simple, two-parameter filter that separates a time series into a trend component and a cyclical component. The trend component represents the long-term behavior of the data, while the cyclical component captures the shorter-term fluctuations around the trend.
The HP filter works by minimizing the following objective function:
Minimize: (Sum of Squared Deviations) + λ (Sum of Squared Second Differences)
Where:
1. The first term represents the deviation of the data from the trend.
2. The second term represents the smoothness of the trend.
3. λ is a smoothing parameter that determines the degree of smoothness of the trend.
The smoothing parameter λ is typically set to a value between 100 and 1600, depending on the frequency of the data. Higher values of λ lead to a smoother trend, while lower values lead to a more volatile trend.
The HP filter has several advantages over other smoothing techniques. It is a non-parametric method, meaning that it does not make any assumptions about the underlying distribution of the data. It also allows for easy comparison of trends across different time series and can be used with data of any frequency.
Another significant advantage of the HP Filter is its ability to adapt to changes in the underlying trend. This feature makes it particularly well-suited for analyzing financial time series, which often exhibit non-stationary behavior. By employing the HP Filter to smooth financial data, traders can more accurately identify and analyze the long-term trends that drive asset prices, ultimately leading to better-informed investment decisions.
However, the HP filter also has some limitations. It assumes that the trend is a smooth function, which may not be the case in some situations. It can also be sensitive to changes in the smoothing parameter λ, which may result in different trends for the same data. Additionally, the filter may produce unrealistic trends for very short time series.
Despite these limitations, the HP filter remains a valuable tool for analyzing economic and financial data. It is widely used by central banks and financial institutions to monitor long-term trends in the economy, and it can be used to identify turning points in the business cycle. The filter can also be used to analyze asset prices, exchange rates, and other financial variables.
The Hodrick-Prescott filter is a powerful tool for analyzing economic and financial data. It separates a time series into a trend component and a cyclical component, allowing for easy identification of long-term trends and turning points in the business cycle. While it has some limitations, it remains a valuable tool for economists, central banks, and financial institutions around the world.
█ Combined Application of Fourier Transform and Hodrick-Prescott Filter
The integration of the Fourier Transform and the Hodrick-Prescott Filter in financial time series analysis can offer several benefits. By first applying the HP Filter to the financial data, traders can remove short-term fluctuations and noise, effectively isolating the underlying trend. This smoothed data can then be subjected to the Fourier Transform, allowing for the identification of dominant cycles and frequencies with greater precision.
By combining these two powerful techniques, traders can gain a more comprehensive understanding of the underlying dynamics of financial time series. This enhanced knowledge can lead to the development of more effective trading strategies, better risk management, and ultimately, improved investment performance.
The Fourier Transform and the Hodrick-Prescott Filter are powerful tools for financial time series analysis. Each technique offers unique benefits, with the Fourier Transform being adept at identifying dominant cycles and frequencies, and the HP Filter excelling at isolating long-term trends from short-term noise. By combining these methodologies, traders can develop a deeper understanding of the underlying dynamics of financial time series, leading to more informed investment decisions and improved trading strategies. As the financial markets continue to evolve, the combined application of these techniques will undoubtedly remain an essential aspect of modern financial analysis.
█ Features
Endpointed and Non-repainting
This is an endpointed and non-repainting indicator. These are crucial factors that contribute to its usefulness and reliability in trading and investment strategies. Let us break down these concepts and discuss why they matter in the context of a financial indicator.
1. Endpoint nature: An endpoint indicator uses the most recent data points to calculate its values, ensuring that the output is timely and reflective of the current market conditions. This is in contrast to non-endpoint indicators, which may use earlier data points in their calculations, potentially leading to less timely or less relevant results. By utilizing the most recent data available, the endpoint nature of this indicator ensures that it remains up-to-date and relevant, providing traders and investors with valuable and actionable insights into the market dynamics.
2. Non-repainting characteristic: A non-repainting indicator is one that does not change its values or signals after they have been generated. This means that once a signal or a value has been plotted on the chart, it will remain there, and future data will not affect it. This is crucial for traders and investors, as it offers a sense of consistency and certainty when making decisions based on the indicator's output.
Repainting indicators, on the other hand, can change their values or signals as new data comes in, effectively "repainting" the past. This can be problematic for several reasons:
a. Misleading results: Repainting indicators can create the illusion of a highly accurate or successful trading system when backtesting, as the indicator may adapt its past signals to fit the historical price data. This can lead to overly optimistic performance results that may not hold up in real-time trading.
b. Decision-making uncertainty: When an indicator repaints, it becomes challenging for traders and investors to trust its signals, as the signal that prompted a trade may change or disappear after the fact. This can create confusion and indecision, making it difficult to execute a consistent trading strategy.
The endpoint and non-repainting characteristics of this indicator contribute to its overall reliability and effectiveness as a tool for trading and investment decision-making. By providing timely and consistent information, this indicator helps traders and investors make well-informed decisions that are less likely to be influenced by misleading or shifting data.
Inputs
Source: This input determines the source of the price data to be used for the calculations. Users can select from options like closing price, opening price, high, low, etc., based on their preferences. Changing the source of the price data (e.g., from closing price to opening price) will alter the base data used for calculations, which may lead to different patterns and cycles being identified.
Calculation Bars: This input represents the number of past bars used for the calculation. A higher value will use more historical data for the analysis, while a lower value will focus on more recent price data. Increasing the number of past bars used for calculation will incorporate more historical data into the analysis. This may lead to a more comprehensive understanding of long-term trends but could also result in a slower response to recent price changes. Decreasing this value will focus more on recent data, potentially making the indicator more responsive to short-term fluctuations.
Harmonic Period: This input represents the harmonic period, which is the number of harmonics used in the Fourier Transform. A higher value will result in more harmonics being used, potentially capturing more complex cycles in the price data. Increasing the harmonic period will include more harmonics in the Fourier Transform, potentially capturing more complex cycles in the price data. However, this may also introduce more noise and make it harder to identify clear patterns. Decreasing this value will focus on simpler cycles and may make the analysis clearer, but it might miss out on more complex patterns.
Frequency Tolerance: This input represents the frequency tolerance, which determines how close the frequencies of the harmonics must be to be considered part of the same cycle. A higher value will allow for more variation between harmonics, while a lower value will require the frequencies to be more similar. Increasing the frequency tolerance will allow for more variation between harmonics, potentially capturing a broader range of cycles. However, this may also introduce noise and make it more difficult to identify clear patterns. Decreasing this value will require the frequencies to be more similar, potentially making the analysis clearer, but it might miss out on some cycles.
Number of Bars to Render: This input determines the number of bars to render on the chart. A higher value will result in more historical data being displayed, but it may also slow down the computation due to the increased amount of data being processed. Increasing the number of bars to render on the chart will display more historical data, providing a broader context for the analysis. However, this may also slow down the computation due to the increased amount of data being processed. Decreasing this value will speed up the computation, but it will provide less historical context for the analysis.
Smoothing Mode: This input allows the user to choose between two smoothing modes for the source price data: no smoothing or Hodrick-Prescott (HP) smoothing. The choice depends on the user's preference for how the price data should be processed before the Fourier Transform is applied. Choosing between no smoothing and Hodrick-Prescott (HP) smoothing will affect the preprocessing of the price data. Using HP smoothing will remove some of the short-term fluctuations from the data, potentially making the analysis clearer and more focused on longer-term trends. Not using smoothing will retain the original price fluctuations, which may provide more detail but also introduce noise into the analysis.
Hodrick-Prescott Filter Period: This input represents the Hodrick-Prescott filter period, which is used if the user chooses to apply HP smoothing to the price data. A higher value will result in a smoother curve, while a lower value will retain more of the original price fluctuations. Increasing the Hodrick-Prescott filter period will result in a smoother curve for the price data, emphasizing longer-term trends and minimizing short-term fluctuations. Decreasing this value will retain more of the original price fluctuations, potentially providing more detail but also introducing noise into the analysis.
Alets and signals
This indicator featues alerts, signals and bar coloring. You have to option to turn these on/off in the settings menu.
Maximum Bars Restriction
This indicator requires a large amount of processing power to render on the chart. To reduce overhead, the setting "Number of Bars to Render" is set to 500 bars. You can adjust this to you liking.
█ Related Indicators and Libraries
Goertzel Cycle Composite Wave
Goertzel Browser
Fourier Spectrometer of Price w/ Extrapolation Forecast
Fourier Extrapolator of 'Caterpillar' SSA of Price
Normalized, Variety, Fast Fourier Transform Explorer
Real-Fast Fourier Transform of Price Oscillator
Real-Fast Fourier Transform of Price w/ Linear Regression
Fourier Extrapolation of Variety Moving Averages
Fourier Extrapolator of Variety RSI w/ Bollinger Bands
Fourier Extrapolator of Price w/ Projection Forecast
Fourier Extrapolator of Price
STD-Stepped Fast Cosine Transform Moving Average
Variety RSI of Fast Discrete Cosine Transform
loxfft