Pesquisar nos scripts por "Cycle"
BOT_BUY/SELL_WWМощный помощник при открытии сделок
✅ Данные подсказки НЕ являются руководством к действию, это не сигналы и не торговые рекомендации, это лишь мониторинг потенциального тренда инструмента
✅ Подсказки бота могут с вероятностью до 90% указать на возможный слив или памповое движение, поэтому стоять в позе против бота не безопасно‼️. Это важно, если вы торгуете внутри дня.
✅ В боковике возможна частая смена приоритетов потенциального тренда, это нормально
✅ Если решите буквально торговать по сигналам бота, обязательно выставляйте стопы под свечу, по которой бот обозначил направление движения цены. Берегите свои депозиты.
MACRO BTC HEALTH 1WThis indicator is used as MACRO tool to view the outlook of BTC on the 1W time frame to illustrate (BLX chart works best)
BTC's price action and where it's at, it helps provide an indication of the crypto market's current health as BTC health is an overall indicator in the crypto market as a whole.
This indicator uses historic data to fit between 4 bands fitted to MA, top(red) when BTC is overheated, 2 bands in middle(yellow) when BTC in fair value, and bottom band(blue) when BTC is oversold
I combined MA that fit BTC 1W chart precisely to show when BTC looks overheated vs over sold using historic data.
When BTC is in the top bands historically overheated.
When BTC is in the middle it is fighting at fair value with the 2 yellow lines in the middle, bullish when above yellow lines, as they act as support, and in downtrend when price is below yellow lines and can act as resistance.
Historically the 200W MA is where BTC finds support at an oversold level at the bottom blue line.
When two yellow lines in middle cross downwards historically results in a downtrend to the bottom oversold line (blue). and when two yellow lines cross up and BTC holds them as support bullish trend continues until it is overheated passed the red band.
This indicator is not meant for day trading but is meant to illustrate a MACRO view of BTC current situation from a zoomed-out view, and to help illustrate to investors where things are at so they leave emotions out of the market and can make decisions based on BTC current levels using Historic data. Pro tip use bottom line(blue, oversold) as an opportunity to buy in and top line red(overheated) to scale out of positions, LONG TERM CRYPTO IS BULLISH BUT GREAT TO GET AN OUTLOOK OF THE CURRENT STATE OF BTC, WHILE ALSO USING MACRO ECONOMIC SENTIMENT IRL, FUNDAMENTAL ECONOMIC DECISIONS, ECONOMIC CONDITIONS/ENVIRONMENT, ECONOMIC HEALTH ,FED DECISIONS, INTEREST RATE ENVIRONMENT AND OF COURSE LOOKING AT CRYPTO ADOPTION.
Hope this indicator helps leave emotions out of the market by providing a good guide of BTC sentiment, and its current health to make decisions accordingly. NFA but good to envision the MACRO BTC HEALTH at the 1W timeframe.
MVRV Z-ScoreThe MVRV ratio was created by Murad Mahmudov & David Puell. It simply compares Market Cap to Realised Cap, presenting a ratio (MVRV = Market Cap / Realised Cap). The MVRV Z-Score is a later version, refining the metric by normalising the peaks and troughs of the data.
NY Session in REDNY is Red from UK time 1200 to 1800.
The rest is white, helps distinguish me NY with non NY since I like trading NY session
Bar CountBar Count Indicator for TradingView. It will label bars with numbers underneath which is awesome when sharing analysis or waiting for bars 7 (50% chance), 12 (70% chance), and 18 (90% chance) looking for higher probability for the High or Low of the day to have formed.
AIAE: Average Investor's Allocation To EquityPeople say a bull market ends when there are no more buyers left on the market and a bear market ends when there are no more sellers. Well, this indicador shows exactly this.
It uses FRED data to compare the total value invested on stocks with the total value held by investors to find the percentage that is allocated to stocks.
The exact formula used to calculate this index was created by pseudonymous Jesse Livermore and is available for free to anyone who wishes to consult it in his blog Philosophical Economics . The only thing I'm adding here that wasn't available on Jesse's index is the color code.
This script will use Jesse's formula to find the average investor's allocation to equity at any given time. Then, it will color the SPDR (S&P 500) according to this allocation.
A high allocation to equity means we could be close to a market correction, so it will color the SPDR in red and a low allocation means we could be close to a market bottom, so it will color the SPDR in blue.
Here's the exact color parameters used:
switch
AIAE <= 23 => priceLevel := "Gift"
AIAE > 23 and AIAE <=26 => priceLevel := "Very Cheap"
AIAE > 26 and AIAE <= 29 => priceLevel := "Cheap"
AIAE > 29 and AIAE <= 32 => priceLevel := "Slightly Cheap"
AIAE > 32 and AIAE <= 37 => priceLevel := "Neutral"
AIAE > 37 and AIAE <= 40 => priceLevel := "Slightly Expensive"
AIAE > 40 and AIAE <= 43 => priceLevel := "Expensive"
AIAE > 43 and AIAE <= 46 => priceLevel := "Very Expensive"
AIAE > 46 => priceLevel := "Exuberant"
Please note that this indicador should ONLY be used on the SPDR (S&P 500). It will not produce adequate results if used on other assets.
Central Banks Balance Sheets ROI% ChangeIntroducing the "Central Banks Balance Sheets ROI% Change" indicator, a tool designed to offer traders and analysts an understanding of global liquidity dynamics.
This indicator tracks the Return on Investment (ROI) percentage changes across major central banks' balance sheets, providing insights into shifts in global economic liquidity not tied to cumulative figures but through ROI calculations, capturing the pulse of overall economic dynamics.
Key Enhancements:
ROI Period Customization: Users can now adjust the ROI calculation period, offering flexibility to analyze short-term fluctuations or longer-term trends in central bank activities, aligning with their strategic time horizons.
Chart Offset Feature: This new functionality allows traders to shift the chart view, aiding in the alignment of data visualization with other indicators or specific analysis needs, enhancing interpretive clarity.
Central Bank Selection: With options to include or exclude data from specific central banks among the world's top 15 economies (with the exception of Mexico and the consolidation of the EU's central bank data), traders can tailor the analysis to their regional focus or diversification strategies.
US M2 Option: Recognizing the significance of the M2 money supply as a liquidity metric, this indicator offers an alternative view focusing solely on the US M2, allowing for a concentrated analysis of the US liquidity environment.
Comprehensive Coverage: The tool covers a wide array of central banks, including the Federal Reserve, People's Bank of China, European Central Bank, and more, ensuring a broad and inclusive perspective on global liquidity.
Visualization Enhancements: A histogram plot vividly distinguishes between positive and negative ROI changes, offering an intuitive grasp of liquidity expansions or contractions at a glance.
This indicator is a strategic tool designed for traders who seek to understand the undercurrents of market liquidity and its implications on global markets.
Whether you're assessing the impact of central bank policies, gauging economic health, or identifying investment opportunities, the "Central Banks Balance Sheets ROI% Change" indicator offers a critical lens through which to view the complex interplay of global liquidity factors.
Tesla Coil MLThis is a re-implementation of @veryfid's wonderful Tesla Coil indicator to leverage basic Machine Learning Algorithms to help classify coil crossovers. The original Tesla Coil indicator requires extensive training and practice for the user to develop adequate intuition to interpret coil crossovers. The goal for this version is to help the user understand the underlying logic of the Tesla Coil indicator and provide a more intuitive way to interpret the indicator. The signals should be interpreted as suggestions rather than as a hard-coded set of rules.
NOTE: Please do NOT trade off the signals blindly. Always try to use your own intuition for understanding the coils and check for confluence with other indicators before initiating a trade.
Exponential Top and Bottom FinderThis is an indicator to identify possible tops and bottoms after exponential price surges and drops, it works best on ETH 1D, but you can also use it for bitcoin and altcoins.
It's based on stochastic first and second derivatives of a close moving average
Market Makers MoveV1,V2, & V3: New indicator release!! In this fantastic new indicator, you can do the following:
- Specify a particular EMA crossing combination (between a fast and a slow ema line)
- Specify the timeframe (can be independent or based on current chart timeframe, by default)
- Select one of four possible potential profiles (ETFs Only, Crypto, and more!) OR input manually any of 40 possible tickers AND
- Assess whether entry for calls or puts is appropriate based on price action on realtime view between 2 tickers, one which will be the highest (strongest) trend up and the other going the lowest (weakest) trend possible, all at the same time!
This indicator is by no means financial advice!! So by all means, use according to proper assessment and risk management! There are various tooltips instilled to each field and table of the indicator, all to better guide you for better end results!
Cheers! and good luck in you!!
Market Timing(Mastersinnifty)Overview
Market Timing (Mastersinnifty) is a proprietary visualization tool designed to help traders study historical market behavior through structural pattern similarity.
The script analyzes the most recent session’s price action and identifies the closest-matching historical sequence among thousands of past patterns. Once a match is found, the script projects the subsequent historical price path onto the current chart for easy visual reference.
Unlike traditional indicators, Market Timing (Mastersinnifty) does not generate trade signals. Instead, it offers a unique historical scenario analysis based on quantified structural similarity.
---
How It Works
- The script captures the last 20 closing prices and compares them to historical price sequences from the past 8000 bars.
- Similarity is computed using the Euclidean distance formula (sum of squared differences) between the current pattern and historical candidates.
- Upon finding the most similar past pattern, the subsequent historical movement is normalized relative to session opening and plotted onto the current chart using projection lines.
- The projection automatically adapts to intraday, daily, weekly, or monthly timeframes, with the option for manual or automatic projection length settings.
- Session start detection is handled automatically based on volume thresholds and price-time analysis to adjust for market openings across different instruments.
---
Key Features
- Historical Pattern Matching: Quantitative matching of the most similar past price structure.
- Dynamic Projections: Visualizes likely historical scenarios based on past market behavior.
- Auto/Manual Projection Length: Flexible control over the number of projected bars.
- Multi-Timeframe Support: Works seamlessly across intraday, daily, weekly, and monthly charts.
- Purely Visual Context: Designed to support human decision-making without replacing it with automatic trade signals.
---
Who Can Benefit
- Traders studying market structure repetition and price symmetry.
- Visual thinkers who prefer scenario-based planning over fixed indicator systems.
- Intraday, swing, and position traders looking for historical context to complement price action, volume, and momentum studies.
---
How to Use
- Apply the script to any asset — including indices, stocks, commodities, forex, or crypto.
- Select your preferred timeframe.
- Choose "Auto" or "Custom" for the projection length.
- Observe the projected lines:
- Upward slope = Historical bullish continuation.
- Downward slope = Historical bearish continuation.
- Flat movement = Historical sideways movement.
- Combine insights with volume, support/resistance, and price action for better decision-making.
---
Important Notes
- This script does not predict the future. It offers a visual reference based on historical similarity.
- Always validate projected scenarios with live market conditions.
- Market structure evolves; past behavior may not repeat under new market dynamics.
- Use this tool for educational and research purposes only.
---
Disclaimer
This is not financial advice. The Market Timing (Mastersinnifty) tool is intended for research and educational purposes only. Trading involves risk, and past performance does not guarantee future results. Always apply sound risk management practices.
Bitcoin Power Law OscillatorThis is the oscillator version of the script. The main body of the script can be found here.
Understanding the Bitcoin Power Law Model
Also called the Long-Term Bitcoin Power Law Model. The Bitcoin Power Law model tries to capture and predict Bitcoin's price growth over time. It assumes that Bitcoin's price follows an exponential growth pattern, where the price increases over time according to a mathematical relationship.
By fitting a power law to historical data, the model creates a trend line that represents this growth. It then generates additional parallel lines (support and resistance lines) to show potential price boundaries, helping to visualize where Bitcoin’s price could move within certain ranges.
In simple terms, the model helps us understand Bitcoin's general growth trajectory and provides a framework to visualize how its price could behave over the long term.
The Bitcoin Power Law has the following function:
Power Law = 10^(a + b * log10(d))
Consisting of the following parameters:
a: Power Law Intercept (default: -17.668).
b: Power Law Slope (default: 5.926).
d: Number of days since a reference point(calculated by counting bars from the reference point with an offset).
Explanation of the a and b parameters:
Roughly explained, the optimal values for the a and b parameters are determined through a process of linear regression on a log-log scale (after applying a logarithmic transformation to both the x and y axes). On this log-log scale, the power law relationship becomes linear, making it possible to apply linear regression. The best fit for the regression is then evaluated using metrics like the R-squared value, residual error analysis, and visual inspection. This process can be quite complex and is beyond the scope of this post.
Applying vertical shifts to generate the other lines:
Once the initial power-law is created, additional lines are generated by applying a vertical shift. This shift is achieved by adding a specific number of days (or years in case of this script) to the d-parameter. This creates new lines perfectly parallel to the initial power law with an added vertical shift, maintaining the same slope and intercept.
In the case of this script, shifts are made by adding +365 days, +2 * 365 days, +3 * 365 days, +4 * 365 days, and +5 * 365 days, effectively introducing one to five years of shifts. This results in a total of six Power Law lines, as outlined below (From lowest to highest):
Base Power Law Line (no shift)
1-year shifted line
2-year shifted line
3-year shifted line
4-year shifted line
5-year shifted line
The six power law lines:
Bitcoin Power Law Oscillator
This publication also includes the oscillator version of the Bitcoin Power Law. This version applies a logarithmic transformation to the price, Base Power Law Line, and 5-year shifted line using the formula: log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed Base Power Law Line and 5-year shifted line with the formula:
normalized price = log(close) - log(Base Power Law Line) / log(5-year shifted line) - log(Base Power Law Line)
Finally, the normalized price was multiplied by 5 to map its value between 0 and 5, aligning with the shifted lines.
Interpretation of the Bitcoin Power Law Model:
The shifted Power Law lines provide a framework for predicting Bitcoin's future price movements based on historical trends. These lines are created by applying a vertical shift to the initial Power Law line, with each shifted line representing a future time frame (e.g., 1 year, 2 years, 3 years, etc.).
By analyzing these shifted lines, users can make predictions about minimum price levels at specific future dates. For example, the 5-year shifted line will act as the main support level for Bitcoin’s price in 5 years, meaning that Bitcoin’s price should not fall below this line, ensuring that Bitcoin will be valued at least at this level by that time. Similarly, the 2-year shifted line will serve as the support line for Bitcoin's price in 2 years, establishing that the price should not drop below this line within that time frame.
On the other hand, the 5-year shifted line also functions as an absolute resistance , meaning Bitcoin's price will not exceed this line prior to the 5-year mark. This provides a prediction that Bitcoin cannot reach certain price levels before a specific date. For example, the price of Bitcoin is unlikely to reach $100,000 before 2021, and it will not exceed this price before the 5-year shifted line becomes relevant. After 2028, however, the price is predicted to never fall below $100,000, thanks to the support established by the shifted lines.
In essence, the shifted Power Law lines offer a way to predict both the minimum price levels that Bitcoin will hit by certain dates and the earliest dates by which certain price points will be reached. These lines help frame Bitcoin's potential future price range, offering insight into long-term price behavior and providing a guide for investors and analysts. Lets examine some examples:
Example 1:
In Example 1 it can be seen that point A on the 5-year shifted line acts as major resistance . Also it can be seen that 5 years later this price level now corresponds to the Base Power Law Line and acts as a major support at point B(Note: Vertical yearly grid lines have been added for this purpose👍).
Example 2:
In Example 2, the price level at point C on the 3-year shifted line becomes a major support three years later at point D, now aligning with the Base Power Law Line.
Finally, let's explore some future price predictions, as this script provides projections on the weekly timeframe :
Example 3:
In Example 3, the Bitcoin Power Law indicates that Bitcoin's price cannot surpass approximately $808K before 2030 as can be seen at point E, while also ensuring it will be at least $224K by then (point F).
Yearly History Calendar-Aligned Price up to 10 Years)Overview
This indicator helps traders compare historical price patterns from the past 10 calendar years with the current price action. It overlays translucent lines (polylines) for each year’s price data on the same calendar dates, providing a visual reference for recurring trends. A dynamic table at the top of the chart summarizes the active years, their price sources, and history retention settings.
Key Features
Historical Projections
Displays price data from the last 10 years (e.g., January 5, 2023 vs. January 5, 2024).
Price Source Selection
Choose from Open, Low, High, Close, or HL2 ((High + Low)/2) for historical alignment.
The selected source is shown in the legend table.
Bulk Control Toggles
Show All Years : Display all 10 years simultaneously.
Keep History for All : Preserve historical lines on year transitions.
Hide History for All : Automatically delete old lines to update with current data.
Individual Year Settings
Toggle visibility for each year (-1 to -10) independently.
Customize color and line width for each year.
Control whether to keep or delete historical lines for specific years.
Visual Alignment Aids
Vertical lines mark yearly transitions for reference.
Polylines are semi-transparent for clarity.
Dynamic Legend Table
Shows active years, their price sources, and history status (On/Off).
Updates automatically when settings change.
How to Use
Configure Settings
Projection Years : Select how many years to display (1–10).
Price Source : Choose Open, Low, High, Close, or HL2 for historical alignment.
History Precision : Set granularity (Daily, 60m, or 15m).
Daily (D) is recommended for long-term analysis (covers 10 years).
60m/15m provides finer precision but may only cover 1–3 years due to data limits.
Adjust Visibility & History
Show Year -X : Enable/disable specific years for comparison.
Keep History for Year -X : Choose whether to retain historical lines or delete them on new year transitions.
Bulk Controls
Show All Years : Display all 10 years at once (overrides individual toggles).
Keep History for All / Hide History for All : Globally enable/disable history retention for all years.
Customize Appearance
Line Width : Adjust polyline thickness for better visibility.
Colors : Assign unique colors to each year for easy identification.
Interpret the Legend Table
The table shows:
Year : Label (e.g., "Year -1").
Source : The selected price type (e.g., "Close", "HL2").
Keep History : Indicates whether lines are preserved (On) or deleted (Off).
Tips for Optimal Use
Use Daily Timeframes for Long-Term Analysis :
Daily (1D) allows 10+ years of data. Smaller timeframes (60m/15m) may have limited historical coverage.
Compare Recurring Patterns :
Look for overlaps between historical polylines and current price to identify potential support/resistance levels.
Customize Colors & Widths :
Use contrasting colors for years you want to highlight. Adjust line widths to avoid clutter.
Leverage Global Toggles :
Enable Show All Years for a quick overview. Use Keep History for All to maintain continuity across transitions.
Example Workflow
Set Up :
Select Projection Years = 5.
Choose Price Source = Close.
Set History Precision = 1D for long-term data.
Customize :
Enable Show Year -1 to Show Year -5.
Assign distinct colors to each year.
Disable Keep History for All to ensure lines update on year transitions.
Analyze :
Observe how the 2023 close prices align with 2024’s price action.
Use vertical lines to identify yearly boundaries.
Common Questions
Why are some years missing?
Ensure the chart has sufficient historical data (e.g., daily charts cover 10 years, 60m/15m may only cover 1–3 years).
How do I update the data?
Adjust the Price Source or toggle years/history settings. The legend table updates automatically.
Bitcoin Monthly Seasonality [Alpha Extract]The Bitcoin Monthly Seasonality indicator analyzes historical Bitcoin price performance across different months of the year, enabling traders to identify seasonal patterns and potential trading opportunities. This tool helps traders:
Visualize which months historically perform best and worst for Bitcoin.
Track average returns and win rates for each month of the year.
Identify seasonal patterns to enhance trading strategies.
Compare cumulative or individual monthly performance.
🔶 CALCULATION
The indicator processes historical Bitcoin price data to calculate monthly performance metrics
Monthly Return Calculation
Inputs:
Monthly open and close prices.
User-defined lookback period (1-15 years).
Return Types:
Percentage: (monthEndPrice / monthStartPrice - 1) × 100
Price: monthEndPrice - monthStartPrice
Statistical Measures
Monthly Averages: ◦ Average return for each month calculated from historical data.
Win Rate: ◦ Percentage of positive returns for each month.
Best/Worst Detection: ◦ Identifies months with highest and lowest average returns.
Cumulative Option
Standard View: Shows discrete monthly performance.
Cumulative View: Shows compounding effect of consecutive months.
Example Calculation (Pine Script):
monthReturn = returnType == "Percentage" ?
(monthEndPrice / monthStartPrice - 1) * 100 :
monthEndPrice - monthStartPrice
calcWinRate(arr) =>
winCount = 0
totalCount = array.size(arr)
if totalCount > 0
for i = 0 to totalCount - 1
if array.get(arr, i) > 0
winCount += 1
(winCount / totalCount) * 100
else
0.0
🔶 DETAILS
Visual Features
Monthly Performance Bars: ◦ Color-coded bars (teal for positive, red for negative returns). ◦ Special highlighting for best (yellow) and worst (fuchsia) months.
Optional Trend Line: ◦ Shows continuous performance across months.
Monthly Axis Labels: ◦ Clear month names for easy reference.
Statistics Table: ◦ Comprehensive view of monthly performance metrics. ◦ Color-coded rows based on performance.
Interpretation
Strong Positive Months: Historically bullish periods for Bitcoin.
Strong Negative Months: Historically bearish periods for Bitcoin.
Win Rate Analysis: Higher win rates indicate more consistently positive months.
Pattern Recognition: Identify recurring seasonal patterns across years.
Best/Worst Identification: Quickly spot the historically strongest and weakest months.
🔶 EXAMPLES
The indicator helps identify key seasonal patterns
Bullish Seasons: Visualize historically strong months where Bitcoin tends to perform well, allowing traders to align long positions with favorable seasonality.
Bearish Seasons: Identify historically weak months where Bitcoin tends to underperform, helping traders avoid unfavorable periods or consider short positions.
Seasonal Strategy Development: Create trading strategies that capitalize on recurring monthly patterns, such as entering positions in historically strong months and reducing exposure during weak months.
Year-to-Year Comparison: Assess how current year performance compares to historical seasonal patterns to identify anomalies or confirmation of trends.
🔶 SETTINGS
Customization Options
Lookback Period: Adjust the number of years (1-15) used for historical analysis.
Return Type: Choose between percentage returns or absolute price changes.
Cumulative Option: Toggle between discrete monthly performance or cumulative effect.
Visual Style Options: Bar Display: Enable/disable and customize colors for positive/negative bars, Line Display: Enable/disable and customize colors for trend line, Axes Display: Show/hide reference axes.
Visual Enhancement: Best/Worst Month Highlighting: Toggle special highlighting of extreme months, Custom highlight colors for best and worst performing months.
The Bitcoin Monthly Seasonality indicator provides traders with valuable insights into Bitcoin's historical performance patterns throughout the year, helping to identify potentially favorable and unfavorable trading periods based on seasonal tendencies.
MF TimeWaves Predictor: Find future Top and Bottom PivotsThe script allows to predict future pivot tops and bottoms "dates" by studying the chart.
For it, it detects the past pivots and project new ones on the future
It might be useful for swing trading
You might want to enable the "Automatically modify settings" options if you want to use my default settings for different timeframes
Note: It does not offers any prediction for future prices, just dates
Enjoy!
Monthly Drawdowns and Moves UP This script allows users to analyze the performance of a specific month across multiple years, focusing on maximum drawdowns and maximum upward moves within the selected month. The script offers the following features:
Dynamic Month Selection : Choose any month to analyze using an intuitive dropdown menu.
Maximum Drawdown and Upward Move Calculations :
Calculate the largest percentage drop (drawdown) and rise (move up) for the selected month each year.
Visual Highlights :
The selected month is visually highlighted on the chart with a semi-transparent overlay.
Dynamic Labels:
Labels display the maximum drawdown and upward move directly on the chart for better visualization.
Comprehensive Table Summary:
A table provides a year-by-year summary of the maximum drawdowns and upward moves for the selected month, making it easy to spot trends over time.
Customizable Display Options:
Toggle the visibility of drawdown labels, move-up labels, and the summary table for a clutter-free experience.
This tool is perfect for traders and analysts looking to identify seasonal patterns, assess risk and opportunity, and gain deeper insights into monthly performance metrics across years. Customize, explore, and make informed decisions with this powerful Pine Script indicator.
Weighted Fourier Transform: Spectral Gating & Main Frequency🙏🏻 This drop has 2 purposes:
1) to inform every1 who'd ever see it that Weighted Fourier Tranform does exist, while being available nowhere online, not even in papers, yet there's nothing incredibly complicated about it, and it can/should be used in certain cases;
2) to show TradingView users how they can use it now in dem endevours, to show em what spectral filtering is, and what can they do with all of it in diy mode.
... so we gonna have 2 sections in the description
Section 1: Weighted Fourier Transform
It's quite easy to include weights in Fourier analysis: you just premultiply each datapoint by its corresponding weight -> feed to direct Fourier Transform, and then divide by weights after inverse Fourier transform. Alternatevely, in direct transform you just multiply contributions of each data point to the real and imaginary parts of the Fourier transform by corresponding weights (in accumulation phase), and in inverse transform you divide by weights instead during the accumulation phase. Everything else stays the same just like in non-weighted version.
If you're from the first target group let's say, you prolly know a thing or deux about how to code & about Fourier Transform, so you can just check lines of code to see the implementation of Weighted Discrete version of Fourier Transform, and port it to to any technology you desire. Pine Script is a developing technology that is incredibly comfortable in use for quant-related tasks and anything involving time series in general. While also using Python for research and C++ for development, every time I can do what I want in Pine Script, I reach for it and never touch matlab, python, R, or anything else.
Weighted version allows you to explicetly include order/time information into the operation, which is essential with every time series, although not widely used in mainstream just as many other obvious and right things. If you think deeply, you'll understand that you can apply a usual non-weighted Fourier to any 2d+ data you can (even if none of these dimensions represent time), because this is a geometric tool in essence. By applying linearly decaying weights inside Fourier transform, you're explicetly saying, "one of these dimensions is Time, and weights represent the order". And obviously you can combine multiple weightings, eg time and another characteristic of each datum, allows you to include another non-spatial dimension in your model.
By doing that, on properly processed (not only stationary but Also centered around zero data), you can get some interesting results that you won't be able to recreate without weights:
^^ A sine wave, centered around zero, period of 16. Gray line made by: DWFT (direct weighted Fourier transform) -> spectral gating -> IWFT (inverse weighted Fourier transform) -> plotting the last value of gated reconstructed data, all applied to expanding window. Look how precisely it follows the original data (the sine wave) with no lag at all. This can't be done by using non-weighted version of Fourier transform.
^^ spectral filtering applied to the whole dataset, calculated on the latest data update
And you should never forget about Fast Fourier Transform, tho it needs recursion...
Section 2: About use cases for quant trading, about this particular implementaion in Pine Script 6 (currently the latest version as of Friday 13, December 2k24).
Given the current state of things, we have certain limits on matrix size on TradingView (and we need big dope matrixes to calculate polynomial regression -> detrend & center our data before Fourier), and recursion is not yet available in Pine Script, so the script works on short datasets only, and requires some time.
A note on detrending. For quality results, Fourier Transform should be applied to not only stationary but also centered around zero data. The rightest way to do detrending of time series
is to fit Cumulative Weighted Moving Polynomial Regression (known as WLSMA in some narrow circles xD) and calculate the deltas between datapoint at time t and this wonderful fit at time t. That's exactly what you see on the main chart of script description: notice the distances between chart and WLSMA, now look lower and see how it matches the distances between zero and purple line in WFT study. Using residuals of one regression fit of the whole dataset makes less sense in time series context, we break some 'time' and order rules in a way, tho not many understand/cares abouit it in mainstream quant industry.
Two ways of using the script:
Spectral Gating aka Spectral filtering. Frequency domain filtering is quite responsive and for a greater computational cost does not introduce a lag the way it works with time-domain filtering. Works this way: direct Fourier transform your data to get frequency & phase info -> compute power spectrum out of it -> zero out all dem freqs that ain't hit your threshold -> inverse Fourier tranform what's left -> repeat at each datapoint plotting the very first value of reconstructed array*. With this you can watch for zero crossings to make appropriate trading decisions.
^^ plot Freq pass to use the script this way, use Level setting to control the intensity of gating. These 3 only available values: -1, 0 and 1, are the general & natural ones.
* if you turn on labels in script's style settings, you see the gray dots perfectly fitting your data. They get recalculated (for the whole dataset) at each update. You call it repainting, this is for analytical & aesthetic purposes. Included for demonstration only.
Finding main/dominant frequency & period. You can use it to set up Length for your other studies, and for analytical purposes simply to understand the periodicity of your data.
^^ plot main frequency/main period to use the script this way. On the screenshot, you can see the script applied to sine wave of period 16, notice how many datapoints it took the algo to figure out the signal's period quite good in expanding window mode
Now what's the next step? You can try applying signal windowing techniques to make it all less data-driven but your ego-driven, make a weighted periodogram or autocorrelogram (check Wiener-Khinchin Theorem ), and maybe whole shiny spectrogram?
... you decide, choice is yours,
The butterfly reflect the doors ...
∞
Weekly Stacked Daily Changes [LuxAlgo]The Weekly Stacked Daily Changes tool allows traders to compare daily net price changes for each day of the week, stacked by week. It provides a very convenient way to compare daily and weekly volatility at the same time.
🔶 USAGE
The tool requires no configuration and works perfectly out of the box, displaying the net price change for each day of the week as stacked boxes of the appropriate size.
Traders can adjust the width of the columns and the spacing between days and weeks, options to change the color and disable the months and new month lines are also available.
🔹 Bottom Stack Bias
This feature allows traders to compare weekly volatility in two different ways.
With this feature disabled, all weeks use zero as the bottom of the stack, so traders can see at a glance weeks with more volatility and weeks with less volatility.
Enabling this feature will cause the tool to display the stacks with the weekly net price change as the bottom, so if a stack starts below the zero line it means that week has a negative net return, and if it starts above the zero line it means that week has a positive net return.
🔶 SETTINGS
Width: Select the fixed width for each column.
Offset: Choose the fixed width between each column.
Spacing: Select the distance between each day within each column.
🔹 Style
Bottom Stack Bias: Use weekly net price change as the bottom of the stack.
Bullish Change: Color for days with positive net price change
Bearish Change: Color for days with negative net price change
Show Months: Under each week stack, display the month
Show Months Delimiter: Display a line indicating the start of a new month
Fibonacci Time PeriodsThe " Fibonacci Time Periods " indicator uses power exponents of the constant Phi based on your custom time period to generate Fibonacci sequence-based progression on a given chart. This tool can help to anticipate the timing of potential turning points by highlighting Fib time zones where significant price movements may occur.
It is different from other alternatives specifically for the ability to alter the rate of progression .
Most famous regular Fib sequence expands with 1.618^(n+1) rate which produces vast change just after few iterations.
Those ever-expanding big intervals don't allow us to cover the smaller details of the chart which we might find crucial. So, the idea was born to break down the constant Phi to a self-fraction using power exponents. In other words, reducing rate of progression to make the expansion more gradual without losing properties of Fibonacci proportions.
Default settings have a rate of 0.25 which is basically Phi^1/4
That means we expect 4x more lines than in regular sequence to cover missing bits owing to formula: 1.618^(0.25*(n+1))
(Line 0.618 is added to enhance visual orientation and perception of proportions)
How it works:
Exponential rate of progression
First, it works out the difference between your custom start (0) and end (1) period
The result is multiplied by 1.618^rate to get the step
Rest lines are created by iterations. For instance, with default rate of 0.25, the 1st generated line = start + (End-Start)*1.618^0.25* 1 , second line = start + (End-Start)*1.618^0.25* 2 , etc.
If we change the rate to 1 it will produce the regular fib sequence with 1.618^(n+1) rate
Fixed rate of progression:
In this mode, when rate is 0.25, it grows exactly with exponent step of 0.25 so first, second, third, etc generated lines also have the fixed exponent of 0.25. The distance between lines do not expand.
How to use:
Set the start and end dates
Choose the type of progression
Choose your desired rate of progression
Customize the colors to match your chart preferences.
Observe the generated Fibonacci time intervals and use them to identify potential market movements and reactions.
Advanced MACD [CryptoSea]Advanced MACD (AMACD) enhances the traditional MACD indicator, integrating innovative features for traders aiming for deeper insights into market momentum and sentiment. It's crafted for those seeking to explore nuanced behaviors of the MACD histogram, thus offering a refined perspective on market dynamics.
Divergence moves can offer insight into continuation or potential reversals in structure, the example below is a clear continuation signal.
Key Features
Enhanced Histogram Analysis: Precisely tracks movements of the MACD histogram, identifying growth or decline periods, essential for understanding market momentum.
High/Low Markers: Marks the highest and lowest points of the histogram within a user-defined period, signaling potential shifts in the market.
Dynamic Averages Calculation: Computes average durations of histogram phases, providing a benchmark against historical performance.
Color-Coded Histogram: Dynamically adjusts the histogram's color intensity based on the current streak's duration relative to its average, offering a visual cue of momentum strength.
Customisable MACD Settings: Enables adjustments to MACD parameters, aligning with individual trading strategies.
Interactive Dashboard: Showcases an on-chart table with average durations for each phase, aiding swift decision-making.
Settings & Customisation
MACD Settings: Customise fast length, slow length, and signal smoothing to tailor the MACD calculations to your trading needs.
Reset Period: Determine the number of bars to identify the histogram's significant high and low points.
Histogram High/Lows: Option to display critical high and low levels of the histogram for easy referencing.
Candle Colours: Select between neutral or traditional candle colors to match your analytical preferences.
When in strong trends, you can use the average table to determine when to look to get into a position. This example we are in a strong downtrend, we then see the histogram growing above the average in these conditions which is where we should look to get into a shorting position.
Strategic Applications
The AMACD serves not just as an indicator but as a comprehensive analytical tool for spotting market trends, momentum shifts, and potential reversal points. It's particularly useful for traders to:
Spot Momentum Changes Utilise dynamic coloring and streak tracking to alert shifts in momentum, helping anticipate market movements.
Identify Market Extremes Use high and low markers to spot potential market turning points, aiding in risk management and decision-making.
Alert Conditions
Above Average Movement Alerts: Triggered when the duration of the MACD histogram's growth or decline is unusually long, these alerts signal sustained momentum:
Above Zero: Alerts for both growing and declining movements above zero, indicating either continued bullish trends or potential bearish reversals.
Below Zero: Alerts for growth and decline below zero, pointing to potential bullish reversals or confirmed bearish trends.
High/Low Break Alerts: Activated when the histogram reaches new highs or falls to new lows beyond the set thresholds, these alerts are crucial for identifying shifts in market dynamics:
Break Above Last High: Indicates a potential upward trend as the histogram surpasses recent highs.
Break Below Last Low: Warns of a possible downward trend as the histogram drops below recent lows.
These alert conditions enable traders to automate part of their market monitoring or potential to automate the signals to take action elsewhere.
Global Net Liquidity (TG fork)Worldwide net liquidity, with trend coloring.
Global Net Liquidity attempts to represent worldwide net liquidity, and is defined as: Fed + Japan + China + UK + ECB - RRP - TGA , Where the first five components are central bank assets.
On TradingView, the indicator can be reproduced with the following equations: Global Net Liquidity = FRED:WALCL + FRED:JPNASSETS * FX_IDC:JPYUSD + CNCBBS * FX_IDC:CNYUSD + GBCBBS * FX:GBPUSD + ECBASSETSW * FX:EURUSD + RRPONTSYD + WTREGEN
However, this indicator adds a moving average cloud, and margin coloring, which eases historical trend assessment at a glance.
This indicator can be seen as an alternative representation of the accumulation/distribution indicator (and hence the same terms can be used in this description).
The Moving Average Cloud is simply the filling between the moving average (by default an EMA) and the current value. This feature was inspired by D7R ACC/DIST closed-source indicator, kudos to D7R for making such neat visual indicators.
Usage instructions:
Blue is more likely a phase of accumulation because the current value is above its historical price as defined by the moving average,
red is when this is more likely a phase of distribution.
Yellow is when the difference is below the margin, so we consider it is insignificant and that the trend is undecided. This can be disabled by setting the margin to 0.
While the color indicates if it's more likely an accumulation (blue) or distribution (red) phase or undecided (yellow), the cloud's vertical size allows to assess the strength of this tendency and the horizontal size the momentum, so that the bigger the cloud, the stronger the accumulation (if cloud is blue) or distribution (if cloud is red).
Why is that so? This is because the cloud represents the difference between the current tendency and the moving averaged past one, so a bigger cloud represents a bigger departure from recently observed tendencies. In practice, when there is accumulation, a pump in price can be expected soon, or if it already happened then it means it is indeed supported by volume, whereas if distribution, either a dump is to be expected soon, or if it already happened it means it's supported by volume.
Or maybe not necessarily a dump, but if there is a move upward in price, but the indicator indicates a strong distribution, then it means that the price movement is not supported and may not be sustainable (reversal may happen at anytime), whereas if price is going upward AND there is an accumulation (blue coloring) then it is more sustainable. This can be used to adapt strategies accordingly (risk on/risk off depending on whether there is concordance of both price and accumulation/distribution).
This indicator also includes sentiment signals that can be used to trigger alarms.
This indicator is a remix of Dharmatech's, who authored the first this Global Net Liquidity equation, kudos to them! Please show them some love if you like this indicator!