Rotation Cycles GraphRotation Cycles Graph Indicator
Overview:
The Rotation Cycles Graph Indicator is designed to visualize rotation cycles in financial markets. It aims to provide insights into shifts between various market phases, including growth, weakening, recovery, and contraction, allowing traders to potentially identify changing market dynamics.
Key Components:
Z-Score Calculation:
The indicator employs Z-score calculation to normalize data and identify deviations from the mean. This is instrumental in understanding the current state of the market relative to its historical behavior.
Ehlers Loop Visualization:
The Ehlers Loop function generates a visual representation of rotation cycles. It utilizes x and y coordinates on the chart to represent market conditions. These coordinates determine the position and categorization of the market state.
Table Visualization:
At the bottom of the chart, a table categorizes market conditions based on x and y values. This table serves as a reference to understand the current market phase.
Customizable Parameters:
The indicator offers users the flexibility to adjust several parameters:
Length and Smoothness: Users can set the length and smoothness parameters for the Z-score calculation, allowing for customization based on the market's volatility.
Graph Settings: Parameters such as bar scale, graph position, and the length of the tail for visualization can be fine-tuned to suit individual preferences.
Understanding Coordinates:
The x and y coordinates plotted on the chart represent specific market conditions. Interpretation of these coordinates aids in recognizing shifts in market behavior.
This screenshot shows visual representation behind logic of X and Y and their rotation cycles
Here is an example how rotation marker moved from growing to weakening and to the contraction quad, during a big market crush:
Note:
This indicator is a visualization tool and should be used in conjunction with other analytical methods for comprehensive market analysis.
Understanding the context and nuances of market dynamics is essential for accurate interpretation of the Rotation Cycles Graph Indicator.
Big thanks to @PineCodersTASC for their indicator, what I used as a reference
在脚本中搜索"Cycle"
Cycle finder v1.0Watch this Morgan Stanley'(MS)'s almost perfect cycle!
This is Cycle finder v1.0.
This helps you to find cycle of your favorite stocks, commodities, forex and anything in real time.
Originally developed from scratch for tradingview.
How to use(in setting panel):
- Set up to 5 different cycle term.
- Set go back bars. *1
- Shift bars as you want to make use of cycle.
*1: This indicator compares X bar to X - (go back amount) bar to find cycle. Default: 2
*2: It won’t work if there is not enough history.
*3: This may contains some bugs since I'm still working in progress to improve.
Please give it try for 1 week free.
Message me or reply to here to unlock your experience!
//—————— Japanese below
このモルガンスタンレー(MS)のほとんど完璧なサイクルをご覧ください。
Cycle finder v1.0. をご紹介します。
Tradingview のために1から開発された、このインディケーターは
あなたのお気に入りの株、先物、FXなどのサイクルをリアルタイムに見つけるお手伝いをします。
使い方 (設定パネル):
- 5個までサイクルの期間を設定できます。
- 参照のバー数を設定 *1
- サイクルは左右にシフトできます。
*1: このインディケーターは、サイクルを見つけるために
Xバーと、X - 参照バー数を比べます。 デフォルトでは2です。
*2: チャートの履歴が少ない場合には、動きません。
*3: ブラッシュアップ中のため、バグを含む可能性があります。
ぜひ1週間無料でお試しください。
プライベートメッセージか、ここにご返信ください。
CSI Cycle Swing MomentumAdaptive Ultra-Smooth Momentum (Cycle-Swing Indicator – CSI)
The Cycle-Swing Indicator (CSI) is an advanced, adaptive momentum oscillator designed to extract clean, reliable signals from market data by focusing on the swing of the dominant market cycle rather than raw momentum. By identifying and aligning with the current dominant cycle, the CSI produces a momentum curve that is exceptionally smooth, responsive, and context-aware.
Key Advantages
The CSI offers several improvements over traditional momentum-based indicators:
Ultra-smooth signal line without sacrificing responsiveness
Zero-lag behavior, enabling timely entries and exits
Pronounced turning-point precision, enhancing signal clarity
Adaptive to real market cycles, automatically adjusting to changing conditions
Reliable deviation and divergence detection, even in noisy environments
Why Standard Indicators Fall Short
Conventional oscillators often struggle in real-world market conditions:
Excessive noise leads to frequent false signals.
Added smoothing reduces noise but introduces significant lag, delaying actionable insights.
Fixed-length parameters make indicators highly sensitive to user settings—you never truly know the "right" length.
The CSI solves all these challenges through its adaptive cyclic algorithm, which automatically aligns itself with the market’s dominant cycle—no manual tuning required.
Practical Example
In the example chart, the CSI highlights clear turning points and deviations with far less noise than the standard momentum indicator, demonstrating its superior clarity and responsiveness.
How to Use
The CSI is fully adaptive and requires no parameters. Simply apply it to any symbol and timeframe—the indicator automatically detects the dominant cycle and produces an ultra-smooth, cycle-aligned momentum curve.
Included features:
Adaptive upper and lower bands identifying extreme conditions
Automatic divergence detection (toggle on/off)
Works on any timeframe and any asset
Adaptive length - no input parameter required
How to Read the Indicator
The CSI functions similarly to a traditional momentum oscillator but with enhanced adaptive context:
Look for divergences between price and the CSI signal line — powerful early warnings of weakening trends or impending shifts.
Note on Divergence Signals:
The divergence markers displayed on the chart are generated using embedded pivot-based detection. Because pivots must be confirmed by price action, divergence signals can only be plotted after a pivot forms. For real-time monitoring on the latest bar, users should watch for early-forming divergences as they develop, since confirmed pivot-based divergences will always appear with a slight delay. Script parameters are available for precise adjustment of pivot detection behaviour.
Info: Legacy vs. Pro Version
This is the actively maintained and continuously enhanced edition of my free, open-source indicator “Cycle Swing Momentum”. The Pro Version will remain fully up to date with the latest Pine Script standards and will receive ongoing refinements and feature improvements, all while preserving the core logic and intent of the original tool. The legacy version will continue to be available for code review and educational purposes, but it will no longer receive updates. The legacy open-source version is always available in the public TV indicator repository.
付费脚本
CSI Cycle Swing Momentum Indicator ProAdaptive Ultra-Smooth Momentum (Cycle-Swing Indicator – CSI)
The Cycle-Swing Indicator (CSI) is an advanced, adaptive momentum oscillator designed to extract clean, reliable signals from market data by focusing on the swing of the dominant market cycle rather than raw momentum. By identifying and aligning with the current dominant cycle, the CSI produces a momentum curve that is exceptionally smooth, responsive, and context-aware.
Key Advantages
The CSI offers several improvements over traditional momentum-based indicators:
Ultra-smooth signal line without sacrificing responsiveness
Zero-lag behavior, enabling timely entries and exits
Pronounced turning-point precision, enhancing signal clarity
Adaptive to real market cycles, automatically adjusting to changing conditions
Reliable deviation and divergence detection, even in noisy environments
Why Standard Indicators Fall Short
Conventional oscillators often struggle in real-world market conditions:
Excessive noise leads to frequent false signals.
Added smoothing reduces noise but introduces significant lag, delaying actionable insights.
Fixed-length parameters make indicators highly sensitive to user settings—you never truly know the "right" length.
The CSI solves all these challenges through its adaptive cyclic algorithm, which automatically aligns itself with the market’s dominant cycle—no manual tuning required.
Practical Example
In the example chart, the CSI highlights clear turning points and deviations with far less noise than the standard momentum indicator, demonstrating its superior clarity and responsiveness.
How to Use
The CSI is fully adaptive and requires no parameters. Simply apply it to any symbol and timeframe—the indicator automatically detects the dominant cycle and produces an ultra-smooth, cycle-aligned momentum curve.
Included features:
Adaptive upper and lower bands identifying extreme conditions
Automatic divergence detection (toggle on/off)
Works on any timeframe and any asset
Adaptive length - no input parameter required
How to Read the Indicator
The CSI functions similarly to a traditional momentum oscillator but with enhanced adaptive context:
Look for divergences between price and the CSI signal line — powerful early warnings of weakening trends or impending shifts.
Note on Divergence Signals:
The divergence markers displayed on the chart are generated using embedded pivot-based detection. Because pivots must be confirmed by price action, divergence signals can only be plotted after a pivot forms. For real-time monitoring on the latest bar, users should watch for early-forming divergences as they develop, since confirmed pivot-based divergences will always appear with a slight delay. Script parameters are available for precise adjustment of pivot detection behaviour.
Info: Legacy vs. Pro Version
This is the actively maintained and continuously enhanced edition of my free, open-source indicator “Cycle Swing Momentum”. The Pro Version will remain fully up to date with the latest Pine Script standards and will receive ongoing refinements and feature improvements, all while preserving the core logic and intent of the original tool. The legacy version will continue to be available for code review and educational purposes, but it will no longer receive updates. The legacy open-source version is always available in the public TV indicator repository.
W%R Cycle Swings - MTF Trend📄 English Description
Overview
The W%R Cycle Swings – MTF Trend indicator is a market-structure tool built on top of Williams %R cycle logic. It detects meaningful swing highs and lows from W%R behavior, then uses those swings to locate the first Market Structure Shift (MSS-first) and track multi-timeframe trend bias + cancel levels.
This is not a random mashup of indicators: all components are derived from one core concept—W%R cycles—and are combined into a single, coherent framework for reading structure and trend across timeframes.
Core Concepts
1. Williams %R Cycle Swings (Current Timeframe)
Instead of using price swings based only on highs/lows, this script uses Williams %R behavior to define swing points:
Swing High pattern: OS → OB → OS
Swing Low pattern: OB → OS → OB
The script:
Tracks overbought/oversold states using user-defined levels.
Builds a zone for each potential swing (accumulating the extremums during the OB/OS phase).
Confirms a swing only when the opposite state appears again.
Plots labels on the chart:
Swing High label above price
Swing Low label below price
Optional price display on the label (toggle in settings).
This makes the swing points cycle-based rather than purely bar-based.
2. MSS-first (Market Structure Shift on Current TF)
Once swings are defined, the script looks for the first break of the most recent swing:
Bullish MSS-first: price breaks above the last confirmed swing high.
Bearish MSS-first: price breaks below the last confirmed swing low.
You can choose whether to confirm by close or by wick (mssByClose input).
When an MSS-first is detected:
A colored label (bullish/bearish) is drawn at the relevant swing level.
A horizontal line is drawn from the swing bar to the MSS bar to visually connect the structure break.
Internal trendBias is updated to Up or Down, preventing duplicate MSS labels in the same direction.
This gives a clear, visual definition of when the structure actually shifted based on W%R-driven swings.
3. MTF MSS-first Trend & Cancel Logic
The same MSS-first concept is applied inside a function and called via request.security() on multiple timeframes (5m, 15m, 30m, 1h, 4h).
For each timeframe, the function:
Recalculates W%R swings with the same parameters.
Detects MSS-first events (bullish or bearish).
Tracks a trend state:
1 → Up trend
-1 → Down trend
0 → Unknown / Neutral
Maintains a cancel level, which represents the price that would invalidate the current trend:
In an uptrend, cancel is typically the last relevant swing low.
In a downtrend, cancel is typically the last relevant swing high.
This provides:
Trend direction per TF (Up / Down / -)
A concrete price level that acts as a structural “stop” or invalidation level.
4. MTF Trend Table (Visual Overview)
If enabled, a compact table is displayed on the chart (position configurable):
Columns: 5m, 15m, 30m, 1h, 4h
Rows:
Trend → shows Up, Down or -, with color-coded background.
Cancel → shows the current cancel price for that timeframe.
This creates a multi-timeframe structure dashboard that tells you:
Which timeframes are currently in an Up or Down MSS-based trend.
At which price the current structural view would be canceled.
5. Alert Conditions
The script includes alert conditions for:
Current timeframe MSS-first:
Bullish MSS-first (structure break up).
Bearish MSS-first (structure break down).
MTF MSS-first events for:
5m, 15m, 30m, 1h, 4h (Bullish & Bearish separately).
This allows you to receive notifications when a fresh structural shift happens on any of the tracked timeframes.
How to Use
Use Swing High / Swing Low labels to understand the current W%R cycle structure on your main timeframe.
Watch for MSS-first labels to catch the first break of structure after a swing completes.
Use the MTF Trend table:
Trade in the direction of higher-timeframe trends.
Use cancel levels as logical invalidation areas or structural stop guides.
Combine the current timeframe swings with MTF bias:
Example: look for long setups when H1/H4 show Up trend and price forms new bullish MSS on lower TF.
The tool is suitable for both intraday and swing trading, on any symbol and timeframe.
Why This Script Is Original
It links cycle-based swings from Williams %R directly to MSS-first detection, rather than using generic pivot logic.
It combines:
W%R-driven swing definition,
MSS-first structural breaks,
Multi-timeframe trend state,
Cancel (invalidation) levels,
Alerts for MSS events on multiple TFs,
into a single, coherent market-structure framework.
The MTF table is not a generic dashboard: it is specifically built around this W%R-MSS-first structural model, which gives traders both trend context and exact invalidation prices.
🇹🇭 Thai Description — คำอธิบายภาษาไทย
ภาพรวม
อินดิเคเตอร์ W%R Cycle Swings – MTF Trend เป็นเครื่องมืออ่านโครงสร้างราคา โดยใช้ “วงจรของ Williams %R” เป็นหลักในการหา Swing High / Swing Low แล้วใช้จุด Swing เหล่านั้นมาหา MSS-first (จุดเปลี่ยนโครงสร้างครั้งแรก) จากนั้นต่อยอดไปสู่ การดูแนวโน้มหลายกรอบเวลา + ระดับ Cancel (จุดที่โครงสร้างจะถูกมองว่าพัง)
แนวคิดหลัก
Swing จาก Williams %R (TF ปัจจุบัน)
ใช้รูปแบบ OS → OB → OS เพื่อยืนยัน Swing High
และ OB → OS → OB เพื่อยืนยัน Swing Low
เมื่อยืนยันแล้วจะสร้าง Label “Swing High / Swing Low” บนกราฟ และสามารถแสดงราคาบนป้ายได้
ทำให้จุด Swing มีพื้นฐานจาก “Cycle ของ W%R” ไม่ใช่แค่ high/low เฉย ๆ
MSS-first บน TF ปัจจุบัน
ถ้าราคาทะลุ Swing High ล่าสุด → มองเป็น Bullish MSS-first
ถ้าราคาทะลุ Swing Low ล่าสุด → มองเป็น Bearish MSS-first
เลือกได้ว่าจะยืนยันจาก Close หรือจาก ไส้แท่งเทียน
วาดป้าย MSS + เส้นเชื่อมจาก Swing ไปยังจุดที่เกิด MSS
มีตัวแปร trendBias ป้องกันไม่ให้ยิง MSS ซ้ำในทิศทางเดิมจนรก
MTF MSS-first + Cancel Logic
นำ Logic เดียวกันไปใช้กับ TF: 5m, 15m, 30m, 1h, 4h
สำหรับแต่ละ TF จะได้:
สถานะแนวโน้ม: Up / Down / Unknown
ระดับ Cancel: ราคาที่ถ้าหลุดจะถือว่าโครงสร้างเทรนด์นั้นถูก “ยกเลิก”
เช่น ในเทรนด์ขาขึ้น ระดับ Cancel มักมาจาก Swing Low ล่าสุด ฯลฯ
MTF Table บนกราฟ
แสดง Trend + Cancel ของ 5 TF ในรูปแบบตาราง
อ่านง่าย: แถว Trend เป็น Up/Down พร้อมสีพื้น, แถว Cancel เป็นตัวเลขราคา
ใช้ดูภาพรวมโครงสร้างหลาย TF ในมุมมองเดียว
Alert Conditions
แจ้งเตือน MSS-first ของ TF ปัจจุบัน
แจ้งเตือน MSS-first ของ TF 5m / 15m / 30m / 1h / 4h แยก Bull / Bear
วิธีใช้งาน
ใช้ Swing High / Swing Low เพื่อดูว่าโครงสร้าง cycle ปัจจุบันอยู่ตรงไหน
รอให้เกิด MSS-first เพื่อมองว่า “โครงสร้างราคาเริ่มกลับตัวแล้ว”
ใช้ Table MTF:
ดูว่า TF ไหนเป็น Up / Down
ใช้ราคาบรรทัด Cancel เป็นแนว “จุดตัดขาดทุนเชิงโครงสร้าง” หรือจุดเปลี่ยนมุมมอง
เทรดตามทิศทาง TF ใหญ่ แล้วหา Entry จาก MSS ของ TF เล็ก
จุดเด่น / ความเป็น Original
ใช้ Williams %R เป็นฐานในการสร้าง Swing Pattern แทนการใช้ Pivot ธรรมดา
เชื่อม W%R Swing เข้ากับแนวคิด MSS-first อย่างเป็นระบบ
มีทั้ง:
ป้าย Swing
ป้าย MSS + เส้นเชื่อม
MTF Trend + Cancel
Alert เตือน MSS ในหลาย TF
อยู่ในสคริปต์เดียว
เหมาะกับคนที่ต้องการอ่านโครงสร้างราคาแบบมีที่มาที่ไป ไม่ใช่แค่ตามอินดี้ตัวเดียวครับ ✅
LRI Momentum Cycles [AlgoAlpha]Discover the LRI Momentum Cycles indicator by AlgoAlpha, a cutting-edge tool designed to identify market momentum shifts using trend normalization and linear regression analysis. This advanced indicator helps traders detect bullish and bearish cycles with enhanced accuracy, making it ideal for swing traders and intraday enthusiasts alike.
Key Features :
🎨 Customizable Appearance : Set personalized colors for bullish and bearish trends to match your charting style.
🔧 Dynamic Trend Analysis : Tracks market momentum using a unique trend normalization algorithm.
📊 Linear Regression Insight : Calculates real-time trend direction using linear regression for better precision.
🔔 Alert Notifications : Receive alerts when the market switches from bearish to bullish or vice versa.
How to Use :
🛠 Add the Indicator : Favorite and apply the indicator to your TradingView chart. Adjust the lookback period, linear regression source, and regression length to fit your strategy.
📊 Market Analysis : Watch for color changes on the trend line. Green signals bullish momentum, while red indicates bearish cycles. Use these shifts to time entries and exits.
🔔 Set Alerts : Enable notifications for momentum shifts, ensuring you never miss critical market moves.
How It Works :
The LRI Momentum Cycles indicator calculates trend direction by applying linear regression on a user-defined price source over a specified period. It compares historical trend values, detecting bullish or bearish momentum through a dynamic scoring system. This score is normalized to ensure consistent readings, regardless of market conditions. The indicator visually represents trends using gradient-colored plots and fills to highlight changes in momentum. Alerts trigger when the momentum state changes, providing actionable trading signals.
Pi Cycle Bitcoin Top and Bottom (Daily)Pi Cycle Bitcoin Top and Bottom (Daily)
This indicator combines the renowned Pi Cycle Top and Pi Cycle Bottom indicators into one comprehensive tool designed to identify Bitcoin's market cycle tops and bottoms with precision.
Pi Cycle Top
The Pi Cycle Top indicator uses the 111-day moving average (111DMA) and a multiple of the 350-day moving average (350DMA x 2). Historically, this indicator has identified Bitcoin’s price cycle peaks with an accuracy of up to 3 days.
📈 When the 111DMA crosses above the 350DMA x 2, it signals a market cycle top.
Pi Cycle Bottom
The Pi Cycle Bottom indicator utilizes the 150-day exponential moving average (150EMA) and a multiple of the 471-day simple moving average (471SMA x 0.745). Over past cycles, this combination has effectively pinpointed Bitcoin’s market bottoms with the same level of accuracy.
📉 When the 150EMA crosses below the 471SMA x 0.745, it signals a market cycle bottom.
Parabola
As an additional feature, the indicator identifies moments when the 150EMA crosses back above the 471SMA x 0.745, suggesting a potential parabolic price movement.
Features
Precision: Both indicators have historically aligned with major market turning points.
Customizable settings: Adjust the short and long moving averages to fit your analysis needs.
Alerts: Real-time alerts can be enabled for identifying market tops and bottoms.
Clear visualization: Optional moving average lines and signal markers make it easy to track market trends.
Full credits to Philip Swift, PositiveCrypto, Tondy, BilzerianCandle.
Cycles 90mThe cycles are separated by vertical lines. The first cycle (Q1) is marked with a red line because it is a manipulative cycle where you should not open positions. Other cycles are green (Q2, Q3, Q4).
You can add the time of the current candle, its size and position on the chart in the settings
The time is highlighted in red in the timeframes 9:30-9:40, 10:00-10:10, 11:00-11:30, 15:30-15:40, 16:00-16:10, 17:00-17:10, 17:30-17:40, as price movements are most often expected during these timeframes.
The cycle lines automatically disappear if you open a timeframe above M15
Prime, E & PI Superiority CyclesIf you have been studying the markets long enough you will probably have noticed a certain pattern. Whichever trade entry/exit logic you try to use, it will go through phases of working really well and phases where it doesn't work at all. This is the markets way of ensuring anyone who sticks to an oversimplified, one-dimensional strategy will not profit. Superiority cycles are a method I devised by which code interrogates the nature of where price has been pivoting in relation to three key structures, the Prime Frame, E Frame and Pi Frame which are plotted as horizontal lines at these values:
* Use script on 1 minute chart ONLY
prime numbers up to 100: 2.0,3.0,5.0,7.0,11.0,13.0,17.0,19.0,23.0,27.0,29.0,31.0,37.0,41.0,43.0,47.0,53.0,59.0,61.0,67.0,71.0,73.0,79.0,83.0,89.0,97.0
multiples of e up to 100: 2.71828, 5.43656, 8.15484, 10.87312, 13.5914, 16.30968, 19.02796, 21.74624, 24.46452, 27.1828, 29.90108, 32.61936, 35.33764,
38.05592, 40.7742, 43.49248, 46.21076, 48.92904, 51.64732, 54.3656, 57.08388, 59.80216, 62.52044, 65.23872, 67.957, 70.67528, 73.39356000000001, 76.11184,
78.83012, 81.5484, 84.26668000000001, 86.98496, 89.70324, 92.42152, 95.13980000000001, 97.85808
multiples of pi up to 100: 3.14159, 6.28318, 9.424769999999999, 12.56636, 15.70795, 18.849539999999998, 21.99113, 25.13272, 28.27431, 31.4159, 34.55749,
37.699079999999995, 40.840669999999996, 43.98226, 47.12385, 50.26544, 53.40703, 56.54862, 59.69021, 62.8318, 65.97339, 69.11498, 72.25657, 75.39815999999999,
78.53975, 81.68133999999999, 84.82293, 87.96452, 91.10611, 94.2477, 97.38929
These values are iterated up the chart as seen below:
The script sums the distance of pivots to each of the respective frames (olive lines for Prime Frame, green lines for E Frame and maroon lines for Pi Frame) and determines which frame price has been reacting to in the least significant way. The worst performing frame is the next frame we target reversals at. The table in the bottom right will light up a color that corresponds to the frame color we should target.
Here is an example of Prime Superiority, where we prioritize trading from prime levels:
The table and the background color are both olive which means target prime levels. In an ideal world strong moves should start and finish where the white flags are placed i.e. in this case $17k and $19k. The reason these levels are 17,000 and 19,000 and not just 17 and 19 like in the original prime number sequence is due to the scaling code in the get_scale_func() which allows the code to operate on all assets.
This is E Superiority where we would hope to see major reversals at green lines:
This is Pi Superiority where we would hope to see major reversals at maroon lines:
And finally I would like to show you a market moving from one superiority to another. This can be observed by the bgcolor which tells us what the superiority was at every historical minute
Pi Frame Superiority into E Frame Superiority example:
Prime Frame Superiority into E Frame Superiority example:
Prime Frame Superiority into Pi Frame Superiority example:
By rotating the analysis we use to enter trades in this way we hope to hide our strategy better from market makers and artificial intelligence, and overall make greater profits.
Bitcoin Pi Cycle TrackerThe Bitcoin Pi Cycle Tracker is based on the widely recognized Pi Cycle Top Indicator, a concept used to identify potential market cycle tops in Bitcoin's price. This implementation combines the 111-day Simple Moving Average (SMA) and the 350-day SMA (multiplied by 2) to detect key crossover points. When the 111-day SMA crosses above the 350-day SMA x2, it signals a potential market peak.
Key Features:
Plots the 111-day SMA (blue) and the 350-day SMA x2 (red) for clear visualization.
Displays visual markers and vertical lines at crossover points to highlight key moments.
Sends alerts for crossovers, helping traders stay ahead of market movements.
This tool is an implementation of the Pi Cycle concept originally popularized by Bitcoin market analysts. Use it to analyze historical price cycles and prepare for significant market events. Please note that while the Pi Cycle Indicator has been historically effective, it should be used alongside other tools for a comprehensive trading strategy.
Bitcoin Cycle Master [InvestorUnknown]The "Bitcoin Cycle Master" indicator is designed for in-depth, long-term analysis of Bitcoin's price cycles, using several key metrics to track market behavior and forecast potential price tops and bottoms. The indicator integrates multiple moving averages and on-chain metrics, offering a comprehensive view of Bitcoin’s historical and projected performance. Each of its components plays a crucial role in identifying critical cycle points:
Top Cap: This is a multiple of the Average Cap, which is calculated as the cumulative sum of Bitcoin’s price (price has a longer history than Market Cap) divided by its age in days. Top Cap serves as an upper boundary for speculative price peaks, multiplied by a factor of 35.
Time_dif() =>
date = ta.valuewhen(bar_index == 0, time, 0)
sec_r = math.floor(date / 1000)
min_r = math.floor(sec_r / 60)
h_r = math.floor(min_r / 60)
d_r = math.floor(h_r / 24)
// Launch of BTC
start = timestamp(2009, 1, 3, 00, 00)
sec_rb = math.floor(start / 1000)
min_rb = math.floor(sec_rb / 60)
h_rb = math.floor(min_rb / 60)
d_rb = math.floor(h_rb / 24)
difference = d_r - d_rb
AverageCap() =>
ta.cum(btc_price) / (Time_dif() + btc_age)
TopCap() =>
// To calculate Top Cap, it is first necessary to calculate Average Cap, which is the cumulative sum of Market Cap divided by the age of the market in days.
// This creates a constant time-based moving average of market cap.
// Once Average cap is calculated, those values are multiplied by 35. The result is Top Cap.
// For AverageCap the BTC price was used instead of the MC because it has more history
// (the result should have minimal if any deviation since MC would have to be divided by Supply)
AverageCap() * 35
Delta Top: Defined as the difference between the Realized Cap and the Average Cap, this metric is further multiplied by a factor of 7. Delta Top provides a historically reliable signal for Bitcoin market cycle tops.
DeltaTop() =>
// Delta Cap = Realized Cap - Average Cap
// Average Cap is explained in the Top Cap section above.
// Once Delta Cap is calculated, its values over time are then multiplied by 7. The result is Delta Top.
(RealizedPrice() - AverageCap()) * 7
Terminal Price: Derived from Coin Days Destroyed, Terminal Price normalizes Bitcoin’s historical price behavior by its finite supply (21 million bitcoins), offering an adjusted price forecast as all bitcoins approach being mined. The original formula for Terminal Price didn’t produce expected results, hence the calculation was adjusted slightly.
CVDD() =>
// CVDD stands for Cumulative Value Coin Days Destroyed.
// Coin Days Destroyed is a term used for bitcoin to identify a value of sorts to UTXO’s (unspent transaction outputs). They can be thought of as coins moving between wallets.
(MCR - TV) / 21000000
TerminalPrice() =>
// Theory:
// Before Terminal price is calculated, it is first necessary to calculate Transferred Price.
// Transferred price takes the sum of > Coin Days Destroyed and divides it by the existing supply of bitcoin and the time it has been in circulation.
// The value of Transferred Price is then multiplied by 21. Remember that there can only ever be 21 million bitcoin mined.
// This creates a 'terminal' value as the supply is all mined, a kind of reverse supply adjustment.
// Instead of heavily weighting later behavior, it normalizes historical behavior to today. By normalizing by 21, a terminal value is created
// Unfortunately the theoretical calculation didn't produce results it should, in pinescript.
// Therefore the calculation was slightly adjusted/improvised
TransferredPrice = CVDD() / (Supply * math.log(btc_age))
tp = TransferredPrice * 210000000 * 3
Realized Price: Calculated as the Market Cap Realized divided by the current supply of Bitcoin, this metric shows the average value of Bitcoin based on the price at which coins last moved, giving a market consensus price for long-term holders.
CVDD (Cumulative Value Coin Days Destroyed): This on-chain metric analyzes Bitcoin’s UTXOs (unspent transaction outputs) and the velocity of coins moving between wallets. It highlights key market dynamics during prolonged accumulation or distribution phases.
Balanced Price: The Balanced Price is the difference between the Realized Price and the Terminal Price, adjusted by Bitcoin's supply constraints. This metric provides a useful signal for identifying oversold market conditions during bear markets.
BalancedPrice() =>
// It is calculated by subtracting Transferred Price from Realized Price
RealizedPrice() - (TerminalPrice() / (21 * 3))
Each component can be toggled individually, allowing users to focus on specific aspects of Bitcoin’s price cycle and derive meaningful insights from its long-term behavior. The combination of these models provides a well-rounded view of both speculative peaks and long-term value trends.
Important consideration:
Top Cap did historically provide reliable signals for cycle peaks, however it may not be a relevant indication of peaks in the future.
Muzyorae - Quarterly CyclesQuarterly Theory — NY Session Macro Model
The Quarterly Theory is a time-based framework for analyzing intraday market behavior during the New York session. It divides the session into four sequential quarters (Q1–Q4), each reflecting institutional activity, liquidity accumulation, and directional bias.
Q1 – Accumulation (9:30–10:00 AM): Early positioning, initial liquidity sweeps, and potential early breakouts (AMDX - XAMD patterns).
Q2 – Manipulation/Expansion (10:00–11:30 AM): Main directional move with structure breaks, fair value gaps, and liquidity sweeps.
Q3 – Distribution/Retracement (11:30 AM–1:30 PM): Consolidation, profit-taking, and market chop.
Q4 – Final Expansion/Repricing (1:30–4:00 PM): Trend continuation, reversals, and session high/low formation.
Key Features:
Fractal-based cycles scalable across intraday or multi-day timeframes.
Supports AMDX (Accumulation → Manipulation → Distribution → Expansion) and XAMD reversal sequences.
Highlights early Q1 expansions, Q2 open reference, and critical liquidity zones.
Fully synchronized to NY time and compatible with ICT concepts (SMT, FVGs, OBs, BOS).
Professional visualization with optional labels and vertical markers.
Purpose:
Provides traders a systematic framework to align with institutional flow, anticipate liquidity accumulation, identify optimal entry/exit zones, and structure trades around high-probability intraday cycles.
90min cyclesI did this little script to help me with the cycle I hope it will help some of you too !
For default, I have made 90 min cycle, but you can change it easily on the settings if you prefer an other time interval because it is really subjectif.
By default the cycle will begin at midnight from YOUR local time, but this can be a little annoying when you want for example to make it begin at midnght from NY or London without changing the UTC of your chart (if you still want to have your hour displayed normally).
I couldn't find an indicator to help me do that so I added a little setting which allow you to move the start hour of your cycle (so you will have to do some math to move it accordingly to what you want but that's okay ;) ).
That way you can choose the interval you like AND when it begin !
Quarterly Cycles [EETrade]The idea of Quarterly Theory is -
Each timeframe is split into 4 "quarters", derived based on logical subdivisions:
- Year: Divided into calendar quarters (Jan-Mar, Apr-Jun, etc.).
- Tertiary (sub-year): Each year quarter is subdivided into 4 parts dynamically based on timestamp deltas.
- Month: Weekly-based logic using Sunday cutoffs and session switch time (18:00 US/Eastern).
- Week: Divided using daily boundaries starting from Sunday 18:00 (based on US futures session logic).
- Day: Split into 4 blocks (Asia, London, AM, PM) using 6-hour segments.
- Session and Macro Quarters: Session is divided further into 4 quarters of 6 hours, then each of those into 15-minute blocks for ultra-granular cycle mapping.
Where we split them into Q1, Q2, Q3 and Q4.
Usually we address
Q1 as accumulation,
Q2 as manipulation
Q3 as Distribution
Q4 as Continuation/Reversal
If we trade Q3 for example, we'd like to use price action mainly from previous Q3s.
Plus there are Semi Cycles which we can utilize
- Q1 with Q3
- Q2 with Q4
- Q3 with Q1
- Q4 with Q2
So we can also use Q1 price action when we are trading Q3
True Open Logic:
The open candle price of the second quarter is the true open for us, it will help us understand if we're on premium or discount area.
Plus this indicator providers a table to dynamically show the premium and discount
We can use this indicator to understand optimal times to trade as we'd like to trade mostly Q3
Buying/Selling Pressure Cycle (PreCy)No lag estimation of the buying/selling pressure for each candle.
----------------------------------------------------------------------------------------------------
WHY PreCY?
How much bearish pressure is there behind a group of bullish candles ?
Is this bearish pressure increasing?
When might it overcome the bullish pressure?
Those were my questions when I started this indicator. It lead me through the rabbit hole, where I discovered some secrets about the market. So I pushed deeper, and developped it a lot more, in order to understand what is really happening "behind the scene".
There are now 3 ways to read this indicator. It might look complicated at first, but the reward is to be able to anticipate and understand a lot more.
You can show/hide all the plots in the settings. So you can choose the way you prefer to use it.
----------------------------------------------------------------------------------------------------
FIRST WAY TO READ PreCy : The SIGNAL line
Go in the settings of PreCy, in "DISPLAY", uncheck "The pivot lines of the SIGNAL" and "The CYCLE areas". Make sure "The SIGNAL line" is checked.
The SIGNAL shows an estimation of the buying/selling pressure of each candle, going from 100 (100% bullish candle) to -100 (100% bearish candle). A doji would be shown close to zero.
Formula: Estimated % of buying pressure - Estimated % of selling pressure
It is a very choppy line in general, but its colors help make sense of it.
When this choppiness alternates between the extremes, then there is not much pressure on each candle, and it's very unpredictable.
When the pressure increases, the SIGNAL's amplitude changes. It "compresses", meaning there is some interest in the market. It can compress by alternating above and below zero, or it can stay above zero (bullish), or below zero (bearish) for a while.
When the SIGNAL becomes linear (in opposition to choppy), there is a lot of pressure, and it is directional. The participants agree for a move in a chosen direction.
The trajectory of the SIGNAL can help anticipate when a move is going to happen (directional increase of pressure), or stop (returning to zero) and possibly reverse (crossing zero).
Advanced uses:
The SIGNAL can make more sense on a specific timeframe, that would be aligned with the frequency of the orders at that moment. So it is a good idea to switch between timeframes until it gets less choppy, and more directional.
It is interesting to follow any regular progression of the SIGNAL, as it can reveal the intentions of the market makers to go in a certain direction discretely. There can be almost no volume and no move in the price action, yet the SIGNAL gets linear and moves away from one extreme, slowly crosses the zeroline, and pushes to the other extreme at the same time as the amplitude of the price action increases drastically.
----------------------------------------------------------------------------------------------------
SECOND WAY TO READ PreCy : The PIVOTS of the SIGNAL line
Go in the settings of PreCy, in "DISPLAY", and uncheck "The CYCLE areas". Make sure "The SIGNAL line" and "The pivot lines of the SIGNAL" are checked.
The PIVOTS help make sense of the apparent chaos of the SIGNAL. They can reveal the overall direction of the choppy moves.
Especially when the 2 PIVOTS lines are parallel and oriented.
----------------------------------------------------------------------------------------------------
THIRD WAY TO READ PreCy : The CYCLE
Go in the settings of PreCy, in "DISPLAY", and uncheck "The SIGNAL line" and "The pivot lines of the SIGNAL". Make sure "The CYCLE areas" is checked.
The CYCLE is a Moving Average of the SIGNAL in relation to each candle's size.
Formula: 6 periods Moving Average of the SIGNAL * (body of the current candle / 200 periods Moving Average of the candle's bodies)
The result goes from 200 to -200.
The CYCLE shows longer term indications of the pressures of the market.
Analysing the trajectory of the CYCLE can help predict the direction of the price.
When the CYCLE goes above or below the gray low intensity zone, it signals some interest in the move.
When the CYCLE stays above 100 or below -100, it is a sign of strength in the move.
When it stayed out of the gray low intensity zone, then returns inside it, it is a strong signal of a probable change of behavior.
----------------------------------------------------------------------------------------------------
ALERTS
In the settings, you can pick the alerts you're interested in.
To activate them, right click on the chart (or alt+a), choose "Add alert on Buying/Selling Pressure Cycle (PreCy)" then "Any alert()", then "Create".
Feel free to activate them on different timeframes. The alerts show which timeframe they are from (ex: "TF:15" for the 15 minutes TF).
I have added a lot more conditions to my PreCy, taken from FREMA Trend, for ex. You can do the same with your favorite scripts, to make PreCy more accurate for your style.
----------------------------------------------------------------------------------------------------
Borrowed scripts:
To estimate the buying and selling pressures, PreCy uses the wicks calculations of "Volume net histogram" by RafaelZioni
To filter the alerts, PreCy uses the calculations of "Amplitude" by Koholintian:
----------------------------------------------------------------------------------------------------
DO NOT BASE YOUR TRADING DECISIONS ON 1 SINGLE INDICATOR'S SIGNALS.
Always confirm your ideas by other means, like price action and indicators of a different nature.
GKD-C Cycle-Period Adaptive, Linear Regression Slope [Loxx]Giga Kaleidoscope Cycle-Period Adaptive, Linear Regression Slope Oscillator is a Confirmation module included in Loxx's "Giga Kaleidoscope Modularized Trading System".
█ Giga Kaleidoscope Modularized Trading System
What is Loxx's "Giga Kaleidoscope Modularized Trading System"?
The Giga Kaleidoscope Modularized Trading System is a trading system built on the philosophy of the NNFX (No Nonsense Forex) algorithmic trading.
What is an NNFX algorithmic trading strategy?
The NNFX algorithm is built on the principles of trend, momentum, and volatility. There are six core components in the NNFX trading algorithm:
1. Volatility - price volatility; e.g., Average True Range, True Range Double, Close-to-Close, etc.
2. Baseline - a moving average to identify price trend
3. Confirmation 1 - a technical indicator used to identify trends
4. Confirmation 2 - a technical indicator used to identify trends
5. Continuation - a technical indicator used to identify trends
6. Volatility/Volume - a technical indicator used to identify volatility/volume breakouts/breakdown
7. Exit - a technical indicator used to determine when a trend is exhausted
How does Loxx's GKD (Giga Kaleidoscope Modularized Trading System) implement the NNFX algorithm outlined above?
Loxx's GKD v1.0 system has five types of modules (indicators/strategies). These modules are:
1. GKD-BT - Backtesting module (Volatility, Number 1 in the NNFX algorithm)
2. GKD-B - Baseline module (Baseline and Volatility/Volume, Numbers 1 and 2 in the NNFX algorithm)
3. GKD-C - Confirmation 1/2 and Continuation module (Confirmation 1/2 and Continuation, Numbers 3, 4, and 5 in the NNFX algorithm)
4. GKD-V - Volatility/Volume module (Confirmation 1/2, Number 6 in the NNFX algorithm)
5. GKD-E - Exit module (Exit, Number 7 in the NNFX algorithm)
(additional module types will added in future releases)
Each module interacts with every module by passing data between modules. Data is passed between each module as described below:
GKD-B => GKD-V => GKD-C(1) => GKD-C(2) => GKD-C(Continuation) => GKD-E => GKD-BT
That is, the Baseline indicator passes its data to Volatility/Volume. The Volatility/Volume indicator passes its values to the Confirmation 1 indicator. The Confirmation 1 indicator passes its values to the Confirmation 2 indicator. The Confirmation 2 indicator passes its values to the Continuation indicator. The Continuation indicator passes its values to the Exit indicator, and finally, the Exit indicator passes its values to the Backtest strategy.
This chaining of indicators requires that each module conform to Loxx's GKD protocol, therefore allowing for the testing of every possible combination of technical indicators that make up the six components of the NNFX algorithm.
What does the application of the GKD trading system look like?
Example trading system:
Backtest: Strategy with 1-3 take profits, trailing stop loss, multiple types of PnL volatility, and 2 backtesting styles
Baseline: Hull Moving Average as shown on chart
Volatility/Volume: Waddah Attar as shown on chart
Confirmation 1: Cycle-Period Adaptive, Linear Regression Slope Oscillator as shown on the chart above
Confirmation 2: Williams Percent Range
Continuation: Fisher Transform
Exit: Rex Oscillator
Each GKD indicator is denoted with a module identifier of either: GKD-BT, GKD-B, GKD-C, GKD-V, or GKD-E. This allows traders to understand to which module each indicator belongs and where each indicator fits into the GKD protocol chain.
Giga Kaleidoscope Modularized Trading System Signals (based on the NNFX algorithm)
Standard Entry
1. GKD-C Confirmation 1 Signal
2. GKD-B Baseline agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume agrees
Baseline Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume agrees
6. GKD-C Confirmation 1 signal was less than 7 candles prior
Continuation Entry
1. Standard Entry, Baseline Entry, or Pullback; entry triggered previously
2. GKD-B Baseline hasn't crossed since entry signal trigger
3. GKD-C Confirmation Continuation Indicator signals
4. GKD-C Confirmation 1 agrees
5. GKD-B Baseline agrees
6. GKD-C Confirmation 2 agrees
1-Candle Rule Standard Entry
1. GKD-C Confirmation 1 signal
2. GKD-B Baseline agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
Next Candle:
1. Price retraced (Long: close < close or Short: close > close )
2. GKD-B Baseline agrees
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume agrees
1-Candle Rule Baseline Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 1 signal was less than 7 candles prior
Next Candle:
1. Price retraced (Long: close < close or Short: close > close )
2. GKD-B Baseline agrees
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume Agrees
PullBack Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is beyond 1.0x Volatility of Baseline
Next Candle:
1. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume Agrees
█ Cycle-Period Adaptive, Linear Regression Slope Oscillator
What is Cycle-Period Adaptive, Linear Regression Slope Oscillator?
Cycle-Period Adaptive, Linear Regression Slope Oscillator is an oscillator that solves for the Linear Regression slope and turns it into an oscillator. This is a very simple calculation and uses one of Ehler's first implementations of his cycle period calculations. The output slope value is smoothed after calculation and before being drawn. This is a sort of momentum indicator and has a rich history with Forex traders around the world.
What is the Cycle Period?
The spectral content of the data are measured in a bank of contiguous filters as described in "Measuring Cycle Periods" in the March 2008 issue of Stocks & Commodities Magazine. The filter having the strongest output is selected as the current dominant cycle period. The cycle period is measured as the number of bars contained in one full cycle period.
What is Linear Regression?
In statistics, linear regression is a linear approach for modeling the relationship between a scalar response and one or more explanatory variables. The case of one explanatory variable is called simple linear regression ; for more than one, the process is called multiple linear regression.
Requirements
Inputs
Confirmation 1 and Solo Confirmation: GKD-V Volatility / Volume indicator
Confirmation 2: GKD-C Confirmation indicator
Outputs
Confirmation 2 and Solo Confirmation: GKD-E Exit indicator
Confirmation 1: GKD-C Confirmation indicator
Continuation: GKD-E Exit indicator
Additional features will be added in future releases.
Adaptive Schaff Trend Cycle (STC) [AlgoAlpha]Introducing the Adaptive Schaff Trend Cycle by AlgoAlpha: Elevate Your Trading Strategies 🚀
Discover precision and adaptability with the Adaptive Schaff Trend Cycle 🎯, meticulously crafted for traders seeking an edge in the markets. This advanced tool integrates sophisticated algorithms to offer clear insights and real-time analytics 📈.
Key Features:
⚙️Adaptive Signal Processing: Utilizes evolving calculations to adjust to market changes, offering highly responsive signals.
🔍Enhanced MACD Analysis: Innovates on the traditional MACD, providing new insights into market dynamics through an adaptive lens.
🎨Customizable Visual Experience: Features customizable up and down colors for tailored chart analysis.
🔔Real-Time Alerts: Stay informed with instant alerts on indicator changes.
Quick Guide to Using the Adaptive STC Indicator
1. 🔧 Adding the Indicator: Search for "Adaptive Schaff Trend Cycle (STC) " within TradingView's Indicators & Strategies and apply it to your chart. Customize the settings according to your trading style for optimum results.
2.👀 Market Analysis: Monitor the STC and Histogram values closely. The indicator's color gradients provide a visual representation of momentum shifts, helping you to identify trends more clearly.
3. 🚨 Set Alerts: Enable alerts for specific conditions like significant moves up or down, or when the histogram crosses zero. This feature ensures you never miss a potential trading opportunity.
How It Works:
The Adaptive Schaff Trend Cycle by AlgoAlpha introduces a dynamic approach to market analysis, refining traditional indicators through adaptive logic to align with fluctuating market conditions. Here's a concise overview of its operation:
🔄 Adaptive MACD Adjustment: The foundation of the indicator is an enhanced MACD calculation, which dynamically adjusts its parameters based on real-time market trends and momentum. This algorithmic adjustment aims to ensure the MACD's responsiveness to market changes, adapting its sensitivity to offer timely insights .
🌟 Integration of Schaff Trend Cycle (STC): After adjusting the MACD, the indicator calculates STC values to provide a smoothed representation of market trends. By normalizing and smoothing the MACD values on a scale from 0 to 100, the STC method helps in identifying market phases with a clear visualization. The smoothing process is designed to mitigate noise and focus on significant market movements .
📊 Visualization and Alerts: To aid in the interpretation of these insights, the Adaptive Schaff Trend Cycle employs color gradients and customizable visual settings to indicate momentum shifts. These visual cues, combined with alert functionalities, are structured to assist traders in monitoring market developments, enabling them to make informed decisions based on the presented data .
🛠️The Adaptive Schaff Trend Cycle thus merges adaptive MACD adjustments with STC methodology, supported by visual and alert features, to create a tool aimed at enhancing market analysis. By focusing on adaptability and current market conditions, it provides a nuanced view of market trends, intended to support traders in their decision-making processes without promising predictive accuracy or reliability .
Pi Cycle Indicators Comparison IndicatorThere are now 3 Pi Cycle Indicators that I am aware of; the original, improved**, and bottom.
This indicator attempts to provide all three indicators in a dingle, easy to view script.
I coded this script to displace the moving averages above and below the price bars for easy viewing. This was accomplished by placing a scaling factor (/# or *#) at the end of the ta.sma or ta.ema functions.
A vertical arrow, purposely posing as a short vertical line, marks the crossing of the long and short MAs for each indicator. These are color coded to match their respective indicators and the long and short MAs are similarly color coded for easy differentiation.
The red colored MAs and arrows above the price line are the Improved Pi-Cycle Top Indicator.
The green colored MAs and arrows below the price line are the Original Pi-Cycle Top Indicator.
The blue colored MAs and arrows below the green lines and price line are the Pi-Cycle Bottom Indicator.
One last feature of the chart is the use of the location function to enable easy comparison of the crossings of each indicator to the indicator itself and to the price. This can be accomplished simply by moving the chart up and down.
**{I should note that while researching this I found that BitcoinMamo turns out to have beat me to the punch on the Improved Indicator Long.Short and Multiplier numbers. He should therefor get the credit for that}
Price/Time CyclesThis is a script for laying out cycles of price & time that are square (though you can adjust the ratios)
There is an "Auto-cycle" option also
You may have to adjust the ratios of both time & price in different ways to get the right settings but you can experiment
Limit the amount of price lines you are displaying otherwise you may get some errors in the information plotted
(the script says max 10 but really there is no true maximum set & you will get missing information as it begins to plot too many lines... I'll try to define this in the future)
Remember you can put down multiple cycles & change the styling.
FOR LINE STYLE- please use this syntax:
Solid Line = sol
Dotted Line = dot
Dashed Line = dsh
(I'll try to setup options for that in the future)
You can lay cycles into the past using the horizontal offset tool but there is a limit of setting the info back beyond 5000 bars, also, generally this process is a bit funny
The script can only put vertical lines up to 500 bars into the future. So, although cycles of 500 bars or more can be used, the future bar will not be plotted until it is within 500 bars of the current bar. In other words, doing very long-term analysis or trying to lay higher timeframe bar counts onto smaller timeframes might not work & may be a buggy process
Market CycleMarket Cycle Indicator
This indicator identifies the four classic market cycle phases — Accumulation, Markup, Distribution, and Markdown — using a combination of trend, momentum, and volatility signals. It helps traders quickly understand the current market context and avoid trading against major structural shifts.
How It Works
The algorithm evaluates multiple conditions:
• Trend direction based on EMA Fast vs EMA Slow
• Momentum strength using MACD histogram and its slope
• Overbought / oversold zones with RSI
• Trend strength / weakness via ADX (DMI)
Each bar is classified into one of the following phases:
• Accumulation: Low trend strength, rising momentum, mid-range RSI
• Markup: Strong uptrend with rising positive momentum
• Distribution: Weakening momentum after an uptrend, high RSI
• Markdown: Strong downtrend with falling momentum and low RSI
The indicator highlights the active phase using background color and displays a real-time label on the chart.
Main Features
• Automatic detection of 4 market cycle phases
• Background color shading for easy visualization
• Real-time label showing the current phase
• Optional alerts for each phase change
• Clean and optimized code (Pine Script v5)
Recommended Use
Use this indicator to:
• Identify the broader market context
• Avoid entering during distribution or late markup zones
• Time entries better during accumulation or early markup
• Combine with price action, volume, and support/resistance for best results
Note:
This is not a buy/sell signal generator. It provides context, not predictions. Always manage risk appropriately.
Thiru Macro Time Cycles🕐 Thiru Macro Time Cycles - Advanced Multi-Session Trading Indicator
═══════════════════════════════════════════
📋 WHAT IT DOES:
Thiru Macro Time Cycles is a professional-grade trading indicator that automatically identifies and visualizes 10 critical macro trading sessions throughout the trading day. This indicator helps traders identify optimal entry windows during high-probability market periods across London and New York sessions.
The indicator displays horizontal lines and labels marking specific 30-minute time windows that are known for significant price movements and institutional trading activity. Perfect for traders who follow ICT (Inner Circle Trader) methodologies, session trading strategies, and time-based market analysis.
═══════════════════════════════════════════
✨ KEY FEATURES:
🕐 MULTI-SESSION COVERAGE
10 Distinct Macro Sessions:
- London Sessions: 2 sessions (2:45-3:15 AM & 3:45-4:15 AM EST)
- NY AM Sessions: 4 sessions (7:45-8:15 AM, 8:45-9:15 AM, 9:45-10:15 AM, 10:45-11:15 AM EST)
- NY PM Sessions: 4 sessions (11:45-12:15 PM, 12:45-1:15 PM, 1:45-2:15 PM, 2:45-3:15 PM EST)
• Each session is a precise 30-minute window optimized for institutional activity
🎨 FULLY CUSTOMIZABLE VISUALS
• Individual Color Control: Set unique colors for each of the 10 sessions
• Plain Text Labels: Clean labels without background boxes for better visibility
• Label Customization: Show/hide labels, adjust text alignment (Left/Center/Right), size (Tiny to Huge)
• Line Customization: Adjustable width (1-10px), style (Solid/Dotted/Dashed), transparency
• Professional Color Coding: Different colors for London vs NY sessions
• Clean Visual Design: Horizontal lines with optional plain text labels
⏰ INTELLIGENT TIME MANAGEMENT
• Days to Show: Control how many days of sessions to display (1-30 days, default: 5)
• Weekend Filtering: Option to skip Saturday and Sunday for cleaner weekly view
• Automatic Cleanup: Smart memory management prevents chart clutter
• Timezone Aware: Uses Eastern Time (EST/EDT) with automatic DST handling
• Historical Tracking: View past sessions for pattern analysis
📊 SESSION CONTROL SYSTEM
• Individual Session Control: Enable/disable each of the 10 sessions independently
• Session Group Toggles: Show/hide all London, NY AM, or NY PM sessions at once
• London Sessions: Marked as "LO 1" and "LO 2"
• NY AM Sessions: Marked as "AM 1", "AM 2", "AM 3", "AM 4"
• NY PM Sessions: Marked as "PM 1", "PM 2", "PM 3", "PM 4"
• Clear Label System: Easy to identify which session you're viewing
═══════════════════════════════════════════
🚀 HOW TO USE:
BASIC SETUP:
1️⃣ Add the indicator to your chart
2️⃣ The indicator will automatically display sessions for the current and past days
3️⃣ Sessions appear as horizontal lines at the bottom of the indicator pane
4️⃣ Labels show session names (LO 1, LO 2, AM 1-4, PM 1-4)
CUSTOMIZATION:
1️⃣ Open Settings (gear icon)
2️⃣ Adjust "Days to Show" to control historical display (1-30 days recommended)
3️⃣ Enable/disable individual sessions or entire session groups
4️⃣ Toggle "Show Labels" on/off based on your preference
5️⃣ Choose "Text Alignment" (Left/Center/Right) and label size
6️⃣ Customize line width, style, and transparency
7️⃣ Customize colors for each session in the "Colors" section
8️⃣ Enable "Skip Weekends" for cleaner weekly view
FOR SESSION TRADING:
• Monitor the horizontal lines to identify active macro sessions
• Watch for price reactions during these specific 30-minute windows
• Use session labels to quickly identify which macro period is active
• Track multiple days to see session patterns and consistency
FOR ICT/SMC TRADERS:
• London sessions (LO 1, LO 2) align with London Killzone periods
• NY AM sessions (AM 1-4) cover the New York morning session
• NY PM sessions (PM 1-4) cover the New York afternoon session
• Use these windows for optimal entry timing in your trading setups
FOR MULTI-TIMEFRAME ANALYSIS:
• Works on all timeframes (optimized for 15m, 30m, 1h, 4h)
• Adjust "Days to Show" based on your timeframe:
- Lower timeframes (15m, 30m): 3-5 days
- Higher timeframes (4h, Daily): 5-10 days
═══════════════════════════════════════════
⚙️ SETTINGS OVERVIEW:
📌 DISPLAY SETTINGS:
• Days to Show: Number of days to display (default: 5, range: 1-30)
• Skip Weekends: Toggle to skip Saturday and Sunday (default: ON)
• Line Y Position: Adjust vertical position of lines (-1.0 to 1.0)
📌 SESSION GROUPS:
• Show London Sessions: Toggle all London sessions on/off
• Show NY AM Sessions: Toggle all NY AM sessions on/off
• Show NY PM Sessions: Toggle all NY PM sessions on/off
📌 INDIVIDUAL SESSIONS:
• Enable/disable each of the 10 sessions independently
📌 LABEL SETTINGS:
• Show Labels: Toggle labels on/off (default: ON)
• Text Alignment: Left, Center, or Right positioning
• Label Size: Tiny, Small, Normal, Large, or Huge (default: Small)
• Label Y Position: Adjust vertical position (-1.0 to 1.0)
• Label Text Color: Customize text color
📌 LINE APPEARANCE:
• Line Width: 1-10 pixels (default: 7)
• Line Style: Solid, Dotted, or Dashed
• Line Transparency: 0-100% (default: 0 = fully opaque)
🎨 COLORS:
• London Macro 1 Line Color (2:45-3:15 AM): Default Blue
• London Macro 2 Line Color (3:45-4:15 AM): Default Blue
• NYAM Macro 1 Line Color (7:45-8:15 AM): Default Orange
• NYAM Macro 2 Line Color (8:45-9:15 AM): Default Orange
• NYAM Macro 3 Line Color (9:45-10:15 AM): Default Blue
• NYAM Macro 4 Line Color (10:45-11:15 AM): Default Blue
• NYPM Macro 1 Line Color (11:45-12:15 PM): Default Orange
• NYPM Macro 2 Line Color (12:45-1:15 PM): Default Orange
• NYPM Macro 3 Line Color (1:45-2:15 PM): Default Blue
• NYPM Macro 4 Line Color (2:45-3:15 PM): Default Blue
═══════════════════════════════════════════
💡 TIPS & BEST PRACTICES:
✅ RECOMMENDED SETTINGS:
• Days to Show: 5 days (good balance of history and clarity)
• Show Labels: ON (helps identify sessions quickly)
• Text Alignment: Center (best visibility)
✅ TRADING STRATEGIES:
• Combine with price action analysis during macro sessions
• Watch for breakouts or reversals at session boundaries
• Use in conjunction with other ICT/SMC indicators
• Track which sessions show highest volatility for your instrument
✅ CHART SETUP:
• Works best on clean charts (minimal other indicators)
• Recommended instruments: Forex pairs, indices, futures
• Optimal timeframes: 15m, 30m, 1h for intraday trading
• Can be used on 4h/Daily for swing trading context
✅ PERFORMANCE OPTIMIZATION:
• Reduce "Days to Show" if chart becomes cluttered
• Turn off labels if you prefer cleaner visual
• Use consistent colors to build visual memory
• Adjust based on your trading style and preferences
═══════════════════════════════════════════
📈 SESSION TIMES (Eastern Time):
🌍 LONDON SESSIONS:
• LO 1: 2:45 AM - 3:15 AM EST
• LO 2: 3:45 AM - 4:15 AM EST
🇺🇸 NEW YORK AM SESSIONS:
• AM 1: 7:45 AM - 8:15 AM EST
• AM 2: 8:45 AM - 9:15 AM EST
• AM 3: 9:45 AM - 10:15 AM EST
• AM 4: 10:45 AM - 11:15 AM EST
🇺🇸 NEW YORK PM SESSIONS:
• PM 1: 11:45 AM - 12:15 PM EST
• PM 2: 12:45 PM - 1:15 PM EST
• PM 3: 1:45 PM - 2:15 PM EST
• PM 4: 2:45 PM - 3:15 PM EST
═══════════════════════════════════════════
🔧 TECHNICAL DETAILS:
• Pine Script Version: v6
• Indicator Type: Non-overlay (separate pane)
• Timezone: America/New_York (Eastern Time)
• Automatic DST Handling: Yes
• Memory Management: Optimized with automatic cleanup
• Performance: Lightweight and efficient
═══════════════════════════════════════════
🎯 USE CASES:
1️⃣ SESSION TRADING
Identify optimal entry windows during high-probability trading sessions
2️⃣ ICT/SMC METHODOLOGY
Align with Inner Circle Trader and Smart Money Concepts time-based strategies
3️⃣ INSTITUTIONAL TIMING
Track when institutional traders are most active in the market
4️⃣ MULTI-SESSION ANALYSIS
Compare price action across different macro sessions to find patterns
5️⃣ TIME-BASED ENTRIES
Use macro sessions as timing filters for your trading setups
═══════════════════════════════════════════
📝 NOTES:
• All times are in Eastern Time (EST/EDT)
• The indicator automatically handles daylight saving time changes
• Sessions are displayed as horizontal lines in a separate indicator pane
• Works with all instruments: Forex, Stocks, Futures, Crypto
• Compatible with all timeframes, optimized for intraday trading
═══════════════════════════════════════════
👤 AUTHOR & SUPPORT:
Created by: ThiruDinesh
TradingView Profile: @ThiruDinesh
For questions, feedback, or support, please contact through TradingView.
═══════════════════════════════════════════
© 2025 ThiruDinesh - All Rights Reserved
Proprietary Algorithm - Do Not Redistribute
This indicator contains proprietary trading logic and methodology
developed exclusively by ThiruDinesh. Unauthorized copying,
distribution, or reverse engineering is strictly prohibited.
═══════════════════════════════════════════
Previous Cycle Range + SMTs [bilal x shpat]Inspired by ICT (Inner Circle Trader) concepts
Description made by ChatGPT
Thank you shpat.a for making the SMT option
📝 Overview
The Previous Cycle Range + SMTs indicator is a multi-timeframe tool designed to visualize key market structure levels derived from the previous trading cycle’s range — a concept heavily utilized in ICT-style analysis.
In addition to the traditional range levels, this indicator adds Smart Money Tool (SMT) detection, allowing traders to identify bullish or bearish divergences across multiple correlated assets, giving an edge in spotting potential turning points and liquidity imbalances.
It helps traders identify equilibrium levels, liquidity zones, and potential premium/discount areas based on the prior day (or any chosen period) high and low — now with intermarket divergence insights.
⚙️ Features
Custom Cycle Length: Define your own cycle in minutes (e.g., 1440 = 1 day, 10080 = 1 week).
Previous High/Low: Automatically plots the previous cycle’s high and low levels.
Equilibrium (EQ): Optional 50% midpoint line to highlight the market’s equilibrium.
Quarter Levels: Adds 25% and 75% range lines for refined premium/discount analysis.
Extended Ranges: Optional extended levels (e.g., -100%, +200%) to identify continuation or retracement targets.
Fib Levels (1.272 & 1.618): Adds ICT-style Fibonacci extension levels for confluence zones.
Smart Money Tool (SMT) Detection:
Detects bullish or bearish divergences between your main asset and up to two comparison symbols.
Highlights potential SMT zones with optional text labels for quick visualization.
Optional SMT summary table displays divergence status for all three assets.
Custom Styling: Full control over colors, line width, label style, and extension distance.
💡 How It Helps
This indicator aligns with ICT principles by making the previous day’s range visible and actionable, now with SMT divergence insights:
The previous day’s high/low often act as liquidity pools.
The equilibrium (EQ) represents fair value — useful for spotting premium/discount zones.
Quarter levels and Fibonacci extensions add precision when mapping market structure and potential reaction points.
SMT detection helps traders identify early divergence signals that may indicate upcoming bullish or bearish moves across correlated markets.
🔍 Example Uses
Identify where price is trading relative to the previous session’s range.
Use EQ and quarter levels to gauge premium vs. discount conditions.
Spot intermarket divergences using SMTs to anticipate potential reversal or continuation points.
Combine with other ICT-based tools (e.g., PD arrays, dealing ranges, or kill zones) for refined trade setups.
US Macro Cycle (Z-Score Model)US Macro Cycle (Z-Score Model)
This indicator tracks the US economic cycle in real time using a weighted composite of seven macro and market-based indicators, each converted into a rolling Z-score for comparability. The model identifies the current phase of the cycle — Expansion, Peak, Contraction, or Recovery — and suggests sector tilts based on historical performance in each phase.
Core Components:
Yield Curve (10y–2y): Positive & steepening = growth; inverted = slowdown risk.
Credit Spreads (HYG/LQD): Tightening = risk-on; widening = risk-off.
Sector Leadership (Cyclicals vs. Defensives): Measures market leadership regime.
Copper/Gold Ratio: Higher copper = growth signal; higher gold = defensive.
SPY vs. 200-day MA: Equity trend strength.
SPY/IEF Ratio: Stocks vs. bonds relative strength.
VIX (Inverted): Low/falling volatility = supportive; high/rising = risk-off.
Methodology:
Each series is transformed into a rolling Z-score over the selected lookback period (optionally using median/MAD for robustness and winsorization to clip outliers).
Z-scores are combined using user-defined weights and normalized.
The smoothed composite is compared against phase thresholds to classify the macro environment.
Features:
Customizable Weights: Emphasize the indicators most relevant to your strategy.
Adjustable Thresholds: Fine-tune cycle phase definitions.
Background Coloring: Visual cue for the current phase.
Summary Table: Displays composite Z, confidence %, and individual Z-scores.
Alerts: Trigger when the phase changes, with details on the composite score and recommended tilt.
Use Cases:
Align sector rotation or relative strength strategies with the macro backdrop.
Identify favorable or defensive phases for tactical allocation.
Monitor macro turning points to manage portfolio risk.
It's doesn't fill nan gaps so there is quite a bit of zeroes, non-repainting.






















