Daily Directional Bias Indicator (S&P 500)This indicator is designed to help you be on the right side of the trade.
Most traders who struggle to know which way price may move are only looking at part of the picture. This Directional Bias Indicator uses both the Accumulation/Distribution Line and VIX for directional confirmation.
The Accumulation/Distribution Line
The Accumulation/Distribution (ACC) line helps us gauge market momentum by showing the cumulative flow of money into or out of an asset. When the ACC line is rising, it suggests that buying pressure is dominating, indicating a bullish market. Conversely, when the ACC line is falling, it suggests that selling pressure is stronger, indicating a bearish market. By comparing the ACC line with the VWAP, traders can see if the price is moving in line with the overall market sentiment. If the ACC line is above the VWAP, it suggests the market is in a bullish phase; if it's below, it indicates a bearish phase.
The VIX
The VIX (Volatility Index) is often referred to as the "fear gauge" of the market. When the VIX is rising, it typically signals increased market fear and higher volatility, which can be a sign of bearish market conditions. Conversely, when the VIX is falling, it suggests lower volatility and a more stable, bullish market. Using the VIX with the VWAP helps us confirm market direction, particularly in relation to the S&P 500.
VWAP
For both the ACC Line and VIX, we use a VWAP line to gauge whether the ACC line or the VIX is above or below the average. When the ACC line is above the VWAP, we view it as a sign that price will go up. However, because the VIX has an inverse relationship, when the VIX falls below the VWAP, we take that as a sign to go long.
How to use
The yellow line represents the ACC Line.
The red line represents the VWAP based on the ACC line.
The triangles at the bottom simply show when the ACC line is above or below the VWAP.
The triangles at the top show whether the VIX is bullish or bearish.
If both triangles (top or bottom) are bullish, this confirms that the price of an asset like the S&P 500 will likely go up. If both triangles are pointing down, it suggests that price will fall.
As always, test for yourself.
Happy trading!
Educational
2.5% Risk High Reward Strategy with DebuggingKey Features:
Loosened RSI Conditions: Adjusted to allow trades when RSI is below 50 (long) or above 50 (short).
Buy/Sell Labels: Visual labels added for buy and sell signals.
Stop-Loss (SL) and Take-Profit (TP): Dotted lines displayed for SL and TP levels.
Account Balance: Plots account balance over time for backtesting purposes.
Debugging Visuals: EMA, RSI, and volume threshold plotted to validate entry conditions.
Data extraction to clipboardHow to extract data from indicators/stratagies to clipbaord
///// Educational purpose only /////
This could be useful to store the best parameters for a strategy for instance...
to store and reuse them, to build some code in automatic , to transfer...
using the " log.info() " function ...
Trading Sessions with Highs and LowsTrading Sessions with Highs and Lows is designed to visually highlight specific trading sessions on the chart, providing traders with key insights into market behavior during these time periods. Here’s a detailed explanation of how the indicator works:
Key Features
1. Session Boxes:
• The indicator plots colored boxes on the chart to represent the price range of defined trading sessions.
• Each box spans the session’s start and end times and encapsulates the high and low prices during that period.
• Two trading sessions are defined by default:
• USA Trading Session: 9:30 AM - 4:00 PM (New York Time).
• UK Trading Session: 8:00 AM - 4:30 PM (London Time).
2. Session Labels:
• The name of the session (e.g., “USA” or “UK”) is displayed above the session box for clear identification.
3. High and Low Markers:
• Markers are added to the chart at the session’s high and low points:
• High Marker: A green label indicating the session high.
• Low Marker: A red label indicating the session low.
4. Dynamic Reset:
• After the session ends, the session high and low values are reset to na to prepare for the next trading day.
5. Customizable Background Colors:
• Each session’s box has a distinct, semi-transparent background color for better visual separation.
How It Works
1. Core Functionality:
• A function, plot_box, takes the session name, start time, end time, and background color as input.
• It calculates whether the current time is within the session.
• During the session:
• It tracks the session’s highest and lowest prices.
• It identifies the bars where the high and low occurred.
• At the session’s end:
• It plots a box on the chart covering the session’s time and price range.
• Labels are created for the session name and its high/low points.
2. Session Timing:
• Timestamps for the USA and UK trading sessions are calculated using the timestamp function with respective time zones.
3. Visual Elements:
• The box.new function draws the session boxes on the chart.
• The label.new function creates session name and high/low labels.
Usage
• Overlay Mode: The indicator is applied directly on the price chart (overlay=true), making it easy to visualize session-specific price behavior.
• Trading Strategy:
• Identify session-specific support and resistance levels.
• Observe price action trends during key trading periods.
• Align trading decisions with session dynamics.
Customization
While the indicator is preset for the USA and UK trading sessions, it can be easily modified:
1. Add/Remove Sessions: Define additional sessions by providing their start and end times.
2. Change Colors: Update the background_color in the plot_box calls to use different colors for sessions.
3. Adjust Time Zones: Replace the current time zones with others relevant to your trading style.
Visualization Example
• USA Session:
• Time: 9:30 AM - 4:00 PM (New York Time).
• Box Color: Semi-transparent orange.
• UK Session:
• Time: 8:00 AM - 4:30 PM (London Time).
• Box Color: Semi-transparent green.
Why Use This Indicator?
1. Market Awareness: Easily spot price behavior during high-liquidity trading periods.
2. Trend Analysis: Analyze how sessions overlap or affect each other.
3. Session Boundaries: Use session high/low levels as dynamic support and resistance zones.
This indicator is an essential tool for intraday and swing traders who want to align their strategies with key market timings.
Simple Decesion Matrix Classification Algorithm [SS]Hello everyone,
It has been a while since I posted an indicator, so thought I would share this project I did for fun.
This indicator is an attempt to develop a pseudo Random Forest classification decision matrix model for Pinescript.
This is not a full, robust Random Forest model by any stretch of the imagination, but it is a good way to showcase how decision matrices can be applied to trading and within Pinescript.
As to not market this as something it is not, I am simply calling it the "Simple Decision Matrix Classification Algorithm". However, I have stolen most of the aspects of this machine learning algo from concepts of Random Forest modelling.
How it works:
With models like Support Vector Machines (SVM), Random Forest (RF) and Gradient Boosted Machine Learning (GBM), which are commonly used in Machine Learning Classification Tasks (MLCTs), this model operates similarity to the basic concepts shared amongst those modelling types. While it is not very similar to SVM, it is very similar to RF and GBM, in that it uses a "voting" system.
What do I mean by voting system?
How most classification MLAs work is by feeding an input dataset to an algorithm. The algorithm sorts this data, categorizes it, then introduces something called a confusion matrix (essentially sorting the data in no apparently order as to prevent over-fitting and introduce "confusion" to the algorithm to ensure that it is not just following a trend).
From there, the data is called upon based on current data inputs (so say we are using RSI and Z-Score, the current RSI and Z-Score is compared against other RSI's and Z-Scores that the model has saved). The model will process this information and each "tree" or "node" will vote. Then a cumulative overall vote is casted.
How does this MLA work?
This model accepts 2 independent variables. In order to keep things simple, this model was kept as a three node model. This means that there are 3 separate votes that go in to get the result. A vote is casted for each of the two independent variables and then a cumulative vote is casted for the overall verdict (the result of the model's prediction).
The model actually displays this system diagrammatically and it will likely be easier to understand if we look at the diagram to ground the example:
In the diagram, at the very top we have the classification variable that we are trying to predict. In this case, we are trying to predict whether there will be a breakout/breakdown outside of the normal ATR range (this is either yes or no question, hence a classification task).
So the question forms the basis of the input. The model will track at which points the ATR range is exceeded to the upside or downside, as well as the other variables that we wish to use to predict these exceedences. The ATR range forms the basis of all the data flowing into the model.
Then, at the second level, you will see we are using Z-Score and RSI to predict these breaks. The circle will change colour according to "feature importance". Feature importance basically just means that the indicator has a strong impact on the outcome. The stronger the importance, the more green it will be, the weaker, the more red it will be.
We can see both RSI and Z-Score are green and thus we can say they are strong options for predicting a breakout/breakdown.
So then we move down to the actual voting mechanisms. You will see the 2 pink boxes. These are the first lines of voting. What is happening here is the model is identifying the instances that are most similar and whether the classification task we have assigned (remember out ATR exceedance classifier) was either true or false based on RSI and Z-Score.
These are our 2 nodes. They both cast an individual vote. You will see in this case, both cast a vote of 1. The options are either 1 or 0. A vote of 1 means "Yes" or "Breakout likely".
However, this is not the only voting the model does. The model does one final vote based on the 2 votes. This is shown in the purple box. We can see the final vote and result at the end with the orange circle. It is 1 which means a range exceedance is anticipated and the most likely outcome.
The Data Table Component
The model has many moving parts. I have tried to represent the pivotal functions diagrammatically, but some other important aspects and background information must be obtained from the companion data table.
If we bring back our diagram from above:
We can see the data table to the left.
The data table contains 2 sections, one for each independent variable. In this case, our independent variables are RSI and Z-Score.
The data table will provide you with specifics about the independent variables, as well as about the model accuracy and outcome.
If we take a look at the first row, it simply indicates which independent variable it is looking at. If we go down to the next row where it reads "Weighted Impact", we can see a corresponding percent. The "weighted impact" is the amount of representation each independent variable has within the voting scheme. So in this case, we can see its pretty equal, 45% and 55%, This tells us that there is a slight higher representation of z-score than RSI but nothing to worry about.
If there was a major over-respresentation of greater than 30 or 40%, then the model would risk being skewed and voting too heavily in favour of 1 variable over the other.
If we move down from there we will see the next row reads "independent accuracy". The voting of each independent variable's accuracy is considered separately. This is one way we can determine feature importance, by seeing how well one feature augments the accuracy. In this case, we can see that RSI has the greatest importance, with an accuracy of around 87% at predicting breakouts. That makes sense as RSI is a momentum based oscillator.
Then if we move down one more, we will see what each independent feature (node) has voted for. In this case, both RSI and Z-Score voted for 1 (Breakout in our case).
You can weigh these in collaboration, but its always important to look at the final verdict of the model, which if we move down, we can see the "Model prediction" which is "Bullish".
If you are using the ATR breakout, the model cannot distinguish between "Bullish" or "Bearish", must that a "Breakout" is likely, either bearish or bullish. However, for the other classification tasks this model can do, the results are either Bullish or Bearish.
Using the Function:
Okay so now that all that technical stuff is out of the way, let's get into using the function. First of all this function innately provides you with 3 possible classification tasks. These include:
1. Predicting Red or Green Candle
2. Predicting Bullish / Bearish ATR
3. Predicting a Breakout from the ATR range
The possible independent variables include:
1. Stochastics,
2. MFI,
3. RSI,
4. Z-Score,
5. EMAs,
6. SMAs,
7. Volume
The model can only accept 2 independent variables, to operate within the computation time limits for pine execution.
Let's quickly go over what the numbers in the diagram mean:
The numbers being pointed at with the yellow arrows represent the cases the model is sorting and voting on. These are the most identical cases and are serving as the voting foundation for the model.
The numbers being pointed at with the pink candle is the voting results.
Extrapolating the functions (For Pine Developers:
So this is more of a feature application, so feel free to customize it to your liking and add additional inputs. But here are some key important considerations if you wish to apply this within your own code:
1. This is a BINARY classification task. The prediction must either be 0 or 1.
2. The function consists of 3 separate functions, the 2 first functions serve to build the confusion matrix and then the final "random_forest" function serves to perform the computations. You will need all 3 functions for implementation.
3. The model can only accept 2 independent variables.
I believe that is the function. Hopefully this wasn't too confusing, it is very statsy, but its a fun function for me! I use Random Forest excessively in R and always like to try to convert R things to Pinescript.
Hope you enjoy!
Safe trades everyone!
Moment-Based Adaptive DetectionMBAD (Moment-Based Adaptive Detection) : a method applicable to a wide range of purposes, like outlier or novelty detection, that requires building a sensible interval/set of thresholds. Unlike other methods that are static and rely on optimizations that inevitably lead to underfitting/overfitting, it dynamically adapts to your data distribution without any optimizations, MLE, or stuff, and provides a set of data-driven adaptive thresholds, based on closed-form solution with O(n) algo complexity.
1.5 years ago, when I was still living in Versailles at my friend's house not knowing what was gonna happen in my life tomorrow, I made a damn right decision not to give up on one idea and to actually R&D it and see what’s up. It allowed me to create this one.
The Method Explained
I’ve been wandering about z-values, why exactly 6 sigmas, why 95%? Who decided that? Why would you supersede your opinion on data? Based on what? Your ego?
Then I consciously noticed a couple of things:
1) In control theory & anomaly detection, the popular threshold is 3 sigmas (yet nobody can firmly say why xD). If your data is Laplace, 3 sigmas is not enough; you’re gonna catch too many values, so it needs a higher sigma.
2) Yet strangely, the normal distribution has kurtosis of 3, and 6 for Laplace.
3) Kurtosis is a standardized moment, a moment scaled by stdev, so it means "X amount of something measured in stdevs."
4) You generate synthetic data, you check on real data (market data in my case, I am a quant after all), and you see on both that:
lower extension = mean - standard deviation * kurtosis ≈ data minimum
upper extension = mean + standard deviation * kurtosis ≈ data maximum
Why not simply use max/min?
- Lower info gain: We're not using all info available in all data points to estimate max/min; we just pick the current higher and lower values. Lol, it’s the same as dropping exponential smoothing with alpha = 0 on stationary data & calling it a day.
You can’t update the estimates of min and max when new data arrives containing info about the matter. All you can do is just extend min and max horizontally, so you're not using new info arriving inside new data.
- Mixing order and non-order statistics is a bad idea; we're losing integrity and coherence. That's why I don't like the Hurst exponent btw (and yes, I came up with better metrics of my own).
- Max & min are not even true order statistics, unlike a percentile (finding which requires sorting, which requires multiple passes over your data). To find min or max, you just need to do one traversal over your data. Then with or without any weighting, 100th percentile will equal max. So unlike a weighted percentile, you can’t do weighted max. Then while you can always check max and min of a geometric shape, now try to calculate the 56th percentile of a pentagram hehe.
TL;DR max & min are rather topological characteristics of data, just as the difference between starting and ending points. Not much to do with statistics.
Now the second part of the ballet is to work with data asymmetry:
1) Skewness is also scaled by stdev -> so it must represent a shift from the data midrange measured in stdevs -> given asymmetric data, we can include this info in our models. Unlike kurtosis, skewness has a sign, so we add it to both thresholds:
lower extension = mean - standard deviation * kurtosis + standard deviation * skewness
upper extension = mean + standard deviation * kurtosis + standard deviation * skewness
2) Now our method will work with skewed data as well, omg, ain’t it cool?
3) Hold up, but what about 5th and 6th moments (hyperskewness & hyperkurtosis)? They should represent something meaningful as well.
4) Perhaps if extensions represent current estimated extremums, what goes beyond? Limits, beyond which we expect data not to be able to pass given the current underlying process generating the data?
When you extend this logic to higher-order moments, i.e., hyperskewness & hyperkurtosis (5th and 6th moments), they measure asymmetry and shape of distribution tails, not its core as previous moments -> makes no sense to mix 4th and 3rd moments (skewness and kurtosis) with 5th & 6th, so we get:
lower limit = mean - standard deviation * hyperkurtosis + standard deviation * hyperskewness
upper limit = mean + standard deviation * hyperkurtosis + standard deviation * hyperskewness
While extensions model your data’s natural extremums based on current info residing in the data without relying on order statistics, limits model your data's maximum possible and minimum possible values based on current info residing in your data. If a new data point trespasses limits, it means that a significant change in the data-generating process has happened, for sure, not probably—a confirmed structural break.
And finally we use time and volume weighting to include order & process intensity information in our model.
I can't stress it enough: despite the popularity of these non-weighted methods applied in mainstream open-access time series modeling, it doesn’t make ANY sense to use non-weighted calculations on time series data . Time = sequence, it matters. If you reverse your time series horizontally, your means, percentiles, whatever, will stay the same. Basically, your calculations will give the same results on different data. When you do it, you disregard the order of data that does have order naturally. Does it make any sense to you? It also concerns regressions applied on time series as well, because even despite the slope being opposite on your reversed data, the centroid (through which your regression line always comes through) will be the same. It also might concern Fourier (yes, you can do weighted Fourier) and even MA and AR models—might, because I ain’t researched it extensively yet.
I still can’t believe it’s nowhere online in open access. No chance I’m the first one who got it. It’s literally in front of everyone’s eyes for centuries—why no one tells about it?
How to use
That’s easy: can be applied to any, even non-stationary and/or heteroscedastic time series to automatically detect novelties, outliers, anomalies, structural breaks, etc. In terms of quant trading, you can try using extensions for mean reversion trades and limits for emergency exits, for example. The market-making application is kinda obvious as well.
The only parameter the model has is length, and it should NOT be optimized but picked consciously based on the process/system you’re applying it to and based on the task. However, this part is not about sharing info & an open-access instrument with the world. This is about using dem instruments to do actual business, and we can’t talk about it.
∞
IU Price Density(Market Noise)This Price density Indicator will help you understand what and how market noise is calculated and treated.
Market noise = when the market is moving up and down without any clear direction
The Price Density Indicator is a technical analysis tool used to measure the concentration or "density" of price movements within a specific range. It helps traders differentiate between noisy, choppy markets and trending ones.
I’ve developed a custom Pine Script indicator, "IU Price Density," designed to help traders distinguish between noisy, indecisive markets and clear trading opportunities. It can be applied across multiple markets.
How this work:
Formula = (Σ (High𝑖 - Low𝑖)) / (Max(High) - Min(Low))
Where,
High𝑖 = the high price at the 𝑖 data point.
Low𝑖 = the low price at the 𝑖 data point.
Max(High) = highest price over the data set.
Max(Low) = Lowest price over the data set.
How to use it :
This indicator ranges from 0 to 10
Green(0-3) = Trending Market
Orange(3-6) = Market is normal
Red(6-10) = Noise market
💡 Key Features:
Dynamic Visuals: The indicator uses color-coded signals—green for trending markets and red for noisy, volatile conditions—making it easy to identify optimal trading periods at a glance.
Background Shading: With background colors highlighting significant market conditions, traders can quickly assess when to engage or avoid certain trades.
Customizable Parameters: The length and smoothing factors allow for flexibility in adapting the indicator to various assets and timeframes.
Whether you're a swing trader or an intraday strategist, this tool provides valuable insights to improve your market analysis. I’m excited to bring this indicator to the community!
Risk Indicator# Risk Indicator
A dynamic risk analysis tool that helps traders identify optimal entry and exit points using a normalized risk scale from 0 to 1. The indicator combines price action, moving averages, and logarithmic scaling to provide clear visual signals for different risk zones.
### Key Features
• Displays risk levels on a scale of 0-1 with intuitive color gradients (blue → cyan → green → yellow → orange → red)
• Shows predicted price levels for different risk values
• Divides the chart into 5 DCA (Dollar Cost Average) zones
• Includes customizable alerts for rapid risk changes and zone transitions
• Automatically adjusts to market conditions using dynamic ATH/ATL calculations
### Customizable Parameters
• SMA Period: Adjust the smoothing period for the baseline moving average
• Power Factor: Fine-tune the sensitivity of risk calculations
• Initial ATL Value: Set the starting point for ATL calculations
• Label Offset: Adjust the position of price level labels
• Visual Options: Toggle price levels and zone labels
• Alert Settings: Customize alert thresholds and enable/disable notifications
### Risk Zones Explained
The indicator divides the chart into five distinct zones:
- 0.0-0.2: DCA 5x (Deep Blue) - Strongest buy zone
- 0.2-0.4: DCA 4x (Cyan) - Strong buy zone
- 0.4-0.6: DCA 3x (Green) - Neutral zone
- 0.6-0.8: DCA 2x (Yellow/Orange) - Take profit zone
- 0.8-1.0: DCA 1x (Red) - Strong take profit / potential sell zone
### Alerts
Built-in alerts for:
• Rapid increases in risk level
• Rapid decreases in risk level
• Entry into buy zones
• Entry into sell zones
### How to Use
1. Add the indicator to your chart
2. Adjust the SMA period and power factor to match your trading timeframe
3. Monitor the risk level and corresponding price predictions
4. Use the DCA zones to guide your position sizing
5. Set up alerts for your preferred risk thresholds
### Tips
- Lower risk values (blue/cyan) suggest potentially good entry points
- Higher risk values (orange/red) suggest taking profits or reducing position size
- Use in conjunction with other technical analysis tools for best results
- Adjust the power factor to fine-tune sensitivity to price movements
### Notes
- Past performance is not indicative of future results
- This indicator is meant to be used as part of a complete trading strategy
- Always manage your risk and position size according to your trading plan
Version 1.0
BTCUSD Momentum After Abnormal DaysThis indicator identifies abnormal days in the Bitcoin market (BTCUSD) based on daily returns exceeding specific thresholds defined by a statistical approach. It is inspired by the findings of Caporale and Plastun (2020), who analyzed the cryptocurrency market's inefficiencies and identified exploitable patterns, particularly around abnormal returns.
Key Concept:
Abnormal Days:
Days where the daily return significantly deviates (positively or negatively) from the historical average.
Positive abnormal days: Returns exceed the mean return plus k times the standard deviation.
Negative abnormal days: Returns fall below the mean return minus k times the standard deviation.
Momentum Effect:
As described in the academic paper, on abnormal days, prices tend to move in the direction of the abnormal return until the end of the trading day, creating momentum effects. This can be leveraged by traders for profit opportunities.
How It Works:
Calculation:
The script calculates the daily return as the percentage difference between the open and close prices. It then derives the mean and standard deviation of returns over a configurable lookback period.
Thresholds:
The script dynamically computes upper and lower thresholds for abnormal days using the mean and standard deviation. Days exceeding these thresholds are flagged as abnormal.
Visualization:
The mean return and thresholds are plotted as dynamic lines.
Abnormal days are visually highlighted with transparent green (positive) or red (negative) backgrounds on the chart.
References:
This indicator is based on the methodology discussed in "Momentum Effects in the Cryptocurrency Market After One-Day Abnormal Returns" by Caporale and Plastun (2020). Their research demonstrates that hourly returns during abnormal days exhibit a strong momentum effect, moving in the same direction as the abnormal return. This behavior contradicts the efficient market hypothesis and suggests profitable trading opportunities.
"Prices tend to move in the direction of abnormal returns till the end of the day, which implies the existence of a momentum effect on that day giving rise to exploitable profit opportunities" (Caporale & Plastun, 2020).
LRSI-TTM Squeeze - AynetThis Pine Script code creates an indicator called LRSI-TTM Squeeze , which combines two key concepts to analyze momentum, squeeze conditions, and price movements in the market:
Laguerre RSI (LaRSI): A modified version of RSI used to identify trend reversals in price movements.
TTM Squeeze: Identifies market compressions (low volatility) and potential breakouts from these squeezes.
Functionality and Workflow of the Code
1. Laguerre RSI (LaRSI)
Purpose:
Provides a smoother and less noisy version of RSI to track price movements.
Calculation:
The script uses a filtering coefficient (alpha) to process price data through four levels (L0, L1, L2, L3).
Movement differences between these levels calculate buying pressure (cu) and selling pressure (cd).
The ratio of these pressures forms the Laguerre RSI:
bash
Kodu kopyala
LaRSI = cu / (cu + cd)
The LaRSI value indicates:
Below 20: Oversold condition (potential buy signal).
Above 80: Overbought condition (potential sell signal).
2. TTM Squeeze
Purpose:
Analyzes the relationship between Bollinger Bands (BB) and Keltner Channels (KC) to determine whether the market is compressed (low volatility) or expanded (high volatility).
Calculation:
Bollinger Bands:
Calculated based on the moving average (SMA) of the price, with an upper and lower band.
Keltner Channels:
Created using the Average True Range (ATR) to calculate an upper and lower band.
Squeeze States:
Squeeze On: BB is within KC.
Squeeze Off: BB is outside KC.
Other States (No Squeeze): Neither of the above applies.
3. Momentum Calculation
Momentum is computed using the linear regression of the difference between the price and its SMA. This helps anticipate the direction and strength of price movements when the squeeze ends.
Visuals on the Chart
Laguerre RSI Line:
An RSI indicator scaled to 0-100 is plotted.
The line's color changes based on its movement:
Green line: RSI is rising.
Red line: RSI is falling.
Key levels:
20 level: Oversold condition (buy signal can be triggered).
80 level: Overbought condition (sell signal can be triggered).
Momentum Histogram:
Displays momentum as histogram bars with colors based on its direction and strength:
Lime (light green): Positive momentum increasing.
Green: Positive momentum decreasing.
Red: Negative momentum decreasing.
Maroon (dark red): Negative momentum increasing.
Squeeze Status Indicator:
A marker is plotted on the zero line to indicate the squeeze state:
Yellow: Squeeze On (compression active).
Blue: Squeeze Off (compression ended, movement expected).
Gray: No Squeeze.
Information Table
A table is displayed in the top-right corner of the chart, showing closing prices for different timeframes (e.g., 1 minute, 5 minutes, 1 hour, etc.). Each timeframe is color-coded.
Alerts
LaRSI Alerts:
Crosses above 20: Exiting oversold condition (buy signal).
Crosses below 80: Exiting overbought condition (sell signal).
Squeeze Alerts:
When the squeeze ends: Indicates a potential price move.
When the squeeze starts: Indicates volatility is decreasing.
Summary
This indicator is a powerful tool for determining market trends, momentum, and squeeze conditions. It helps users identify periods when the market is likely to move or remain stagnant, providing alerts based on these analyses to support trading strategies.
Crypto Arbitrage Scanner [CryptoSea]Crypto Arbitrage Scanner
The Crypto Arbitrage Scanner is an advanced tool designed to help traders identify arbitrage opportunities across multiple cryptocurrency exchanges. With the ability to compare prices, volumes, and differences in price, this indicator is a must-have for any trader seeking to exploit cross-exchange inefficiencies in real time.
Key Features
Multi-Exchange Price and Volume Comparison: Tracks data from multiple major cryptocurrency exchanges, including BINANCE, COINBASE, KUCOIN, and others, allowing traders to easily compare prices and volume across platforms.
Customizable Difference Metrics: Allows users to toggle between displaying price differences in percentages or absolute dollar values, depending on the preferred metric for arbitrage analysis.
Sorting and Filtering Options: Includes user-defined sorting options to order the data by Price, Volume, or Difference, helping to prioritize potential arbitrage opportunities based on the trader's chosen criteria.
Difference and Volume Thresholds: Users can specify the minimum volume and price difference thresholds, ensuring that only significant arbitrage opportunities are highlighted.
Real-Time Alerts: Built-in alert conditions notify users when arbitrage opportunities exceed their defined price difference thresholds, helping traders respond instantly to market movements.
The Crypto Arb Scanner displays a table of prices, volumes, and price differences across selected exchanges. Each exchange is listed along with the current close price, volume, and the difference in price compared to the average price across all exchanges. Highlighting is used to indicate significant differences that may present arbitrage opportunities.
In the example below, we can see a highlighted opportunity in green showing that the price is below the user inputed thresold.
How it Works
Data Collection: Gathers real-time volume and price data from various exchanges using a streamlined process, allowing for a detailed comparison.
Average Price Calculation: Computes the average price across all valid exchanges to identify where price discrepancies occur, providing a clear picture of arbitrage potential.
Sorting Mechanism: Utilizes custom sorting based on user preferences, making it easy to quickly analyze and identify key opportunities.
Dynamic Highlighting and Alerts: Price differences that exceed user-defined thresholds are highlighted, and alerts can be triggered for these arbitrage opportunities, allowing for a timely response.
Application
Arbitrage Trading: The Crypto Arb Scanner is ideal for traders looking to exploit price differences across exchanges, enabling efficient arbitrage opportunities.
Market Efficiency Analysis: Offers insights into the consistency of prices across exchanges, which can help gauge the efficiency and liquidity of the markets being traded.
Customizable Alerts: Set alerts based on price differences or volume, allowing traders to stay informed about changes without constantly monitoring the markets.
The Crypto Arbitrage Scanner is a powerful addition to any trader's toolkit, offering comprehensive features to detect arbitrage opportunities with confidence. With real-time monitoring, customizable metrics, and a user-friendly interface, this tool allows traders to make informed decisions and capitalize on inefficiencies across exchanges.
Quantum Transform - AynetQuantum Transform Trading Indicator: Explanation
This script is called a "Quantum Transform Trading Indicator" and aims to enhance market analysis by applying complex mathematical models. Written in Pine Script, the indicator includes the following elements:
1. General Structure
Quantum Parameters: Inspired by physical and mathematical concepts (Planck constant ℏ, wave function Ψ, time τ, etc.), it uses specific parameters.
Transformation Functions: Applies various mathematical operations to transform price data in different ways.
Signal Generation: Produces signals for long and short positions.
Visualization: Displays different price transformations and signals on the chart.
2. Core Parameters
The parameters allow users to control various transformations:
Planck Constant (ℏ): A scaling factor for wave modulation.
Wave (Ψ): Controls oscillation in price data.
Time (τ): The length of the lookback period for calculations.
Relativity (γ): Power factor in the Lorentz transformation.
Phase Shift (β): Manages phase shift in transformations.
Frequency (ω): Represents the frequency of price movements.
Dimensions (∇): Enables multi-dimensional field analysis.
3. Functions
a) Relativistic Transform
Inspired by the theory of relativity.
Calculates the Lorentz factor using the rate of price change.
Transforms price data to amplify the relativity effect.
b) Phase Transform
Calculates the phase of price data and applies wave modulation.
Creates phase and amplitude modulation based on the bar index.
c) Resonance Transform
Calculates resonance effects using natural frequency and oscillations.
Highlights periodic behaviors of price movements.
d) Field Transform
Applies multi-dimensional field calculations.
Combines strength, wave, and coherence aspects of price data.
e) Chaos Transform
Implements a chaos effect based on sensitivity analysis.
Simulates chaotic behaviors of price movements.
4. Main Calculations
Quantum Price: The average of all transformation functions.
Bands:
Upper Band: The highest level of quantum price.
Lower Band: The lowest level of quantum price.
Mid Band: The average of upper and lower bands.
Momentum: Calculates the rate of change in quantum price.
5. Signal Generation
Long Signal:
Triggered when the phase price crosses above the field price.
Momentum must be positive, and the price above the mid-band.
Short Signal:
Triggered when the phase price crosses below the field price.
Momentum must be negative, and the price below the mid-band.
Signal strength is calculated relative to the momentum moving average.
6. Visualization
Each transformation is displayed in a unique color.
Bands and Momentum: Visualize price behavior.
Signal Icons: Show buy/sell signals using up/down arrows on the chart.
7. Information Panel
A table in the top-right corner of the chart displays:
The current values of each transformation.
Signal strength (as a percentage).
The type of signal (⬆: Long, ⬇: Short).
Applications
Trend Following: Analyze trends with complex transformations.
Resonance and Chaos Analysis: Understand dynamic behaviors of price.
Signal Strategies: Create strong and reliable buy/sell signals.
If you have any additional questions or customization requests regarding this indicator, feel free to ask!
Azlan MA Silang PLUS++Overview
Azlan MA Silang PLUS++ is an advanced moving average crossover trading indicator designed for traders who want to jump back into the market when they missed their first opportunity to take a trade. It implements a sophisticated dual moving average system with customizable settings and re-entry signals, making it suitable for both trend following and swing trading strategies.
Key Features
• Dual Moving Average System with multiple MA types (EMA, SMA, WMA, LWMA)
• Customizable price sources for each moving average
• Smart re-entry system with configurable maximum re-entries
• Visual signals with background coloring and shape markers
• Comprehensive alert system for both initial and re-entry signals
• Flexible parameter customization through input options
Input Parameters
Moving Average Configuration
• MA1 Type: Choice between SMA, EMA, WMA, LWMA (default: EMA)
• MA2 Type: Choice between SMA, EMA, WMA, LWMA (default: EMA)
• MA1 Length: Minimum value 1 (default: 8)
• MA2 Length: Minimum value 1 (default: 15)
• MA1 & MA2 Shift: Offset values for moving averages
• Price Sources: Configurable for each MA (Open, High, Low, Close, HL/2, HLC/3, HLCC/4)
Re-entry System
• Enable/Disable re-entry signals
• Maximum re-entries allowed (default: 3)
Technical Implementation
Price Source Calculation
The script implements a flexible price source system through the price_source() function:
• Supports standard OHLC values
• Includes compound calculations (HL/2, HLC/3, HLCC/4)
• Defaults to close price if invalid source specified
Moving Average Types
Implements four MA calculations:
1. SMA (Simple Moving Average)
2. EMA (Exponential Moving Average)
3. WMA (Weighted Moving Average)
4. LWMA (Linear Weighted Moving Average)
Signal Generation Logic
Initial Signals
• Buy Signal: MA1 crosses above MA2 with price above both MAs
• Sell Signal: MA1 crosses below MA2 with price below both MAs
Re-entry Signals
Re-entry system activates when:
1. Price crosses under MA1 in buy mode (or over in sell mode)
2. Price returns to cross back over MA1 (or under for sells)
3. Position relative to MA2 confirms trend direction
4. Number of re-entries hasn't exceeded maximum allowed
Visual Components
• MA1: Blue line (width: 2)
• MA2: Red line (width: 2)
• Background Colors:
o Green (60% opacity): Bullish conditions
o Red (60% opacity): Bearish conditions
• Signal Markers:
o Initial Buy/Sell: Up/Down arrows with "BUY"/"SELL" labels
o Re-entry Buy/Sell: Up/Down arrows with "RE-BUY"/"RE-SELL" labels
Alert System
Generates alerts for:
• Initial buy/sell signals
• Re-entry opportunities
• Alerts include ticker and timeframe information
• Configured for once-per-bar-close frequency
Usage Tips
1. Moving Average Selection
o Shorter periods (MA1) capture faster moves
o Longer periods (MA2) identify overall trend
o EMA responds faster to price changes than SMA
2. Re-entry System
o Best used in strong trending markets
o Limit maximum re-entries based on market volatility
o Monitor price action around MA1 for potential re-entry points
3. Risk Management
o Use additional confirmation indicators
o Set appropriate stop-loss levels
o Consider market conditions when using re-entry signals
Code Structure
The script follows a modular design with distinct sections:
1. Input parameter definitions
2. Helper functions for price and MA calculations
3. Main signal generation logic
4. Visual elements and plotting
5. Alert system implementation
This organization makes the code maintainable and easy to modify for custom needs.
Relative Momentum StrengthThe Relative Momentum Strength (RMS) indicator is designed to help traders and investors identify tokens with the strongest momentum over two customizable timeframes. It calculates and plots the percentage price change over 30-day and 90-day periods (or user-defined periods) to evaluate a token's relative performance.
30-Day Momentum (Green Line): Short-term price momentum, highlighting recent trends and movements.
90-Day Momentum (Blue Line): Medium-term price momentum, providing insights into broader trends.
This tool is ideal for comparing multiple tokens or assets to identify those showing consistent strength or weakness. Use it to spot outperformers and potential reversals in a competitive universe of assets.
How to Use:
Apply this indicator to your TradingView chart for any token or asset.
Look for tokens with consistently high positive momentum for potential strength.
Use the plotted values to compare relative performance across your watchlist.
Customization:
Adjust the momentum periods to suit your trading strategy.
Overlay it with other indicators like RSI or volume for deeper analysis.
3 Drive Harmonic Pattern [TradingFinder] Three Drive Reversal🔵 Introduction
The Three Drive harmonic pattern closely resembles other price structures such as Wedge Pattern and Three Push Pattern, yet it stands out due to its precise use of Fibonacci ratios and symmetrical price movements.
This pattern comprises three consecutive and symmetrical price drives, each validated by key Fibonacci ratios (1.27 and 1.618), which help identify critical Potential Reversal Zones (PRZ).
Unlike the Wedge, which relies on converging trend lines and can indicate either continuation or reversal, and the Three Push, which lacks defined Fibonacci ratios and symmetry, the Three Drive pattern defines PRZ with greater accuracy, providing traders with high-probability trading opportunities.
This pattern appears in both bullish and bearish trends. After the completion of the third drive (Drive 3), it signals the market's readiness to reverse direction. The PRZ in this pattern serves as a crucial zone where price is highly likely to reverse, offering a strategic point for entering or exiting trades. Professional traders utilize the Three Drive pattern and PRZ as essential tools for analyzing and capitalizing on potential market reversals.
Bullish Pattern :
Bearish Pattern :
🔵 How to Use
The Three Drive harmonic pattern is an effective tool for identifying potential reversal points in the market. By utilizing Fibonacci extension levels (1.27 and 1.618) and focusing on the pattern’s symmetry, traders can pinpoint Potential Reversal Zones (PRZ) where the price is likely to change direction. This pattern works in both bearish and bullish scenarios, each with distinct characteristics and trading opportunities.
🟣 Bullish Three Drive Pattern
The bullish Three Drive pattern develops during a downtrend, indicating a potential reversal to the upside. Similar to its bearish counterpart, this pattern features three consecutive downward price movements (drives) with retracements in between. The third drive concludes within the PRZ, which serves as a strong support zone where the price is expected to reverse upwards.
The first drive begins with a downward movement, followed by a retracement to the 0.618 Fibonacci level. The second drive continues downward to reach a 1.27 or 1.618 Fibonacci extension of the retracement. Finally, the third drive aligns with the PRZ, where a confluence of Fibonacci levels creates a high-probability support zone.
In the PRZ, traders look for bullish confirmation signals such as bullish candlestick patterns (e.g., bullish engulfing or pin bars) or increasing trading volume. Once confirmation is observed, the PRZ becomes an ideal entry point for a buy position. Stop-loss orders are placed slightly below the PRZ to minimize risk, while take-profit targets are set at key resistance levels or Fibonacci retracement levels.
🟣 Bearish Three Drive Pattern
The bearish Three Drive pattern forms during an uptrend, signaling a potential reversal to the downside. This pattern consists of three consecutive upward price movements (drives) and intermediate retracements. Each drive aligns with Fibonacci extension levels, and the third drive ends within the PRZ, indicating a high probability of a bearish reversal.
In the first drive, the price moves upward and then retraces to approximately the 0.618 Fibonacci retracement level, forming the base for the second drive. The second drive then extends upward to the 1.27 or 1.618 Fibonacci extension of the preceding retracement. This process repeats for the third drive, which reaches the PRZ, typically defined by the convergence of Fibonacci levels from previous drives.
Once the PRZ is identified, traders look for confirmation signals such as bearish candlestick patterns (e.g., bearish engulfing or pin bars) or declining trading volume. If confirmation is present, the PRZ becomes an optimal zone for entering a sell position. Stop-loss levels are typically placed slightly above the PRZ to protect against pattern failure, and take-profit targets are set at key support levels or Fibonacci retracement levels of the overall structure.
🟣 Three Drive Vs Wedge Pattern Vs 3 Push pattern
The Three Drive, Wedge, and Three Push patterns are all used to identify potential price reversal points, but they differ significantly in structure and application. The Three Drive pattern is based on three consecutive and symmetrical price movements, validated by precise Fibonacci ratios (1.27 and 1.618), to define Potential Reversal Zones (PRZ).
In contrast, the Wedge pattern relies on converging trend lines and does not require Fibonacci ratios; it can act as either a reversal or continuation pattern. Meanwhile, the Three Push pattern shares similarities with Three Drive but lacks precise symmetry and Fibonacci-based validation.
Instead of a PRZ, Three Push focuses on identifying areas of support and resistance, often signaling weakening momentum in the current trend. Among these, the Three Drive pattern is more reliable for pinpointing high-probability reversal zones due to its strict Fibonacci-based and symmetrical structure.
🔵 Setting
🟣 Logical Setting
ZigZag Pivot Period : You can adjust the period so that the harmonic patterns are adjusted according to the pivot period you want. This factor is the most important parameter in pattern recognition.
Show Valid Format : If this parameter is on "On" mode, only patterns will be displayed that they have exact format and no noise can be seen in them. If "Off" is, the patterns displayed that maybe are noisy and do not exactly correspond to the original pattern.
Show Formation Last Pivot Confirm : if Turned on, you can see this ability of patterns when their last pivot is formed. If this feature is off, it will see the patterns as soon as they are formed. The advantage of this option being clear is less formation of fielded patterns, and it is accompanied by the latest pattern seeing and a sharp reduction in reward to risk.
Period of Formation Last Pivot : Using this parameter you can determine that the last pivot is based on Pivot period.
🟣 Genaral Setting
Show : Enter "On" to display the template and "Off" to not display the template.
Color : Enter the desired color to draw the pattern in this parameter.
LineWidth : You can enter the number 1 or numbers higher than one to adjust the thickness of the drawing lines. This number must be an integer and increases with increasing thickness.
LabelSize : You can adjust the size of the labels by using the "size.auto", "size.tiny", "size.smal", "size.normal", "size.large" or "size.huge" entries.
🟣 Alert Setting
Alert : On / Off
Message Frequency : This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Show Alert Time by Time Zone : The date, hour, and minute you receive in alert messages can be based on any time zone you choose. For example, if you want New York time, you should enter "UTC-4". This input is set to the time zone "UTC" by default.
🔵 Conclusion
The Three Drive pattern is a highly effective harmonic tool for identifying potential reversal points in the market. By leveraging its symmetrical structure and precise Fibonacci ratios (1.27 and 1.618), this pattern provides traders with clear entry and exit signals, enhancing the accuracy of their trades.
Whether in bullish or bearish scenarios, the identification of the Potential Reversal Zone (PRZ) serves as a critical aspect of this pattern, enabling traders to anticipate price movements with greater confidence.
Compared to similar patterns like Wedge and Three Push, the Three Drive pattern stands out for its stringent reliance on Fibonacci levels and symmetrical price movements, making it a more robust choice for forecasting reversals. However, as with any technical analysis tool, its effectiveness increases when combined with confirmation signals, such as candlestick patterns, volume analysis, and broader market context.
Mastering the Three Drive pattern requires practice and attention to detail, especially in accurately defining the PRZ and ensuring the pattern adheres to its criteria. Traders who consistently apply this pattern as part of a comprehensive trading strategy can capitalize on high-probability opportunities and improve their overall performance in the market.
Daily PlayDaily Play Indicator
The Daily Play Indicator is a clean and versatile tool designed to help traders organize and execute their daily trading plan directly on their charts. This indicator simplifies your workflow by visually displaying key inputs like market trend, directional bias, and key levels, making it easier to focus on your trading strategy.
Features
Dropdown Selection for Trend and Bias:
• Set the overall market trend (Bullish, Bearish, or Neutral) and your directional bias (Long, Short, or Neutral) using intuitive dropdown menus. No more manual typing or guesswork!
Key Levels:
Quickly input and display the Previous Day High and Previous Day Low. These levels are essential for many trading strategies, such as breakouts.
Real-Time News Notes:
Add a quick note about impactful news or market events (e.g., “Fed meeting today” or “Earnings season”) to keep contextual awareness while trading.
Simple On-Chart Display:
The indicator creates a “table-like” structure on the chart, aligning your inputs in an easy-to-read format. The data is positioned dynamically so it doesn’t obstruct the price action.
Customisable Visual Style:
Simple labels with clear text to ensure that your chart remains neat and tidy.
----
Use Case
The Daily Play Indicator is ideal for:
• Day traders and scalpers who rely on precise planning and real-time execution.
• Swing traders looking to mark critical levels and develop a trade plan before the session begins.
• Anyone who needs a structured way to stay focused and disciplined during volatile market conditions.
By integrating this tool into your workflow, you can easily align your daily preparation with live market action.
----
How to Use
Open the indicator settings to configure your inputs:
• Trend: Use the dropdown to choose between Bullish, Bearish, or Neutral.
• Bias: Select Long, Short, or Neutral to align your personal bias with the market.
• Previous Day Levels: Enter the High and Low of the previous trading session for key reference points.
• News: Add a short description of any relevant market-moving events.
Mean Price
^^ Plotting switched to Line.
This method of financial time series (aka bars) downsampling is literally, naturally, and thankfully the best you can do in terms of maximizing info gain. You can finally chill and feed it to your studies & eyes, and probably use nothing else anymore.
(HL2 and occ3 also have use cases, but other aggregation methods? Not really, even if they do, the use cases are ‘very’ specific). Tho in order to understand why, you gotta read the following wall, or just believe me telling you, ‘I put it on my momma’.
The true story about trading volumes and why this is all a big misdirection
Actually, you don’t need to be a quant to get there. All you gotta do is stop blindly following other people’s contextual (at best) solutions, eg OC2 aggregation xD, and start using your own brain to figure things out.
Every individual trade (basically an imprint on 1D price space that emerges when market orders hit the order book) has several features like: price, time, volume, AND direction (Up if a market buy order hits the asks, Down if a market sell order hits the bids). Now, the last two features—volume and direction—can be effectively combined into one (by multiplying volume by 1 or -1), and this is probably how every order matching engine should output data. If we’re not considering size/direction, we’re leaving data behind. Moreover, trades aren’t just one-price dots all the time. One trade can consume liquidity on several levels of the order book, so a single trade can be several ticks big on the price axis.
You may think now that there are no zero-volume ticks. Well, yes and no. It depends on how you design an exchange and whether you allow intra-spread trades/mid-spread trades (now try to Google it). Intra-spread trades could happen if implemented when a matching engine receives both buy and sell orders at the same microsecond period. This way, you can match the orders with each other at a better price for both parties without even hitting the book and consuming liquidity. Also, if orders have different sizes, the remaining part of the bigger order can be sent to the order book. Basically, this type of trade can be treated as an OTC trade, having zero volume because we never actually hit the book—there’s no imprint. Another reason why it makes sense is when we think about volume as an impact or imbalance act, and how the medium (order book in our case) responds to it, providing information. OTC and mid-spread trades are not aggressive sells or buys; they’re neutral ticks, so to say. However huge they are, sometimes many blocks on NYSE, they don’t move the price because there’s no impact on the medium (again, which is the order book)—they’re not providing information.
... Now, we need to aggregate these trades into, let’s say, 1-hour bars (remember that a trade can have either positive or negative volume). We either don’t want to do it, or we don’t have this kind of information. What we can do is take already aggregated OHLC bars and extract all the info from them. Given the market is fractal, bars & trades gotta have the same set of features:
- Highest & lowest ticks (high & low) <- by price;
- First & last ticks (open & close) <- by time;
- Biggest and smallest ticks <- by volume.*
*e.g., in the array ,
2323: biggest trade,
-1212: smallest trade.
Now, in our world, somehow nobody started to care about the biggest and smallest trades and their inclusion in OHLC data, while this is actually natural. It’s the same way as it’s done with high & low and open & close: we choose the minimum and maximum value of a given feature/axis within the aggregation period.
So, we don’t have these 2 values: biggest and smallest ticks. The best we can do is infer them, and given the fact the biggest and smallest ticks can be located with the same probability everywhere, all we can do is predict them in the middle of the bar, both in time and price axes. That’s why you can see two HL2’s in each of the 3 formulas in the code.
So, summed up absolute volumes that you see in almost every trading platform are actually just a derivative metric, something that I call Type 2 time series in my own (proprietary ‘for now’) methods. It doesn’t have much to do with market orders hitting the non-uniform medium (aka order book); it’s more like a statistic. Still wanna use VWAP? Ok, but you gotta understand you’re weighting Type 1 (natural) time series by Type 2 (synthetic) ones.
How to combine all the data in the right way (khmm khhm ‘order’)
Now, since we have 6 values for each bar, let’s see what information we have about them, what we don’t have, and what we can do about it:
- Open and close: we got both when and where (time (order) and price);
- High and low: we got where, but we don’t know when;
- Biggest & smallest trades: we know shit, we infer it the way it was described before.'
By using the location of the close & open prices relative to the high & low prices, we can make educated guesses about whether high or low was made first in a given bar. It’s not perfect, but it’s ultimately all we can do—this is the very last bit of info we can extract from the data we have.
There are 2 methods for inferring volume delta (which I call simply volume) that are presented everywhere, even here on TradingView. Funny thing is, this is actually 2 parts of the 1 method. I wonder how many folks see through it xD. The same method can be used for both inferring volume delta AND making educated guesses whether high or low was made first.
Imagine and/or find the cases on your charts to understand faster:
* Close > open means we have an up bar and probably the volume is positive, and probably high was made later than low.
* Close < open means we have a down bar and probably the volume is negative, and probably low was made later than high.
Now that’s the point when you see that these 2 mentioned methods are actually parts of the 1 method:
If close = open, we still have another clue: distance from open/close pair to high (HC), and distance from open/close pair to low (LC):
* HC < LC, probably high was made later.
* HC > LC, probably low was made later.
And only if close = open and HC = LC, only in this case we have no clue whether high or low was made earlier within a bar. We simply don’t have any more information to even guess. This bar is called a neutral bar.
At this point, we have both time (order) and price info for each of our 6 values. Now, we have to solve another weighted average problem, and that’s it. We’ll weight prices according to the order we’ve guessed. In the neutral bar case, open has a weight of 1, close has a weight of 3, and both high and low have weights of 2 since we can’t infer which one was made first. In all cases, biggest and smallest ticks are modeled with HL2 and weighted like they’re located in the middle of the bar in a time sense.
P.S.: I’ve also included a "robust" method where all the bars are treated like neutral ones. I’ve used it before; obviously, it has lesser info gain -> works a bit worse.
Diamonds Infiniti - Aynet FiboThe "Diamonds Infiniti - Aynet Fibo" Pine Script combines the geometric visualization of diamond patterns with Fibonacci retracement levels to create an innovative technical indicator for analyzing market trends and potential reversal points. Below is a detailed explanation of the code and its functionality:
Key Features
Dynamic Fibonacci Levels
High and Low Points: The script calculates the highest high and lowest low over a user-defined lookback period (lookback) to establish a price range.
Fibonacci Price Levels: Using the defined price range, the script calculates the Fibonacci retracement levels (0%, 23.6%, 38.2%, 50%, 61.8%, 100%) relative to the low point.
Trend Change Detection
Crossovers and Crossunders: The script monitors whether the closing price crosses over or under the calculated Fibonacci levels. This detection is encapsulated in the isTrendChange function.
Trend Signal: If a trend change occurs at any of the Fibonacci levels (23.6%, 38.2%, 50%, 61.8%), the script flags it as a trend change and stores the bar index of the last signal.
Diamond Pattern Visualization
Diamond Construction: The drawDiamond function draws a diamond shape at a given bar index using a central price, a top price, and a bottom price.
Trigger for Drawing Diamonds: When a trend change is detected, the script draws two diamonds—one on the left and one on the right—connected by a central line. The diamonds are based on the calculated price range (price_range) and a user-defined pattern height (patternHeight).
Fibonacci Level Visualization
Overlay of Fibonacci Levels: The script plots the calculated Fibonacci levels (23.6%, 38.2%, 50%, 61.8%) on the chart as dotted lines for easier visualization.
Scientific and Trading Use Cases
Trend Visualization:
The diamond pattern visually highlights trend changes around key Fibonacci retracement levels, providing traders with clear indicators of potential reversal zones.
Support and Resistance Zones:
Fibonacci retracement levels are widely recognized as key support and resistance zones. Overlaying these levels helps traders anticipate price behavior in these areas.
Adaptive Trading:
By dynamically recalculating Fibonacci levels and diamond patterns based on the most recent price range, the script adapts to changing market conditions.
Possible Enhancements
Multi-Timeframe Support:
Extend the script to calculate Fibonacci levels and diamond patterns across multiple timeframes for broader market analysis.
Alerts:
Add alerts for when the price crosses specific Fibonacci levels or when a new diamond pattern is drawn.
Additional Patterns:
Include other geometric patterns like triangles or rectangles for further trend analysis.
This script is a powerful visualization tool that combines Fibonacci retracement with unique diamond patterns. It simplifies complex price movements into easily interpretable signals, making it highly effective for both novice and experienced traders.
Fibonacci Renko Trend - AynetThe "Fibonacci Renko Trend - Aynet" Pine Script combines the Renko charting technique with Fibonacci retracement levels to create a highly customizable and adaptive trend-following tool. Below is a detailed explanation of the script and its components:
Scientific and Trading Applications
Noise Reduction:
By using Renko charts, the script filters out time-based noise and focuses solely on price movement, making it ideal for trend-following strategies.
Adaptability:
The ATR-based box size ensures that the Renko blocks automatically adjust to market volatility, making the tool versatile for different market conditions and asset classes.
Fibonacci-Based Decision Making:
The integration of Fibonacci retracement levels provides a structured framework for identifying key support and resistance levels. Traders can use these levels to anticipate price reversals or continuations.
Visualization:
The color-coded Renko blocks allow traders to quickly identify trends and potential reversals without additional indicators, improving decision-making efficiency.
Possible Improvements
Signal Generation:
Add entry and exit signals when price crosses significant Fibonacci levels or when a trend reversal is detected.
Multi-Timeframe Support:
Extend the script to compute Renko levels and Fibonacci ratios for multiple timeframes simultaneously.
Alerts:
Implement alert notifications for key events, such as trend changes or Fibonacci level breaches.
This script is a robust tool for traders looking to combine the simplicity of Renko charts with the analytical power of Fibonacci retracement levels. It offers a clear visualization of price trends and potential reversal points, making it suitable for both novice and experienced traders.
BTC Seasonality Strategy (Weekly)This strategy identifies potential weekend opportunities in Bitcoin (BTC) markets by leveraging the concept of seasonality, entering a position at a predefined time and day, and exiting at a specified time and day.
Key Features
Customizable Time and Day Selection:
Users can select the entry and exit days and corresponding times (in EST).
Directional Flexibility:
The strategy allows traders to choose between long or short positions.
TradingView Compliance:
The script adheres to TradingView's house rules, avoids overly complex conditions, and provides clear user-configurable inputs.
How It Works
The script determines the current weekday and hour in EST, converting TradingView's UTC time for accurate comparisons.
If the current day and hour match the selected entry conditions, a trade (long or short) is opened.
The position is closed when the current day and hour match the specified exit conditions.
Theoretical Basis
Market Seasonality:
The concept of seasonality in financial markets refers to predictable patterns based on time, such as weekends or specific days of the week. Studies have shown that cryptocurrency markets exhibit unique trading behaviors during weekends due to reduced institutional activity and higher retail participation behavioral Biases**:
Retail traders often dominate weekend markets, potentially causing predictable inefficiencies .
Reverences**
Baur, D. G., Hong, K., & Lee, A. D. (2018). Bitcoin: Medium of exchange or speculative assets? Journal of International Financial Markets, Institutions and Money, 54, 177–189.
Urquhart, A. (2016). The inefficiency of Bitcoin. Economics Letters, 148, 80–82.
Alans Date Range CalculatorOverview
Setting a date range for backtesting enables you to evaluate your trading strategy under various market conditions. Traders can test a strategy’s performance during specific periods, such as economic downturns, bull markets, or periods of high volatility. This helps assess the trading strategy’s robustness and adaptability across different scenarios.
Specifying years of data instead of just inputting specific start and end dates offers several advantages:
1. **Consistency**: Using a fixed number of years ensures that the testing period is consistent across different strategies or iterations. This makes it easier to compare performance metrics and draw meaningful conclusions.
2. **Flexibility**: Specifying years allows for automatic adjustment of the start date based on the current date or selected end date. This is particularly useful when new data becomes available or when testing on different assets with varying historical data lengths.
3. **Efficiency**: It simplifies updating and retesting strategies. Instead of recalculating specific start dates each time, traders can quickly adjust the number of years to process, making it easier to test strategies over different timeframes.
4. **Comprehensive Analysis**: Broader timeframes defined by years help you evaluate how your strategy performs over multiple market cycles, providing insights into long-term viability and potential weaknesses.
Defining a date range by specifying years allows for more thorough and systematic backtesting, helping traders develop more reliable and effective trading systems.
Alan's Date Range Calculator: A TradingView Pine Script Indicator
Purpose
This Pine Script indicator calculates and displays a date range for backtesting trading strategies. It allows users to specify the number of years to analyze and an end date, then calculates the corresponding start date. Most importantly, users can copy the inputs and function into their own strategies to quickly add a time span feature for backtesting.
Key Features
User-defined input for the number of years to analyze
Customizable end date with a calendar input
Automatic calculation of the start date
Visual display of both start and end dates on the chart
How It Works
User Inputs
Years of Data to Process: An integer input allowing users to specify the number of years for analysis (default: 20, range: 1-100)
End Date: A calendar input for selecting the end date of the analysis period (default: December 31, 2024)
Date Calculation
The script uses a custom function calcStartDate() to determine the start date. It subtracts the specified number of years from the end date's year and sets the start date to January 1st of that year.
Visual Output
The indicator displays two labels on the chart:
Start Date Label: Shows the calculated start date
End Date Label: Displays the user-specified end date
Both labels are positioned horizontally at the bottom of the chart, with the end date label to the right of the start date label.
Applications
This indicator is particularly useful for traders who want to:
Define specific date ranges for backtesting strategies
Quickly visualize the time span of their analysis
Ensure consistent testing periods across different strategies or assets
Customization
Users can easily adjust the analysis period by changing the number of years or selecting a different end date. This flexibility allows for testing strategies across various market conditions and time frames.
Rate of Change of OBV with RSI ColorThis indicator combines three popular tools in technical analysis : On-Balance Volume (OBV), Rate of Change (ROC), and Relative Strength Index (RSI). It aims to monitor momentum and potential trend reversals based on volume and price changes.
Calculation:
ROC(OBV) = ((OBV(today) - OBV(today - period)) / OBV(today - period)) * 100
This calculates the percentage change in OBV over a specific period. A positive ROC indicates an upward trend in volume, while a negative ROC suggests a downward trend.
What it Monitors:
OBV: Tracks the volume flow associated with price movements. Rising OBV suggests buying pressure, while falling OBV suggests selling pressure.
ROC of OBV:
Measures the rate of change in the OBV, indicating if the volume flow is accelerating or decelerating.
RSI: Measures the strength of recent price movements, indicating potential overbought or oversold conditions.
How it can be Used:
Identifying Trend Continuation: Rising ROC OBV with a rising RSI might suggest a continuation of an uptrend, especially if the color is lime (RSI above 60).
Identifying Trend Reversal: Falling ROC OBV with a declining RSI might suggest a potential trend reversal, especially if the color approaches blue (RSI below 40).
Confirmation with Threshold: The horizontal line (threshold) can be used as a support or resistance level. Bouncing ROC OBV off the threshold with a color change could suggest a pause in the trend but not necessarily a reversal.
When this Indicator is Useful:
This indicator can be useful for assets with strong volume activity, where tracking volume changes provides additional insights.
It might be helpful during periods of consolidation or trend continuation to identify potential breakouts or confirmations.