Log Regression OscillatorThe Log Regression Oscillator transforms the logarithmic regression curves into an easy-to-interpret oscillator that displays potential cycle tops/bottoms.
🔶 USAGE
Calculating the logarithmic regression of long-term swings can help show future tops/bottoms. The relationship between previous swing points is calculated and projected further. The calculated levels are directly associated with swing points, which means every swing point will change the calculation. Importantly, all levels will be updated through all bars when a new swing is detected.
The "Log Regression Oscillator" transforms the calculated levels, where the top level is regarded as 100 and the bottom level as 0. The price values are displayed in between and calculated as a ratio between the top and bottom, resulting in a clear view of where the price is situated.
The main picture contains the Logarithmic Regression Alternative on the chart to compare with this published script.
Included are the levels 30 and 70. In the example of Bitcoin, previous cycles showed a similar pattern: the bullish parabolic was halfway when the oscillator passed the 30-level, and the top was very near when passing the 70-level.
🔹 Proactive
A "Proactive" option is included, which ensures immediate calculations of tentative unconfirmed swings.
Instead of waiting 300 bars for confirmation, the "Proactive" mode will display a gray-white dot (not confirmed swing) and add the unconfirmed Swing value to the calculation.
The above example shows that the "Calculated Values" of the potential future top and bottom are adjusted, including the provisional swing.
When the swing is confirmed, the calculations are again adjusted, showing a red dot (confirmed top swing) or a green dot (confirmed bottom swing).
🔹 Dashboard
When less than two swings are available (top/bottom), this will be shown in the dashboard.
The user can lower the "Threshold" value or switch to a lower timeframe.
🔹 Notes
Logarithmic regression is typically used to model situations where growth or decay accelerates rapidly at first and then slows over time, meaning some symbols/tickers will fit better than others.
Since the logarithmic regression depends on swing values, each new value will change the calculation. A well-fitted model could not fit anymore in the future.
Users have to check the validity of swings; for example, if the direction of swings is downwards, then the dataset is not fitted for logarithmic regression.
In the example above, the "Threshold" is lowered. However, the calculated levels are unreliable due to the swings, which do not fit the model well.
Here, the combination of downward bottom swings and price accelerates slower at first and faster recently, resulting in a non-fit for the logarithmic regression model.
Note the price value (white line) is bound to a limit of 150 (upwards) and -150 (down)
In short, logarithmic regression is best used when there are enough tops/bottoms, and all tops are around 100, and all bottoms around 0.
Also, note that this indicator has been developed for a daily (or higher) timeframe chart.
🔶 DETAILS
In mathematics, the dot product or scalar product is an algebraic operation that takes two equal-length sequences of numbers (arrays) and returns a single number, the sum of the products of the corresponding entries of the two sequences of numbers.
The usual way is to loop through both arrays and sum the products.
In this case, the two arrays are transformed into a matrix, wherein in one matrix, a single column is filled with the first array values, and in the second matrix, a single row is filled with the second array values.
After this, the function matrix.mult() returns a new matrix resulting from the product between the matrices m1 and m2.
Then, the matrix.eigenvalues() function transforms this matrix into an array, where the array.sum() function finally returns the sum of the array's elements, which is the dot product.
dot(x, y)=>
if x.size() > 1 and y.size() > 1
m1 = matrix.new()
m2 = matrix.new()
m1.add_col(m1.columns(), y)
m2.add_row(m2.rows (), x)
m1.mult (m2)
.eigenvalues()
.sum()
🔶 SETTINGS
Threshold: Period used for the swing detection, with higher values returning longer-term Swing Levels.
Proactive: Tentative Swings are included with this setting enabled.
Style: Color Settings
Dashboard: Toggle, "Location" and "Text Size"
Cerca negli script per "Cycle"
Logarithmic Regression AlternativeLogarithmic regression is typically used to model situations where growth or decay accelerates rapidly at first and then slows over time. Bitcoin is a good example.
𝑦 = 𝑎 + 𝑏 * ln(𝑥)
With this logarithmic regression (log reg) formula 𝑦 (price) is calculated with constants 𝑎 and 𝑏, where 𝑥 is the bar_index .
Instead of using the sum of log x/y values, together with the dot product of log x/y and the sum of the square of log x-values, to calculate a and b, I wanted to see if it was possible to calculate a and b differently.
In this script, the log reg is calculated with several different assumed a & b values, after which the log reg level is compared to each Swing. The log reg, where all swings on average are closest to the level, produces the final 𝑎 & 𝑏 values used to display the levels.
🔶 USAGE
The script shows the calculated logarithmic regression value from historical swings, provided there are enough swings, the price pattern fits the log reg model, and previous swings are close to the calculated Top/Bottom levels.
When the price approaches one of the calculated Top or Bottom levels, these levels could act as potential cycle Top or Bottom.
Since the logarithmic regression depends on swing values, each new value will change the calculation. A well-fitted model could not fit anymore in the future.
Swings are based on Weekly bars. A Top Swing, for example, with Swing setting 30, is the highest value in 60 weeks. Thirty bars at the left and right of the Swing will be lower than the Top Swing. This means that a confirmation is triggered 30 weeks after the Swing. The period will be automatically multiplied by 7 on the daily chart, where 30 becomes 210 bars.
Please note that the goal of this script is not to show swings rapidly; it is meant to show the potential next cycle's Top/Bottom levels.
🔹 Multiple Levels
The script includes the option to display 3 Top/Bottom levels, which uses different values for the swing calculations.
Top: 'high', 'maximum open/close' or 'close'
Bottom: 'low', 'minimum open/close' or 'close'
These levels can be adjusted up/down with a percentage.
Lastly, an "Average" is included for each set, which will only be visible when "AVG" is enabled, together with both Top and Bottom levels.
🔹 Notes
Users have to check the validity of swings; the above example only uses 1 Top Swing for its calculations, making the Top level unreliable.
Here, 1 of the Bottom Swings is pretty far from the bottom level, changing the swing settings can give a more reliable bottom level where all swings are close to that level.
Note the display was set at "Logarithmic", it can just as well be shown as "Regular"
In the example below, the price evolution does not fit the logarithmic regression model, where growth should accelerate rapidly at first and then slows over time.
Please note that this script can only be used on a daily timeframe or higher; using it at a lower timeframe will show a warning. Also, it doesn't work with bar-replay.
🔶 DETAILS
The code gathers data from historical swings. At the last bar, all swings are calculated with different a and b values. The a and b values which results in the smallest difference between all swings and Top/Bottom levels become the final a and b values.
The ranges of a and b are between -20.000 to +20.000, which means a and b will have the values -20.000, -19.999, -19.998, -19.997, -19.996, ... -> +20.000.
As you can imagine, the number of calculations is enormous. Therefore, the calculation is split into parts, first very roughly and then very fine.
The first calculations are done between -20 and +20 (-20, -19, -18, ...), resulting in, for example, 4.
The next set of calculations is performed only around the previous result, in this case between 3 (4-1) and 5 (4+1), resulting in, for example, 3.9. The next set goes even more in detail, for example, between 3.8 (3.9-0.1) and 4.0 (3.9 + 0.1), and so on.
1) -20 -> +20 , then loop with step 1 (result (example): 4 )
2) 4 - 1 -> 4 +1 , then loop with step 0.1 (result (example): 3.9 )
3) 3.9 - 0.1 -> 3.9 +0.1 , then loop with step 0.01 (result (example): 3.93 )
4) 3.93 - 0.01 -> 3.93 +0.01, then loop with step 0.001 (result (example): 3.928)
This ensures complicated calculations with less effort.
These calculations are done at the last bar, where the levels are displayed, which means you can see different results when a new swing is found.
Also, note that this indicator has been developed for a daily (or higher) timeframe chart.
🔶 SETTINGS
Three sets
High/Low
• color setting
• Swing Length settings for 'High' & 'Low'
• % adjustment for 'High' & 'Low'
• AVG: shows average (when both 'High' and 'Low' are enabled)
Max/Min (maximum open/close, minimum open/close)
• color setting
• Swing Length settings for 'Max' & 'Min'
• % adjustment for 'Max' & 'Min'
• AVG: shows average (when both 'Max' and 'Min' are enabled)
Close H/Close L (close Top/Bottom level)
• color setting
• Swing Length settings for 'Close H' & 'Close L'
• % adjustment for 'Close H' & 'Close L'
• AVG: shows average (when both 'Close H' and 'Close L' are enabled)
Show Dashboard, including Top/Bottom levels of the desired source and calculated a and b values.
Show Swings + Dot size
Intellect_city - Halvings Bitcoin CycleWhat is halving?
The halving timer shows when the next Bitcoin halving will occur, as well as the dates of past halvings. This event occurs every 210,000 blocks, which is approximately every 4 years. Halving reduces the emission reward by half. The original Bitcoin reward was 50 BTC per block found.
Why is halving necessary?
Halving allows you to maintain an algorithmically specified emission level. Anyone can verify that no more than 21 million bitcoins can be issued using this algorithm. Moreover, everyone can see how much was issued earlier, at what speed the emission is happening now, and how many bitcoins remain to be mined in the future. Even a sharp increase or decrease in mining capacity will not significantly affect this process. In this case, during the next difficulty recalculation, which occurs every 2014 blocks, the mining difficulty will be recalculated so that blocks are still found approximately once every ten minutes.
How does halving work in Bitcoin blocks?
The miner who collects the block adds a so-called coinbase transaction. This transaction has no entry, only exit with the receipt of emission coins to your address. If the miner's block wins, then the entire network will consider these coins to have been obtained through legitimate means. The maximum reward size is determined by the algorithm; the miner can specify the maximum reward size for the current period or less. If he puts the reward higher than possible, the network will reject such a block and the miner will not receive anything. After each halving, miners have to halve the reward they assign to themselves, otherwise their blocks will be rejected and will not make it to the main branch of the blockchain.
The impact of halving on the price of Bitcoin
It is believed that with constant demand, a halving of supply should double the value of the asset. In practice, the market knows when the halving will occur and prepares for this event in advance. Typically, the Bitcoin rate begins to rise about six months before the halving, and during the halving itself it does not change much. On average for past periods, the upper peak of the rate can be observed more than a year after the halving. It is almost impossible to predict future periods because, in addition to the reduction in emissions, many other factors influence the exchange rate. For example, major hacks or bankruptcies of crypto companies, the situation on the stock market, manipulation of “whales,” or changes in legislative regulation.
---------------------------------------------
Table - Past and future Bitcoin halvings:
---------------------------------------------
Date: Number of blocks: Award:
0 - 03-01-2009 - 0 block - 50 BTC
1 - 28-11-2012 - 210000 block - 25 BTC
2 - 09-07-2016 - 420000 block - 12.5 BTC
3 - 11-05-2020 - 630000 block - 6.25 BTC
4 - 20-04-2024 - 840000 block - 3.125 BTC
5 - 24-03-2028 - 1050000 block - 1.5625 BTC
6 - 26-02-2032 - 1260000 block - 0.78125 BTC
7 - 30-01-2036 - 1470000 block - 0.390625 BTC
8 - 03-01-2040 - 1680000 block - 0.1953125 BTC
9 - 07-12-2043 - 1890000 block - 0.09765625 BTC
10 - 10-11-2047 - 2100000 block - 0.04882813 BTC
11 - 14-10-2051 - 2310000 block - 0.02441406 BTC
12 - 17-09-2055 - 2520000 block - 0.01220703 BTC
13 - 21-08-2059 - 2730000 block - 0.00610352 BTC
14 - 25-07-2063 - 2940000 block - 0.00305176 BTC
15 - 28-06-2067 - 3150000 block - 0.00152588 BTC
16 - 01-06-2071 - 3360000 block - 0.00076294 BTC
17 - 05-05-2075 - 3570000 block - 0.00038147 BTC
18 - 08-04-2079 - 3780000 block - 0.00019073 BTC
19 - 12-03-2083 - 3990000 block - 0.00009537 BTC
20 - 13-02-2087 - 4200000 block - 0.00004768 BTC
21 - 17-01-2091 - 4410000 block - 0.00002384 BTC
22 - 21-12-2094 - 4620000 block - 0.00001192 BTC
23 - 24-11-2098 - 4830000 block - 0.00000596 BTC
24 - 29-10-2102 - 5040000 block - 0.00000298 BTC
25 - 02-10-2106 - 5250000 block - 0.00000149 BTC
26 - 05-09-2110 - 5460000 block - 0.00000075 BTC
27 - 09-08-2114 - 5670000 block - 0.00000037 BTC
28 - 13-07-2118 - 5880000 block - 0.00000019 BTC
29 - 16-06-2122 - 6090000 block - 0.00000009 BTC
30 - 20-05-2126 - 6300000 block - 0.00000005 BTC
31 - 23-04-2130 - 6510000 block - 0.00000002 BTC
32 - 27-03-2134 - 6720000 block - 0.00000001 BTC
Gann Dates█ INTRODUCTION
This indicator is very easy to understand and simple to use. It indicates important Gann dates in the future based on pivots (highs and lows) or key dates from the past.
According to W.D. Gann the year can be seen as a cycle or one full circle with 365 degrees. The circle can be symmetrically divided into equal sections at angles of 30, 45, 60, etc. The start of the cycle can be a significant key date or a pivot in the chart. Hence there are dates in the calendar, that fall on important angles. According to W.D. Gann those are important dates to watch for significant price movement in either direction.
In combination with other tools, this indicator can help you to time the market and make better risk-on/off decisions.
█ HOW TO USE
ibb.co
You need to adjust the settings depending on the chart. The following parameters can be adjusted:
Gann angles: The script will plot dates that are distant from pivots by a multiple of this.
Gann dates per pivot: The amount of dates that will show.
Search window size for pivots: This is how the local highs and lows are detected in the chart. The smaller this number the more local highs and lows will show.
You also have the option to hide dates derived from lows/highs, or show dates based on two custom key dates.
█ EXAMPLES
The following chart shows the price of Gold in USD with multiples of 20 days from local pivots.
The following chart shows the price of Bitcoin in USD with multiples of 30 weeks from two custom dates (in this case the low in late 2018 and the low in late 2022).
BE-TrendLines & Price SentimentsOverview
The trendline is one of the most potent and flexible tools in trading. A rising trendline indicates an upward trend, a falling trendline indicates a downward trend, and a flat trendline indicates a range-bound bond market.
Breakouts, price bounces, and reversal / Retest tactics are all types of trades that may be made using a trendline. Additionally, stop-loss and profit-trailing orders can be based on trendlines as support and resistance levels, appropriately.
Technical Calculations for Trendlines & Price Sentiments:
Pivot points for a specified time frame and the Prevailing High/Low for the most recent bars are used to derive trendlines. While Pivot Points alert us to price movements, High/Low tells us where Bulls and Bears find a middle ground. This provides a remarkable set of conditions from which to extrapolate the efficacy of the Trendlines.
The term "price sensitivity" refers to how much a change in the price of a product causes consumers to alter their purchase habits. It's the relationship between price shifts and shifts in consumer demand. So, for example, if a 30% jump in the cost of a product leads to a 10% drop in purchases, we can conclude that the item has a price sensitivity of 0.33%.
Basis the above theoretical statement, If the underlying asset's price drops, the indicator shall compute data on the amount of volume being pumped (Inflow vs Outflow) into the market (if available), or the percentage by which the price has changed. This will be compared to the recent drop rate to see if the behavior has changed at the similar value zone and non similar value zone. similar calculation shall be done if the price of the underlying rises.
Traders may benefit from hearing about Trendlines in their "Story Telling" form, which we now present. To help you comprehend it better, candles are divided into three Sentiment groups based on their color. Colors: Green (with its shades), Silver, and Red (including its shades). Green signifies a Bullish Trend, Silver a neutral trend, and Red a Brearish Trend.
Bullish Trend
Bearish Trend
Neutral Trend
Sentiment Price Cycle in Trending Market: Green (Directional Bullish), Dark Green (Bullish Trend Loosing its Strength), Silver (Neutral Trend), Red (Directional Bearish), Dark Red (Bearish Trend Loosing its Strength)
Sentiment Price Cycle in RangeBound Market: Green (Over Brought), Silver (Neutral) & Red (Over Sold)
How to Initiate Trade when price is within TL:
Fake Break Out Trade:
BreakDown Trade:
BreakOut Trade:
Couple of Other Features in the Indicator:
Single Alerts = These are the alerts where in, as and when the Event happens Alerts shall the trigerred. like On BreakOut, BreakDown, TouchOf Up TrendLine, TouchOf DownTrendLine, Retest Of Up TrendLine, Retest of DownTrendLine.
Conditional Alerts = These are those type of Alerts where in you can combine 2 or 3 conditions to trigger an Alert. Like
Sample 1 - After Down TL is tested for 3 times, If BreakOut happens and the setiment turns Bullish within 5 Candles.
Sample 2 - After Up TL is tested for 2 times, If Price Bounces backUp from TL and the setiment turns Bullish within 5 Candles.
Similarly you can customize the combination of events for getting the alert.
DISCLAIMER: No sharing, copying, reselling, modifying, or any other forms of use are authorized for our documents, script / strategy, and the information published with them. This informational planning script / strategy is strictly for individual use and educational purposes only. This is not financial or investment advice. Investments are always made at your own risk and are based on your personal judgement. I am not responsible for any losses you may incur. Please invest wisely.
Happy to receive suggestions and feedback in order to improve the performance of the indicator better.
90cycle @joshuuu90 minute cycle is a concept about certain time windows of the day.
This indicator has two different options. One uses the 90 minute cycle times mentioned by traderdaye, the other uses the cls operational times split up into 90 minutes session.
e.g. we can often see a fake move happening in the 90 minute window between 2.30am and 4am ny time.
The indicator draws vertical lines at the start/end of each session and the user is able to only display certain sessions (asia, london, new york am and pm)
For the traderdayes option, the indicator also counts the windows from 1 to 4 and calls them q1,q2,q3,q4 (q-quarter)
⚠️ Open Source ⚠️
Coders and TV users are authorized to copy this code base, but a paid distribution is prohibited. A mention to the original author is expected, and appreciated.
⚠️ Terms and Conditions ⚠️
This financial tool is for educational purposes only and not financial advice. Users assume responsibility for decisions made based on the tool's information. Past performance doesn't guarantee future results. By using this tool, users agree to these terms.
Range Identifier*Re-upload as previous attempt was removed.
An attempt to create a half decent identifier of when the markets are ranging and in a state of choppiness and mean reversion - as opposed to in trending trade conditions.
It's super simple logic just working on some basic price action and market structure operating on higher time frames.
It uses the Donchian Channels but with hlc3 data as opposed to high/lows - and identifies periods in which the baseline is static, or when the channel upper & lower are contracting.
This combination identifies non trending price action with decreasing volatility, which tends to indicate a lot of upcoming chop and ranging/sideways action; especially when intraday trading and applied on the daily timeframe.
The filter increasing results in a decrease of areas identified as choppy by extending the required period of a sideways static basis, I've found values of 2 or 3 to be a nice sweetspot!
Overall should be pretty intuitive to use, when the background changes just consider altering your trading and investing approach. This was created as I've not really seen anything on here that functions quite the same.
I decided to not include the Donchian upper/lower/basis as I found that can often lead to decision bias and being influenced by where these lines are situated causing you to guess on future direction.
It's obviously never going to be perfect, but a nice and unbiased way to quickly check where we may be in a cycle; let me know if there are any issues/questions and please enjoy!
inverse_fisher_transform_adaptive_stochastic█ Description
The indicator is the implementation of inverse fisher transform an indicator transform of the adaptive stochastic (dominant cycle), as in the Cycle Analytics for Trader pg. 198 (John F. Ehlers). Indicator transformation in brief means reshaping the indicator to be more interpretable. The inverse fisher transform is achieved by compressing values near the extremes many extraneous and irrelevant wiggles are removed from the indicator, as cited.
█ Inverse Fisher Transform
input = 2*(adaptive_stoc - .5)
output = e(2*k*input) -1 / e(2*k*input) +1
█ Feature:
iFish i.e. output value
trigger i.e. previous 1 bar of iFish * 0.90
if iFish crosses above the trigger, consider a buy indicated with the green line
while, iFish crosses below the trigger, consider a sell indicate by the red line
in addition iFish needs to be greater than the previous iFish
timing marketIntraday time cycle . it is valid for nifty and banknifty .just add this on daily basis . ignore previous day data
BTC Pi MultipleThe Pi Multiple is a function of 350 and 111-day moving average. When both intersect and the 111-day MA crosses above, it has historically coincided with a cycle top with a 3-day margin.
With the Pi Multiple, this intersection is visible when the line crosses zero upwards.
The indicator is called the Pi Multiple because 350/111 is close to Pi. It is based on the Pi Cycle Top Indicator developed by Philip Swift and has been modified for better readability by David Bertho.
Bitcoin Fundamentals - Puell MultipleThis is an indicator that derives from Bitcoin Mining daily generated Income.
It does show a perfect track record on calling Bitcoin cycle tops and cycle bottoms.
For those of you willing to experiment, I've enabled the ability to set custom periods (365 by default).
The indicator includes custom alerts to notify the entry and the exit from OverBought (OB) & OverSold (OS) bands.
Credits: David Puell twitter.com
Cycle Dynamic Composite AverageThis MA uses the formula of simple cycle indicator to find 2 cycles periods length's .
The CDCA is the result of 8 different ma to control and filter the price. The regression line is the signal , don t need to look candles, but just the cross between MA and reg lin.
Auto Fibonacci Retracements with Alerts [SwissAlgo]AUTO-FIBONACCI RETRACEMENT: LEVELS, ALERTS & PD ZONES
Automatically maps Fibonacci retracement levels with Premium/Discount (PD) zones and configurable alerts for technical analysis study.
------------------------------------------------------------------
FEATURES
Automatic Fibonacci Levels Detection
Identifies swing extremes (reference high and low to map retracements) from a user-defined trend start date and trend indication automatically
Calculates 20 Fibonacci levels (from -2.618 to +2.618) automatically
Dynamically updates Fib levels as price action develops, anchoring the bottom (in case of uptrends) or the top (in case of downtrends)
Detects potential Trend's Change of Character automatically
Premium/Discount (PD) zone visualization based on trend and price extremes
Visual Components
Dotted horizontal lines for each Fibonacci level
'Premium' and 'discount' zone highlighting
Change of Character (CHoCH) marker when a trend anchor breaks (a bottom is broken after an uptrend, a top is broken after a downtrend)
Adaptive label colors for light/dark chart themes
Alert System
Configurable alerts for all Fibonacci levels
Requires 2 consecutive bar closes for confirmation (reduces false signals)
CHoCH alert when a locked extreme is broken
Set up using "Any alert() function call" option
------------------------------------------------------------------
USE CASES
Two Primary Use Cases:
1. PROSPECTIVE TREND MAPPING (Real-Time Tracking)
Set start date at or just before an anticipated swing extreme to track levels as the trend develops:
For Uptrend : Place start date near a bottom. The bottom level locks after consolidation, while the top updates in real-time as the price climbs higher
For Downtrend : Place start date near a top. The top-level locks after consolidation, while the bottom updates in real-time as the price falls lower
This mode tracks developing price action against Fibonacci levels as the swing unfolds.
2. RETROSPECTIVE ANALYSIS (Historical Swing Study)
Set the start date at a completed swing extreme to analyze how the price interacted (and is interacting) with the Fibonacci levels:
Both high and low are already established in the historical data
Levels remain static for analysis purposes
Useful for analyzing price behavior relative to Fibonacci levels, studying retracement dynamics, and assessing a trading posture
------------------------------------------------------------------
HOW TO USE
Set 'Start Date' : Select Start Date (anchor point) at or just before the swing extreme (bottom for uptrend, top for downtrend)
Choose Trend Direction (Up or Down): direction is known for retrospective analysis, uncertain for prospective analysis
Update the start date when significant structure breaks occur to begin analyzing a new swing cycle.
Configure alerts as needed for your analysis
------------------------------------------------------------------
TECHNICAL DETAILS
♦ Auto-Mapped Fibonacci Retracement Levels:
2.618, 2.000, 1.618, 1.414, 1.272, 1.000, 0.882, 0.786, 0.618, 0.500, 0.382, 0.236, 0.118, 0.000, -0.272, -0.618, -1.000, -1.618, -2.000, -2.618
♦ Premium/Discount (PD) Zones:
Uptrend: Green (discount zone) = levels 0 to 0.5 | Red (premium zone) = levels 0.5 to 1.0
Downtrend: Red (premium zone) = levels 0 to 0.5 | Green (discount zone) = levels 0.5 to 1.0
The yellow line represents the 0.5 equilibrium level
♦ Lock Mechanism:
The indicator monitors for new extremes to detect a Change of Character in the trend (providing visual feedback and alerts). It locks the anchor swing extreme after a timeframe-appropriate consolidation period has elapsed (varies from 200 bars on second charts to 1 bar on monthly charts) to detect such potentially critical events.
------------------------------------------------------------------
IMPORTANT NOTES
This is an educational tool for technical analysis study. It displays historical and current price relationships to Fibonacci levels but does not predict future price movements or provide trading recommendations.
DISCLAIMER: This indicator is for educational and informational purposes only. It does not constitute financial advice or trading signals. Past price patterns do not guarantee future results. Trading involves substantial risk of loss. Always conduct your own analysis and consult with qualified financial professionals before making trading decisions. By using this indicator, you acknowledge and agree to these limitations.
Stage 2 BasesStage 2 Bases
What is a Stage 2 Base?
Stage 2 = Advancing Phase in Stock price cycle.
Stocks in Stage 2 are in uptrend (50 > 150 > 200-day moving averages).
A pause (consolidation) in an ongoing uptrend.
Price moves sideways for weeks to months after an advance.
Builds energy for the next leg up and allows accumulation.
Strong prior uptrend before the base.
Base length typically 4+ weeks.
Base depth generally 10–40% pullback.
Volume contracts during consolidation.
Breakout occurs above prior highs on strong volume.
⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
Why They Matter?
Institutions accumulate shares during the base.
Resets overbought conditions without breaking the trend.
Valid breakout often leads to next strong rally.
⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
How to read this indicator?
Complete Stage 2 bases in Daily Timeframe
Complete Stage 2 bases in Weekly Timeframe
⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
Key Characteristics
Works on Daily and Weekly Timeframes
Past Stage 2 Bases are marked as well
Base Counts, Depth, Consolidation Range, Move from one base to another and No of days/weeks move are marked
Base 1 are marked when a stock is coming out of Stage 1 (After Golden cross 50SMA > 200 SMA)
Base count is increased when a move from base is more than 20% (Can be modified in Indicator settings)
Base resets to 1 when the base undercuts the previous base
Base markings are stopped when the 200 SMA > 50 SMA
⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
Indicator Settings
⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
Limitations
Base markings are stopped when the 200 SMA > 50 SMA but if a stock doesn't go down beyond 40% and the Price action is good within the base then its good to keep the stock in watchlist. This scenario is not handled.
⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
Disclaimer
This indicator is created purely for educational and informational purposes. It is not a buy or sell recommendation , nor should it be considered financial advice. Trading and investing in the stock market involves risk, and you should do your own research or consult with a qualified financial advisor before making any investment decisions. The creator of this indicator is not responsible for any losses incurred by using this tool.
⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
Power Law Divergence in % - For Bitcoin Only_JPBitcoin Power Law Divergence
The Bitcoin Power Law Divergence is a representation of Bitcoin prices first proposed by Giovanni Santostasi, Ph.D. It plots BTCUSD daily closes on a log10-log10 scale, and fits a linear regression channel to the data.
This channel helps traders visualise when the price is historically in a zone prone to tops or located within a discounted zone subject to future growth.
Giovanni Santostasi, Ph.D. originated the Bitcoin Power-Law Theory; this implementation places it directly on a TradingView chart. The white line shows the daily closing price, while the cyan line is the best-fit regression.
A channel is constructed from the linear fit root mean squared error (RMSE), we can observe how price has repeatedly oscillated between each channel areas through every bull-bear cycle.
DETAILS
One of the advantages of the Power Law Theory proposed by Giovanni Santostasi is its ability to explain multiple behaviors of Bitcoin. We describe some key points below.
Power-Law Overview
A power law has the form y = A·xⁿ, and Bitcoin’s key variables follow this pattern across many orders of magnitude. Empirically, price rises roughly with t⁶, hash-rate with t¹² and the number of active addresses with t³.
When we plot these on log-log axes they appear as straight lines, revealing a scale-invariant system whose behaviour repeats proportionally as it grows.
True Opens - (SpeculatorBryan)Overview
This indicator provides a complete framework of key institutional levels by plotting the "True Open" price for the Month, Week, Day, and Intraday Sessions. Instead of using standard chart opens, it uses specific, globally significant times (based in the NY timezone) to identify levels that price action traders watch closely for support, resistance, and market direction.
What It Does
True Monthly Open (TMO): The key macro level, marking the start of the month's trading.
True Weekly Open (TWO): Arguably the most important level, defining the weekly bias. Based on the Sunday evening start of the forex trading week.
True Daily Open (TDO): The New York midnight open, marking the true start of the institutional 24-hour cycle.
True Session Opens (TSO): Key intraday opens (e.g., London, NY) for finding entries and exits on lower timeframes.
Key Features
Clean Forward Projection: All lines and labels project into the future, so you always see the levels in your current price action.
Full Styling Control: Customize the color, style (solid, dashed, dotted), and text for every level to match your chart theme.
Intelligent Display: Levels automatically show on appropriate timeframes to keep your chart clutter-free. Use the "Stacked Opens" feature to override this.
Lightweight & Efficient: Optimized to run smoothly without lagging your chart.
How to Use It
Look for price to react at these levels. A bounce can signal a continuation, while a clean break and retest can signal a change in market structure. Use the higher-timeframe opens (TMO, TWO) as major anchors for your overall bias and the lower-timeframe opens (TDO, TSO) for fine-tuning your entries and exits.
Election Year GainsShows the yearly gains of the chart in U.S. Election years.
Use the options to turn on other years in the cycle.
For use with the 12M chart.
Will show non-sensical data with other intervals.
TASC 2025.06 Cybernetic Oscillator█ OVERVIEW
This script implements the Cybernetic Oscillator introduced by John F. Ehlers in his article "The Cybernetic Oscillator For More Flexibility, Making A Better Oscillator" from the June 2025 edition of the TASC Traders' Tips . It cascades two-pole highpass and lowpass filters, then scales the result by its root mean square (RMS) to create a flexible normalized oscillator that responds to a customizable frequency range for different trading styles.
█ CONCEPTS
Oscillators are indicators widely used by technical traders. These indicators swing above and below a center value, emphasizing cyclic movements within a frequency range. In his article, Ehlers explains that all oscillators share a common characteristic: their calculations involve computing differences . The reliance on differences is what causes these indicators to oscillate about a central point.
The difference between two data points in a series acts as a highpass filter — it allows high frequencies (short wavelengths) to pass through while significantly attenuating low frequencies (long wavelengths). Ehlers demonstrates that a simple difference calculation attenuates lower-frequency cycles at a rate of 6 dB per octave. However, the difference also significantly amplifies cycles near the shortest observable wavelength, making the result appear noisier than the original series. To mitigate the effects of noise in a differenced series, oscillators typically smooth the series with a lowpass filter, such as a moving average.
Ehlers highlights an underlying issue with smoothing differenced data to create oscillators. He postulates that market data statistically follows a pink spectrum , where the amplitudes of cyclic components in the data are approximately directly proportional to the underlying periods. Specifically, he suggests that cyclic amplitude increases by 6 dB per octave of wavelength.
Because some conventional oscillators, such as RSI, use differencing calculations that attenuate cycles by only 6 dB per octave, and market cycles increase in amplitude by 6 dB per octave, such calculations do not have a tangible net effect on larger wavelengths in the analyzed data. The influence of larger wavelengths can be especially problematic when using these oscillators for mean reversion or swing signals. For instance, an expected reversion to the mean might be erroneous because oscillator's mean might significantly deviate from its center over time.
To address the issues with conventional oscillator responses, Ehlers created a new indicator dubbed the Cybernetic Oscillator. It uses a simple combination of highpass and lowpass filters to emphasize a specific range of frequencies in the market data, then normalizes the result based on RMS. The process is as follows:
Apply a two-pole highpass filter to the data. This filter's critical period defines the longest wavelength in the oscillator's passband.
Apply a two-pole SuperSmoother (lowpass filter) to the highpass-filtered data. This filter's critical period defines the shortest wavelength in the passband.
Scale the resulting waveform by its RMS. If the filtered waveform follows a normal distribution, the scaled result represents amplitude in standard deviations.
The oscillator's two-pole filters attenuate cycles outside the desired frequency range by 12 dB per octave. This rate outweighs the apparent rate of amplitude increase for successively longer market cycles (6 dB per octave). Therefore, the Cybernetic Oscillator provides a more robust isolation of cyclic content than conventional oscillators. Best of all, traders can set the periods of the highpass and lowpass filters separately, enabling fine-tuning of the frequency range for different trading styles.
█ USAGE
The "Highpass period" input in the "Settings/Inputs" tab specifies the longest wavelength in the oscillator's passband, and the "Lowpass period" input defines the shortest wavelength. The oscillator becomes more responsive to rapid movements with a smaller lowpass period. Conversely, it becomes more sensitive to trends with a larger highpass period. Ehlers recommends setting the smallest period to a value above 8 to avoid aliasing. The highpass period must not be smaller than the lowpass period. Otherwise, it causes a runtime error.
The "RMS length" input determines the number of bars in the RMS calculation that the indicator uses to normalize the filtered result.
This indicator also features two distinct display styles, which users can toggle with the "Display style" input. With the "Trend" style enabled, the indicator plots the oscillator with one of two colors based on whether its value is above or below zero. With the "Threshold" style enabled, it plots the oscillator as a gray line and highlights overbought and oversold areas based on the user-specified threshold.
Below, we show two instances of the script with different settings on an equities chart. The first uses the "Threshold" style with default settings to pass cycles between 20 and 30 bars for mean reversion signals. The second uses a larger highpass period of 250 bars and the "Trend" style to visualize trends based on cycles spanning less than one year:
ALISH WEEK LABELS THE ALISH WEEK LABELS
Overview
This indicator programmatically delineates each trading week and encapsulates its realized price range in a live-updating, filled rectangle. A week is defined in America/Toronto time from Monday 00:00 to Friday 16:00. Weekly market open to market close, For every week, the script draws:
a vertical start line at the first bar of Monday 00:00,
a vertical end line at the first bar at/after Friday 16:00, and
a white, semi-transparent box whose top tracks the highest price and whose bottom tracks the lowest price observed between those two temporal boundaries.
The drawing is timeframe-agnostic (M1 → 1D): the box expands in real time while the week is open and freezes at the close boundary.
Time Reference and Session Boundaries
All scheduling decisions are computed with time functions called using the fixed timezone string "America/Toronto", ensuring correct behavior across DST transitions without relying on chart timezone. The start condition is met at the first bar where (dayofweek == Monday && hour == 0 && minute == 0); on higher timeframes where an exact 00:00 bar may not exist, a fallback checks for the first Monday bar using ta.change(dayofweek). The close condition is met on the first bar at or after Friday 16:00 (Toronto), which guarantees deterministic closure on intraday and higher timeframes.
State Model
The indicator maintains minimal persistent state using var globals:
week_open (bool): whether the current weekly session is active.
wk_hi / wk_lo (float): rolling extrema for the active week.
wk_box (box): the graphical rectangle spanning × .
wk_start_line and a transient wk_end_line (line): vertical delimiters at the week’s start and end.
Two dynamic arrays (boxes, vlines) store object handles to support bounded history and deterministic garbage collection.
Update Cycle (Per Bar)
On each bar the script executes the following pipeline:
Start Check: If no week is open and the start condition is satisfied, instantiate wk_box anchored at the current bar_index, prime wk_hi/wk_lo with the bar’s high/low, create the start line, and push both handles to their arrays.
Accrual (while week_open): Update wk_hi/wk_lo using math.max/min with current bar extremes. Propagate those values to the active wk_box via box.set_top/bottom and slide box.set_right to the current bar_index to keep the box flush with live price.
Close Check: If at/after Friday 16:00, finalize the week by freezing the right edge (box.set_right), drawing the end line, pushing its handle, and flipping week_open false.
Retention Pruning: Enforce a hard cap on historical elements by deleting the oldest objects when counts exceed configured limits.
Drawing Semantics
The range container is a filled white rectangle (bgcolor = color.new(color.white, 100 − opacity)), with a solid white border for clear contrast on dark or light themes. Start/end boundaries are full-height vertical white lines (y1=+1e10, y2=−1e10) to guarantee visibility across auto-scaled y-axes. This approach avoids reliance on price-dependent anchors for the lines and is robust to large volatility spikes.
Multi-Timeframe Behavior
Because session logic is driven by wall-clock time in the Toronto zone, the indicator remains consistent across chart resolutions. On coarse timeframes where an exact boundary bar might not exist, the script legally approximates by triggering on the first available bar within or immediately after the boundary (e.g., Friday 16:00 occurs between two 4-hour bars). The box therefore represents the true realized high/low of the bars present in that timeframe, which is the correct visual for that resolution.
Inputs and Defaults
Weeks to keep (show_weeks_back): integer, default 40. Controls retention of historical boxes/lines to avoid UI clutter and resource overhead.
Fill opacity (fill_opacity): integer 0–100, default 88. Controls how solid the white fill appears; border color is fixed pure white for crisp edges.
Time zone is intentionally fixed to "America/Toronto" to match the strategy definition and maintain consistent historical backtesting.
Performance and Limits
Objects are reused only within a week; upon closure, handles are stored and later purged when history limits are exceeded. The script sets generous but safe caps (max_boxes_count/max_lines_count) to accommodate 40 weeks while preserving Editor constraints. Per-bar work is O(1), and pruning loops are bounded by the configured history length, keeping runtime predictable on long histories.
Edge Cases and Guarantees
DST Transitions: Using a fixed IANA time zone ensures Friday 16:00 and Monday 00:00 boundaries shift correctly when DST changes in Toronto.
Weekend Gaps/Holidays: If the market lacks bars exactly at boundaries, the nearest subsequent bar triggers the start/close logic; range statistics still reflect observed prices.
Live vs Historical: During live sessions the box edge advances every bar; when replaying history or backtesting, the same rules apply deterministically.
Scope (Intentional Simplicity)
This tool is strictly a visual framing indicator. It does not compute labels, statistics, alerts, or extended S/R projections. Its single responsibility is to clearly present the week’s realized range in the Toronto session window so you can layer your own execution or analytics on top.
[ZP] Fixed v6 testDISCLAIMER:
This indicator in Pine V6 as my first ever Tradingview indicator, has been developed for my personal trading analysis, consolidating various powerful indicators that I frequently use. A number of the embedded indicators within this tool are the creations of esteemed Pine Script developers from the TradingView community. In recognition of their contributions, the names of these developers will be prominently displayed alongside the respective indicator names. My selection of these indicators is rooted in my own experience and reflects those that have proven most effective for me. Please note that the past performance of any trading system or methodology is not necessarily indicative of future results. Always conduct your own research and due diligence before using any indicator or tool.
===========================================================================
Introducing the ultimate all-in-one DIY strategy builder indicator, With over 30+ famous indicators (some with custom configuration/settings) indicators included, you now have the power to mix and match to create your own custom strategy for shorter time or longer time frames depending on your trading style. Say goodbye to cluttered charts and manual/visual confirmation of multiple indicators and hello to endless possibilities with this indicator.
Available indicators that you can choose to build your strategy, are coded to seamlessly print the BUY and SELL signal upon confirmation of all selected indicators:
EMA Filter
2 EMA Cross
3 EMA Cross
Range Filter (Guikroth)
SuperTrend
Ichimoku Cloud
SuperIchi (LuxAlgo)
B-Xtrender (QuantTherapy)
Bull Bear Power Trend (Dreadblitz)
VWAP
BB Oscillator (Veryfid)
Trend Meter (Lij_MC)
Chandelier Exit (Everget)
CCI
Awesome Oscillator
DMI ( Adx )
Parabolic SAR
Waddah Attar Explosion (Shayankm)
Volatility Oscillator (Veryfid)
Damiani Volatility ( DV ) (RichardoSantos)
Stochastic
RSI
MACD
SSL Channel (ErwinBeckers)
Schaff Trend Cycle ( STC ) (LazyBear)
Chaikin Money Flow
Volume
Wolfpack Id (Darrellfischer1)
QQE Mod (Mihkhel00)
Hull Suite (Insilico)
Vortex Indicator
BTC Cycle Halving Thirds NicoThe bold black vertical lines are the INDEX:BTCUSD halvings.
The background speak for itself.
Time to be bearish?
MF_Average_Seasonal_MovementYou can chose a date range and see the average, min and max movement within that time.
n addition it shows how many longs or shorts would have won in that time frame.
To quikly look at the time periods in the past it markes the chosen dates each year with two horizontal lines.
You can utilize the election year cycle and look only at post election years for example
Short Sellingell signal when RSI < 40, MACD crosses zero or signal line downward in negative zone, close below 50 EMA, candle bearish.
Strong sell signal confirmed on 5-minute higher timeframe with same conditions.
Square off half/full signals as defined.
Target lines drawn bold based on previous swing lows and extended as described.
Blue candle color when RSI below 30.
One sell and one full square off per cycle, blocking repeated sells until full square off.