Ultra Liquidity HeatmapThe Ultra Liquditiy Heatmap is a unique visualization tool designed to map out areas of high liquidity on the chart using a dynamic heatmap, helping traders identify significant price zones effectively.
Introduction
The Ultra Liquidity Heatmap is an advanced indicator for visualizing key liquidity areas on your chart. Whether you're a scalper, swing trader, or long-term investor, understanding liquidity dynamics can offer a powerful edge in market analysis. This tool provides a straightforward visual representation of these zones directly on your chart.
Detailed Description
The Ultra Liquidity Heatmap identifies high and low liquidity zones by dynamically marking price ranges with heatmap-like boxes.
.........
Dynamic Zone Creation
For low liquidity zones, the script draws boxes extending from the low to the high of the bar. If the price breaks below a previously defined zone, that box is removed.
Similarly, for high liquidity zones, the script tracks and highlights price ranges above the current high, removing boxes if the price exceeds the zone.
.....
Customizable Visuals
Users can adjust the transparency and color of the heatmap, tailoring the visualization to their preference.
.....
Real-Time Updates
The indicator constantly updates as new price data comes in, ensuring that the heatmap reflects the most current liquidity zones.
.....
Efficiency and Scalability
The script uses optimized arrays and a maximum box limit of 500 to ensure smooth performance even on higher timeframes or during high-volatility periods.
.........
The Ultra Liquidity Heatmap bridges the gap between raw price data and actionable market insight. Add it to your toolbox and elevate your trading strategy today!
지표 및 전략
Weis Wave Max█ Overview
Weis Wave Max is the result of my weis wave study.
David Weis said,
"Trading with the Weis Wave involves changes in behavior associated with springs, upthrusts, tests of breakouts/breakdowns, and effort vs reward. The most common setup is the low-volume pullback after a bullish/bearish change in behavior."
THE STOCK MARKET UPDATE (February 24, 2013)
I inspired from his sentences and made this script.
Its Main feature is to identify the largest wave in Weis wave and advantageous trading opportunities.
█ Features
This indicator includes several features related to the Weis Wave Method.
They help you analyze which is more bullish or bearish.
Highlight Max Wave Value (single direction)
Highlight Abnormal Max Wave Value (both directions)
Support and Resistance zone
Signals and Setups
█ Usage
Weis wave indicator displays cumulative volume for each wave.
Wave volume is effective when analyzing volume from VSA (Volume Spread Analysis) perspective.
The basic idea of Weis wave is large wave volume hint trend direction. This helps identify proper entry point.
This indicator highlights max wave volume and displays the signal and then proper Risk Reward Ratio entry frame.
I defined Change in Behavior as max wave volume (single direction).
Pullback is next wave that does not exceed the starting point of CiB wave (LH sell entry, HL buy entry).
Change in Behavior Signal ○ appears when pullback is determined.
Change in Behavior Setup (Entry frame) appears when condition of Min/Max Pullback is met and follow through wave breaks end point of CiB wave.
This indicator has many other features and they can also help a user identify potential levels of trade entry and which is more bullish or bearish.
In the screenshot below we can see wave volume zones as support and resistance levels. SOT and large wave volume /delta price (yellow colored wave text frame) hint stopping action.
█ Settings
Explains the main settings.
-- General --
Wave size : Allows the User to select wave size from ① Fixed or ② ATR. ② ATR is Factor x ATR(Length).
Display : Allows the User to select how many wave text and zigzag appear.
-- Wave Type --
Wave type : Allows the User to select from Volume or Volume and Time.
Wave Volume / delta price : Displays Wave Volume / delta price.
Simplified value : Allows the User to select wave text display style from ① Divisor or ② Normalized. Normalized use SMA.
Decimal : Allows the User to select the decimal point in the Wave text.
-- Highlight Abnormal Wave --
Highlight Max Wave value (single direction) : Adds marks to the Wave text to highlight the max wave value.
Lookback : Allows the User to select how many waves search for the max wave value.
Highlight Abnormal Wave value (both directions) : Changes wave text size, color or frame color to highlight the abnormal wave value.
Lookback : Allows the User to select SMA length to decide average wave value.
Large/Small factor : Allows the User to select the threshold large wave value and small wave value. Average wave value is 1.
delta price : Highlights large delta price by large wave text size, small by small text size.
Wave Volume : Highlights large wave volume by yellow colored wave text, small by gray colored.
Wave Volume / delta price : highlights large Wave Volume / delta price by yellow colored wave text frame, small by gray colored.
-- Support and Resistance --
Single side Max Wave Volume / delta price : Draws dashed border box from end point of Max wave volume / delta price level.
Single side Max Wave Volume : Draws solid border box from start point of Max wave volume level.
Bias Wave Volume : Draws solid border box from start point of bias wave volume level.
-- Signals --
Bias (Wave Volume / delta price) : Displays Bias mark when large difference in wave volume / delta price before and after.
Ratio : Decides the threshold of become large difference.
3Decrease : Displays 3D mark when a continuous decrease in wave volume.
Shortening Of the Thrust : Displays SOT mark when a continuous decrease in delta price.
Change in Behavior and Pullback : Displays CiB mark when single side max wave volume and pullback.
-- Setups --
Change in Behavior and Pullback and Breakout : Displays entry frame when change in behavior and pullback and then breakout.
Min / Max Pullback : Decides the threshold of min / max pullback.
If you need more information, please read the indicator's tooltip.
█ Conclusion
Weis Wave is powerful interpretation of volume and its tell us potential trend change and entry point which can't find without weis wave.
It's not the holy grail, but improve your chart reading skills and help you trade rationally (at least from VSA perspective).
Kalman Trend Strength Index (K-TSI)The Kalman Trend Strength Index (K-TSI) is an innovative technical indicator that combines the Kalman filter with correlation analysis to measure trend strength in financial markets. This sophisticated tool aims to provide traders with a more refined method for trend analysis and market dynamics interpretation.
The use of the Kalman filter is a key feature of the K-TSI. This advanced algorithm is renowned for its ability to extract meaningful signals from noisy data. In financial markets, this translates to smoothing out price action while maintaining responsiveness to genuine market movements. By applying the Kalman filter to price data before performing correlation analysis, the K-TSI potentially offers more stable and reliable trend signals.
The synergy between the Kalman-filtered price data and correlation analysis creates an oscillator that attempts to capture market dynamics more effectively. The correlation component contributes by measuring the strength and consistency of price movements relative to time, while the Kalman filter adds robustness by reducing the impact of market noise. Basing these calculations on Kalman-filtered data may help reduce false signals and provide a clearer picture of underlying market trends.
A notable aspect of the K-TSI is its normalization process. This approach adjusts the indicator's values to a standardized range (-1 to 1), allowing for consistent interpretation across different market conditions and timeframes. This flexibility, combined with the noise-reduction properties of the Kalman filter, positions the K-TSI as a potentially useful tool for various market environments.
In practice, traders might find that the K-TSI offers several potential benefits:
Smoother trend identification, which could aid in detecting the start and end of trends more accurately.
Possibly reduced false signals, particularly in choppy or volatile markets.
Potential for improved trend strength assessment, which might lead to more confident trading decisions.
Consistent performance across different timeframes, due to the adaptive nature of the Kalman filter and the normalization process.
The K-TSI's visual representation as a color-coded histogram further enhances its utility. The changing colors and intensities provide an intuitive way to gauge both the direction and strength of trends, making it easier for traders to quickly assess market conditions.
While the K-TSI builds upon existing concepts in technical analysis, its integration of the Kalman filter with correlation analysis offers traders an interesting tool for market analysis. It represents an attempt to address common challenges in technical analysis, such as noise reduction and trend strength quantification.
As with any technical indicator, the K-TSI should be used as part of a broader trading strategy rather than in isolation. Its effectiveness will depend on how well it aligns with a trader's individual approach and market conditions. For traders looking to explore a more refined trend strength oscillator, the Kalman Trend Strength Index could be a worthwhile addition to their analytical toolkit.
COT Report Indicator with Selectable Data TypeOverview
The COT Report Indicator with Selectable Data Types is a powerful tool for traders who want to gain deeper insights into market sentiment using the Commitment of Traders (COT) data. This indicator allows you to visualize the net positions of different participant categories—Commercial, Noncommercial, and Nonreportable—directly on your chart.
The indicator is fully customizable, allowing you to select the type of data to display, sync with your chart's timeframe, or choose a custom timeframe. Whether you're analyzing gold, crude oil, indices, or forex pairs, this indicator adapts seamlessly to your trading needs.
Features
Dynamic Data Selection:
Choose between Commercial, Noncommercial, or Nonreportable data types.
Analyze the net positions of market participants for more informed decision-making.
Flexible Timeframes:
Sync with the chart's timeframe for quick analysis.
Select a custom timeframe to view COT data at your preferred granularity.
Wide Asset Coverage:
Supports various assets, including gold, silver, crude oil, indices, and forex pairs.
Automatically adjusts to the ticker you're analyzing.
Clear Visual Representation:
Displays Net Long, Net Short, and Net Difference (Long - Short) positions with distinct colors for easy interpretation.
Error Handling:
Alerts you if the symbol is unsupported, ensuring you know when COT data isn't available for a specific asset.
How to Use
Add the Indicator:
Click "Indicators" in TradingView and search for "COT Report Indicator with Selectable Data Types."
Add it to your chart.
Customize the Settings:
Data Type: Choose between Commercial, Noncommercial, or Nonreportable positions.
Data Source: Select "Futures Only" or "Futures and Options."
Timeframe: Sync with the chart's timeframe or specify a custom one (e.g., weekly, monthly).
Interpret the Data:
Green Line: Net Long Positions.
Red Line: Net Short Positions.
Black Line: Net Difference (Long - Short).
Supported Symbols:
Gold, Silver, Crude Oil, Natural Gas, Forex Pairs, S&P 500, US30, NAS100, and more.
Who Can Benefit
Trend Followers: Identify the buying/selling trends of Commercial and Noncommercial participants.
Sentiment Analysts: Understand shifts in sentiment among major market players.
Long-Term Traders: Use COT data to confirm or contradict your fundamental analysis.
Example Use Case
For example, if you're trading gold (XAUUSD) and select Noncommercial Positions, you’ll see the long and short positions of speculators. An increase in net long positions may signal bullish sentiment, while an increase in net short positions may indicate bearish sentiment.
If you switch to Commercial Positions, you'll get insights into how hedgers and institutions are positioning themselves, helping you confirm or counterbalance your current trading strategy.
Limitations
The indicator only works with supported symbols (COT data availability is limited to specific assets).
The COT data is updated weekly, so it is not suitable for short-term intraday trading.
Precision Swing Point V2.0 - [Gozlan]"Precision Swing Point V2.0," is well-structured and aims to highlight specific conditions in the chart while factoring in time zones and user configurations. Here's a quick breakdown and a couple of improvements or fixes to consider:
Key Features:
Multi-Symbol Analysis:
Incorporates three symbols (Symbol 1, Symbol 2, and Symbol 3) and compares their open/close values to derive candle states (green/red).
Highlighting Conditions:
Green: When Symbol 2 is red and Symbol 1 is green.
Red: When Symbol 2 is green and Symbol 1 is red.
Blue: When Symbol 3 is green and Symbol 1 is red.
Custom Time Highlights:
Allows users to specify times for highlighting specific bars.
Timezone Flexibility:
Time calculations adjust based on user-defined UTC offsets.
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.
Edwin K Stochastic Candle ColorsThe Stochastic Candle Colors indicator highlights price action using candle colors based on signals from the stochastic oscillator. Here's how to use it:
1. Indicator Purpose
This indicator overlays on your price chart and changes candle colors based on stochastic oscillator signals:
Green candles: Indicate a bullish signal when the %K line crosses above the %D line in an oversold area (below 20).
Red candles: Indicate a bearish signal when the %K line crosses below the %D line in an overbought area (above 80).
2. How to Use the Inputs
K (periodK): The lookback period for calculating the %K line of the stochastic oscillator. A smaller value makes the indicator more sensitive to price changes.
D (periodD): The period for smoothing the %K line to get the %D line. A larger value creates smoother signals but may result in delays.
Smooth (smoothK): The additional smoothing applied to the %K line before calculating the %D line. This helps reduce noise.
3. How to Interpret the Candle Colors
Green Candle:
Occurs when the %K line crosses above the %D line in the oversold zone (below 20).
Signals a potential bullish reversal.
Red Candle:
Occurs when the %K line crosses below the %D line in the overbought zone (above 80).
Signals a potential bearish reversal.
No Color:
No crossover occurs, or the crossover doesn't happen in overbought/oversold zones.
4. Application in Trading
Entry Points:
Buy when you see a green candle and confirm with other indicators or chart patterns.
Sell when you see a red candle and confirm with additional signals.
Trend Context:
Combine this indicator with trend-following tools like moving averages or support/resistance levels to improve accuracy.
Stop Loss/Take Profit:
Use nearby swing highs/lows for stop-loss placement.
Set profit targets based on risk-reward ratios or key levels.
5. Customization
Adjust the input parameters (K, D, and Smooth) to align the indicator's sensitivity with your trading style:
Short-term traders might prefer lower values for quicker signals.
Long-term traders might opt for higher values for smoother, more reliable signals.
6. Limitations
Signals in isolation might not be reliable. Always use this indicator in conjunction with other tools.
Avoid using during low volatility or sideways markets as stochastic oscillators can produce false signals.
Weekly H/L DOTWThe Weekly High/Low Day Breakdown indicator provides a detailed statistical analysis of the days of the week (Monday to Sunday) on which weekly highs and lows occur for a given timeframe. It helps traders identify recurring patterns, correlations, and tendencies in price behavior across different days of the week. This can assist in planning trading strategies by leveraging day-specific patterns.
The indicator visually displays the statistical distribution of weekly highs and lows in an easy-to-read tabular format on your chart. Users can customize how the data is displayed, including whether the table is horizontal or vertical, the size of the text, and the position of the table on the chart.
Key Features:
Weekly Highs and Lows Identification:
Tracks the highest and lowest price of each trading week.
Records the day of the week on which these events occur.
Customizable Table Layout:
Option to display the table horizontally or vertically.
Text size can be adjusted (Small, Normal, or Large).
Table position is customizable (top-right, top-left, bottom-right, or bottom-left of the chart).
Flexible Value Representation:
Allows the display of values as percentages or as occurrences.
Default setting is occurrences, but users can toggle to percentages as needed.
Day-Specific Display:
Option to hide Saturday or Sunday if these days are not relevant to your trading strategy.
Visible Date Range:
Users can define a start and end date for the analysis, focusing the results on a specific period of interest.
User-Friendly Interface:
The table dynamically updates based on the selected timeframe and visibility of the chart, ensuring the displayed data is always relevant to the current context.
Adaptable to Custom Needs:
Includes all-day names from Monday to Sunday, but allows for specific days to be excluded based on the user’s preferences.
Indicator Logic:
Data Collection:
The indicator collects daily high, low, day of the week, and time data from the selected ticker using the request.security() function with a daily timeframe ('D').
Weekly Tracking:
Tracks the start and end times of each week.
During each week, it monitors the highest and lowest prices and the days they occurred.
Weekly Closure:
When a week ends (detected by Sunday’s daily candle), the indicator:
Updates the statistics for the respective days of the week where the weekly high and low occurred.
Resets tracking variables for the next week.
Visible Range Filter:
Only processes data for weeks that fall within the visible range of the chart, ensuring the table reflects only the visible portion of the chart.
Statistical Calculations:
Counts the number of weekly highs and lows for each day.
Calculates percentages relative to the total number of weeks in the visible range.
Dynamic Table Display:
Depending on user preferences, displays the data either horizontally or vertically.
Formats the table with proper alignment, colors, and text sizes for easy readability.
Custom Value Representation:
If set to "percentages," displays the percentage of weeks a high/low occurred on each day.
If set to "occurrences," displays the raw count of weekly highs/lows for each day.
Input Parameters:
High Text Color:
Color for the text in the "Weekly High" row or column.
Low Text Color:
Color for the text in the "Weekly Low" row or column.
High Background Color:
Background color for the "Weekly High" row or column.
Low Background Color:
Background color for the "Weekly Low" row or column.
Table Background Color:
General background color for the table.
Hide Saturday:
Option to exclude Saturday from the analysis and table.
Hide Sunday:
Option to exclude Sunday from the analysis and table.
Values Format:
Dropdown menu to select "percentages" or "occurrences."
Default value: "occurrences."
Table Position:
Dropdown menu to select the table position on the chart: "top_right," "top_left," "bottom_right," "bottom_left."
Default value: "top_right."
Text Size:
Dropdown menu to select text size: "Small," "Normal," "Large."
Default value: "Normal."
Vertical Table Format:
Checkbox to toggle the table layout:
Checked: Table displays days vertically, with Monday at the top.
Unchecked: Table displays days horizontally.
Start Date:
Allows users to specify the starting date for the analysis.
End Date:
Allows users to specify the ending date for the analysis.
Use Cases:
Day-Specific Pattern Recognition:
Identify if specific days, such as Monday or Friday, are more likely to form weekly highs or lows.
Seasonal Analysis:
Use the start and end date filters to analyze patterns during specific trading seasons.
Strategy Development:
Plan day-based entry and exit strategies by identifying recurring patterns in weekly highs/lows.
Historical Review:
Study historical data to understand how market behavior has changed over time.
TradingView TOS Compliance Notes:
Originality:
This script is uniquely designed to provide day-based statistics for weekly highs and lows, which is not a common feature in other publicly available indicators.
Usefulness:
Offers practical insights for traders interested in understanding day-specific price behavior.
Detailed Description:
Fully explains the purpose, features, logic, input settings, and use cases of the indicator.
Includes clear and concise details on how each input works.
Clear Input Descriptions:
All input parameters are clearly named and explained in the script and this description.
No Redundant Functionality:
Focused specifically on tracking weekly highs and lows, ensuring the indicator serves a distinct purpose without unnecessary features.
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!
ADX and DI Trend meter and status table IndicatorThis ADX (Average Directional Index) and DI (Directional Indicator) indicator helps identify:
Trend Direction & Strength:
LONG: +DI above -DI with ADX > 20
SHORT: -DI above +DI with ADX > 20
RANGE: ADX < 20 indicates choppy/sideways market
Trading Signals:
Bullish: +DI crosses above -DI (green triangle)
Bearish: -DI crosses below +DI (red triangle)
ADX Strength Levels:
Strong: ADX ≥ 50
Moderate: ADX 30-49
Weak: ADX 20-29
No Trend: ADX < 20
Best Uses:
Trend confirmation before entering trades
Identifying ranging vs trending markets
Exit signal when trend weakens
Works well on multiple timeframes
Most effective in combination with other indicators
The table displays current trend direction and ADX strength in real-time
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.
∞
NextBarColorNextBarColor
This is two-bars pattern search/matching indicator.
This indicator compares multiple values:
current bar high with previous bar open
current bar high with previous bar close
current bar high with previous bar high
current bar high with previous bar low
current bar low with previous bar open
current bar low with previous bar close
current bar low with previous bar high
current bar low with previous bar low
current bar close/current_price with previous bar high
current bar close/current_price with previous bar low
current bar close/current_price with previous bar open
current bar close/current_price with previous bar close
and searches for the same combination of 2 bars (current and previous) in the past.
Then shows as % value how many times the next bar went up or down.
Grey bar compares ups and downs with all results, including cases when price did not move.
My testing is showing better results when current and previous bars colors are also used in the search.
Weekly Bullish Pattern DetectorThis script is a TradingView Pine Script designed to detect a specific bullish candlestick pattern on the weekly chart. Below is a detailed breakdown of its components:
1. Purpose
The script identifies a four-candle bullish pattern where:
The first candle is a long green (bullish) candlestick.
The second and third candles are small-bodied candles, signifying consolidation or indecision.
The fourth candle is another long green (bullish) candlestick.
When this pattern is detected, the script:
Marks the chart with a visual label.
Optionally triggers an alert to notify the trader.
2. Key Features
Overlay on Chart:
indicator("Weekly Bullish Pattern Detector", overlay=true) ensures the indicator draws directly on the price chart.
Customizable Inputs:
length (Body Size Threshold):
Defines the minimum percentage of the total range that qualifies as a "long" candle body (default: 14%).
smallCandleThreshold (Small Candle Body Threshold):
Defines the maximum percentage of the total range that qualifies as a "small" candle body (default: 10%).
Candlestick Property Calculations:
bodySize: Measures the absolute size of the candle body (close - open).
totalRange: Measures the total high-to-low range of the candle.
bodyPercentage: Calculates the proportion of the body size relative to the total range ((bodySize / totalRange) * 100).
isGreen and isRed: Identify bullish (green) or bearish (red) candles based on their open and close prices.
Pattern Conditions:
longGreenCandle:
Checks if the candle is bullish (isGreen) and its body percentage exceeds the defined length threshold.
smallCandle:
Identifies small-bodied candles where the body percentage is below the smallCandleThreshold.
consolidation:
Confirms the second and third candles are both small-bodied (smallCandle and smallCandle ).
Bullish Pattern Detection:
bullishPattern:
Detects the full four-candle sequence:
The first candle (longGreenCandle ) is a long green candle.
The second and third candles (consolidation) are small-bodied.
The fourth candle (longGreenCandle) is another long green candle.
Visualization:
plotshape(bullishPattern):
Draws a green label ("Pattern") below the price chart whenever the pattern is detected.
Alert Notification:
alertcondition(bullishPattern):
Sends an alert with the message "Bullish Pattern Detected on Weekly Chart" whenever the pattern is found.
3. How It Works
Evaluates Candle Properties:
For each weekly candle, the script calculates its size, range, and body percentage.
Identifies Each Component of the Pattern:
Checks for a long green candle (first and fourth).
Verifies the presence of two small-bodied candles (second and third).
Detects and Marks the Pattern:
Confirms the sequence and marks the chart with a label if the pattern is complete.
Sends Alerts:
Notifies the trader when the pattern is detected.
4. Use Cases
This script is ideal for:
Swing Traders:
Spotting weekly patterns that indicate potential bullish continuations.
Breakout Traders:
Identifying consolidation zones followed by upward momentum.
Pattern Recognition:
Automatically detecting a commonly used bullish formation.
5. Key Considerations
Timeframe: Works best on weekly charts.
Customization: The thresholds for "long" and "small" candles can be adjusted to suit different markets or volatility levels.
Limitations:
It doesn't confirm the pattern's success; further analysis (e.g., volume, support/resistance levels) may be required for validation
Triple CCI Strategy MFI Confirmed [Skyrexio]Overview
Triple CCI Strategy MFI Confirmed leverages 3 different periods Commodity Channel Index (CCI) indicator in conjunction Money Flow Index (MFI) and Exponential Moving Average (EMA) to obtain the high probability setups. Fast period CCI is used for having the high probability to enter in the direction of short term trend, middle and slow period CCI are used for confirmation, if market now likely in the mid and long-term uptrend. MFI is used to confirm trade with the money inflow/outflow with the high probability. EMA is used as an additional trend filter. Moreover, strategy uses exponential moving average (EMA) to trail the price when it reaches the specific level. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Four layers trade filtering system: Strategy utilizes two different period CCI indicators, MFI and EMA indicators to confirm the signals produced by fast period CCI.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
Fast period CCI shall crossover the zero-line.
Slow and Middle period CCI shall be above zero-lines.
Price shall close above the EMA. Crossover is not obligatory
MFI shall be above 50
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
CCI Fast Length (by default = 14, used for calculation short term period CCI)
CCI Middle Length (by default = 25, used for calculation short term period CCI)
CCI Slow Length (by default = 50, used for calculation long term period CCI)
MFI Length (by default = 14, used for calculation MFI
EMA Length (by default = 50, period of EMA, used for trend filtering EMA calculation)
Trailing EMA Length (by default = 20)
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is CCI, MFI and EMA.
The Commodity Channel Index (CCI) is a momentum-based technical indicator that measures the deviation of a security's price from its average price over a specific period. It helps traders identify overbought or oversold conditions and potential trend reversals.
The CCI formula is:
CCI = (Typical Price − SMA) / (0.015 × Mean Deviation)
Typical Price (TP): This is calculated as the average of the high, low, and closing prices for the period.
Simple Moving Average (SMA): This is the average of the Typical Prices over a specific number of periods.
Mean Deviation: This is the average of the absolute differences between the Typical Price and the SMA.
The result is a value that typically fluctuates between +100 and -100, though it is not bounded and can go higher or lower depending on the price movement.
The Money Flow Index (MFI) is a technical indicator that measures the strength of money flowing into and out of a security. It combines price and volume data to assess buying and selling pressure and is often used to identify overbought or oversold conditions. The formula for MFI involves several steps:
1. Calculate the Typical Price (TP):
TP = (high + low + close) / 3
2. Calculate the Raw Money Flow (RMF):
Raw Money Flow = TP × Volume
3. Determine Positive and Negative Money Flow:
If the current TP is greater than the previous TP, it's Positive Money Flow.
If the current TP is less than the previous TP, it's Negative Money Flow.
4. Calculate the Money Flow Ratio (MFR):
Money Flow Ratio = Sum of Positive Money Flow (over n periods) / Sum of Negative Money Flow (over n periods)
5. Calculate the Money Flow Index (MFI):
MFI = 100 − (100 / (1 + Money Flow Ratio))
MFI above 80 can be considered as overbought, below 20 - oversold.
The Exponential Moving Average (EMA) is a type of moving average that places greater weight and significance on the most recent data points. It is widely used in technical analysis to smooth price data and identify trends more quickly than the Simple Moving Average (SMA).
Formula:
1. Calculate the multiplier
Multiplier = 2 / (n + 1) , Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
This strategy leverages Fast period CCI, which shall break the zero line to the upside to say that probability of short term trend change to the upside increased. This zero line crossover shall be confirmed by the Middle and Slow periods CCI Indicators. At the moment of breakout these two CCIs shall be above 0, indicating that there is a high probability that price is in middle and long term uptrend. This approach increases chances to have a long trade setup in the direction of mid-term and long-term trends when the short-term trend starts to reverse to the upside.
Additionally strategy uses MFI to have a greater probability that fast CCI breakout is confirmed by this indicator. We consider the values of MFI above 50 as a higher probability that trend change from downtrend to the uptrend is real. Script opens long trades only if MFI is above 50. As you already know from the MFI description, it incorporates volume in its calculation, therefore we have another one confirmation factor.
Finally, strategy uses EMA an additional trend filter. It allows to open long trades only if price close above EMA (by default 50 period). It increases the probability of taking long trades only in the direction of the trend.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements. It’s also important to make a note, that script uses another one EMA (by default = 20 period) as a trailing profit level.
Backtest Results
Operating window: Date range of backtests is 2022.04.01 - 2024.11.25. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 50%
Maximum Single Position Loss: -4.13%
Maximum Single Profit: +19.66%
Net Profit: +5421.21 USDT (+54.21%)
Total Trades: 108 (44.44% win rate)
Profit Factor: 2.006
Maximum Accumulated Loss: 777.40 USDT (-7.77%)
Average Profit per Trade: 50.20 USDT (+0.85%)
Average Trade Duration: 44 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
ICT FVG [TheFundedRoad]This indicator shows you all ICT Fair value gaps on chart with midpoint line
Fair value gap is a gap in a set of 3 candles, in a bullish FVG you have 1st candle high being lower than third candle low, and in a bearish FVG you have first candle low higher than third candle high, thats how this indicator finds these fair value gaps
It draws the fair value gap from the 2nd candle forward
You can customize the color and if you want to see the midpoint or not, midpoint is 50% of the gap
Confluence ChecklistHOW DOES IT WORK?
The "Confluence Checklist" indicator helps you to stick to your trading plan with your set rules. You have a total of 8 rules that can be set up manually. Using the checkbox, you can check during trading whether your rules are followed or not. You can change the colors of the table on the one hand, and the size and width of the table columns on the other.
█ WHAT MAKES IT UNIQUE?
It is the only checklist indicator on Tradingview that has an integrated checkbox. Thus, you can always check your trading plan.
█ HOW TO USE IT?
The best way to start is to create your personal trading plan based on your trading strategy. Then you can display the trading plan digitally in Tradingview. This way you don't have to write and check your rules on paper anymore. This is very important for scalping, because sometimes you only have a few seconds left for the execution. After creating the trading plan, you can integrate it into the checklist. Before placing an order, you can check the checklist to see if the trade is really valid.
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!
Pairs trading[Maxxxz7]Pairs Trading
This script is designed to analyze and visualize the divergence or convergence of two selected financial instruments, making it an excellent tool for implementing a pairs trading strategy. Developed for the TradingView platform, it offers extensive customization options for analysis.
Key Features:
Asset Selection:
The first asset can be taken directly from the chart or specified manually.
The second asset is always selected manually.
Data Normalization:
Calculates the percentage change of both assets relative to their initial prices.
Includes an offset for better visual interpretation.
Visualization:
Plots normalized price charts for both assets.
Highlights crossovers between the assets.
Displays the spread (difference between normalized prices) graphically.
Alerts (Works only on the 30-minute timeframe):
Configurable thresholds to trigger alerts (e.g., when the difference is smaller or larger than a set value).
Alerts for crossovers of prices and exponential moving averages (EMA).
Dynamic Labels:
Automatically adds labels to mark key events: crossovers, critical spread values, and current price information.
EMA and Deviation Analysis:
Calculates EMA for each asset.
Alerts for EMA crossovers.
PitchforkLibrary "Pitchfork"
Pitchfork class
method tostring(this)
Converts PitchforkTypes/Fork object to string representation
Namespace types: Fork
Parameters:
this (Fork) : PitchforkTypes/Fork object
Returns: string representation of PitchforkTypes/Fork
method tostring(this)
Converts Array of PitchforkTypes/Fork object to string representation
Namespace types: array
Parameters:
this (array) : Array of PitchforkTypes/Fork object
Returns: string representation of PitchforkTypes/Fork array
method tostring(this, sortKeys, sortOrder)
Converts PitchforkTypes/PitchforkProperties object to string representation
Namespace types: PitchforkProperties
Parameters:
this (PitchforkProperties) : PitchforkTypes/PitchforkProperties object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
Returns: string representation of PitchforkTypes/PitchforkProperties
method tostring(this, sortKeys, sortOrder)
Converts PitchforkTypes/PitchforkDrawingProperties object to string representation
Namespace types: PitchforkDrawingProperties
Parameters:
this (PitchforkDrawingProperties) : PitchforkTypes/PitchforkDrawingProperties object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
Returns: string representation of PitchforkTypes/PitchforkDrawingProperties
method tostring(this, sortKeys, sortOrder)
Converts PitchforkTypes/Pitchfork object to string representation
Namespace types: Pitchfork
Parameters:
this (Pitchfork) : PitchforkTypes/Pitchfork object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
Returns: string representation of PitchforkTypes/Pitchfork
method createDrawing(this)
Creates PitchforkTypes/PitchforkDrawing from PitchforkTypes/Pitchfork object
Namespace types: Pitchfork
Parameters:
this (Pitchfork) : PitchforkTypes/Pitchfork object
Returns: PitchforkTypes/PitchforkDrawing object created
method createDrawing(this)
Creates PitchforkTypes/PitchforkDrawing array from PitchforkTypes/Pitchfork array of objects
Namespace types: array
Parameters:
this (array) : array of PitchforkTypes/Pitchfork object
Returns: array of PitchforkTypes/PitchforkDrawing object created
method draw(this)
draws from PitchforkTypes/PitchforkDrawing object
Namespace types: PitchforkDrawing
Parameters:
this (PitchforkDrawing) : PitchforkTypes/PitchforkDrawing object
Returns: PitchforkTypes/PitchforkDrawing object drawn
method delete(this)
deletes PitchforkTypes/PitchforkDrawing object
Namespace types: PitchforkDrawing
Parameters:
this (PitchforkDrawing) : PitchforkTypes/PitchforkDrawing object
Returns: PitchforkTypes/PitchforkDrawing object deleted
method delete(this)
deletes underlying drawing of PitchforkTypes/Pitchfork object
Namespace types: Pitchfork
Parameters:
this (Pitchfork) : PitchforkTypes/Pitchfork object
Returns: PitchforkTypes/Pitchfork object deleted
method delete(this)
deletes array of PitchforkTypes/PitchforkDrawing objects
Namespace types: array
Parameters:
this (array) : Array of PitchforkTypes/PitchforkDrawing object
Returns: Array of PitchforkTypes/PitchforkDrawing object deleted
method delete(this)
deletes underlying drawing in array of PitchforkTypes/Pitchfork objects
Namespace types: array
Parameters:
this (array) : Array of PitchforkTypes/Pitchfork object
Returns: Array of PitchforkTypes/Pitchfork object deleted
method clear(this)
deletes array of PitchforkTypes/PitchforkDrawing objects and clears the array
Namespace types: array
Parameters:
this (array) : Array of PitchforkTypes/PitchforkDrawing object
Returns: void
method clear(this)
deletes array of PitchforkTypes/Pitchfork objects and clears the array
Namespace types: array
Parameters:
this (array) : Array of Pitchfork/Pitchfork object
Returns: void
PitchforkDrawingProperties
Pitchfork Drawing Properties object
Fields:
extend (series bool) : If set to true, forks are extended towards right. Default is true
fill (series bool) : Fill forklines with transparent color. Default is true
fillTransparency (series int) : Transparency at which fills are made. Only considered when fill is set. Default is 80
forceCommonColor (series bool) : Force use of common color for forks and fills. Default is false
commonColor (series color) : common fill color. Used only if ratio specific fill colors are not available or if forceCommonColor is set to true.
PitchforkDrawing
Pitchfork drawing components
Fields:
medianLine (Line type from Trendoscope/Drawing/2) : Median line of the pitchfork
baseLine (Line type from Trendoscope/Drawing/2) : Base line of the pitchfork
forkLines (array type from Trendoscope/Drawing/2) : fork lines of the pitchfork
linefills (array type from Trendoscope/Drawing/2) : Linefills between forks
Fork
Fork object property
Fields:
ratio (series float) : Fork ratio
forkColor (series color) : color of fork. Default is blue
include (series bool) : flag to include the fork in drawing. Default is true
PitchforkProperties
Pitchfork Properties
Fields:
forks (array) : Array of Fork objects
type (series string) : Pitchfork type. Supported values are "regular", "schiff", "mschiff", Default is regular
inside (series bool) : Flag to identify if to draw inside fork. If set to true, inside fork will be drawn
Pitchfork
Pitchfork object
Fields:
a (chart.point) : Pivot Point A of pitchfork
b (chart.point) : Pivot Point B of pitchfork
c (chart.point) : Pivot Point C of pitchfork
properties (PitchforkProperties) : PitchforkProperties object which determines type and composition of pitchfork
dProperties (PitchforkDrawingProperties) : Drawing properties for pitchfork
lProperties (LineProperties type from Trendoscope/Drawing/2) : Common line properties for Pitchfork lines
drawing (PitchforkDrawing) : PitchforkDrawing object
CandelaCharts - Opening Gap (OG) 📝 Overview
The ICT (Inner Circle Trader) Opening Gap represents the price difference between the previous trading session's closing price and the current session's opening price. This gap serves as a key indicator of market sentiment and can offer valuable clues about the market's potential direction throughout the trading day.
A bullish Opening Gap forms when the market opens higher than the previous session's close, signaling strong buying interest or positive sentiment heading into the new session
A bearish Opening Gap occurs when the market opens lower than the previous session's close, reflecting heightened selling pressure or negative sentiment among market participants
The Opening Gap is significant as it often establishes the market's tone for the trading session. Accurately interpreting this gap enables traders to make informed decisions about when to enter or exit positions. Serving as a gauge of market strength or weakness, the gap provides a clear signal of whether the market is likely to trend upward or downward during the day.
📦 Features
MTF
Mitigation
Consequent Encroachment
Threshold
Hide Overlap
Advanced Styling
⚙️ Settings
Show: Controls whether FVGs are displayed on the chart.
Show Last: Sets the number of FVGs you want to display.
Length: Determines the length of each FVG.
Mitigation: Highlights when an FVG has been touched, using a different color without marking it as invalid.
Timeframe: Specifies the timeframe used to detect FVGs.
Threshold: Sets the minimum gap size required for FVG detection on the chart.
Show Mid-Line: Configures the midpoint line's width and style within the FVG. (Consequent Encroachment - CE)
Show Border: Defines the border width and line style of the FVG.
Hide Overlap: Removes overlapping FVGs from view.
Extend: Extends the FVG length to the current candle.
Elongate: Fully extends the FVG length to the right side of the chart.
⚡️ Showcase
Simple
Mitigated
Bordered
Consequent Encroachment
Extended
🚨 Alerts
This script provides alert options for all signals.
Bearish Signal
A bearish signal is triggered when the price opens lower than the previous session's close.
Bullish Signal
A bullish signal is triggered when the price opens higher than the previous session's close.
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
Kalman Synergy Oscillator (KSO)The Kalman Synergy Oscillator (KSO) is an innovative technical indicator that combines the Kalman filter with two well-established momentum oscillators: the Relative Strength Index (RSI) and Williams %R. This combination aims to provide traders with a more refined tool for market analysis.
The use of the Kalman filter is a key feature of the KSO. This sophisticated algorithm is known for its ability to extract meaningful signals from noisy data. In financial markets, this translates to smoothing out price action while maintaining responsiveness to genuine market movements. By applying the Kalman filter to price data before calculating the RSI and Williams %R, the KSO potentially offers more stable and reliable signals.
The synergy between the Kalman-filtered price data and the two momentum indicators creates an oscillator that attempts to capture market dynamics more effectively. The RSI contributes its strength in measuring the magnitude and speed of price movements, while Williams %R adds sensitivity to overbought and oversold conditions. Basing these calculations on Kalman-filtered data may help reduce false signals and provide a clearer picture of underlying market trends.
A notable aspect of the KSO is its dynamic weighting system. This approach adjusts the relative importance of the RSI and Williams %R based on their current strengths, allowing the indicator to emphasize the most relevant information as market conditions change. This flexibility, combined with the noise-reduction properties of the Kalman filter, positions the KSO as a potentially useful tool for different market conditions.
In practice, traders might find that the KSO offers several potential benefits:
Smoother oscillator movements, which could aid in trend identification and reversal detection.
Possibly reduced whipsaws, particularly in choppy or volatile markets.
Potential for improved divergence detection, which might lead to more timely reversal signals.
Consistent performance across different timeframes, due to the adaptive nature of the Kalman filter.
While the KSO builds upon existing concepts in technical analysis, its integration of the Kalman filter with traditional momentum indicators offers traders an interesting tool for market analysis. It represents an attempt to address common challenges in technical analysis, such as noise reduction and false signal minimization.
As with any technical indicator, the KSO should be used as part of a broader trading strategy rather than in isolation. Its effectiveness will depend on how well it aligns with a trader's individual approach and market conditions. For traders looking to explore a more refined momentum oscillator, the Kalman Synergy Oscillator could be a worthwhile addition to their analytical toolkit.
Triple Smoothed Signals [AlgoAlpha]Introducing the Triple Smoothed Signals indicator by AlgoAlpha, a powerful tool designed to help traders identify trend direction and market momentum with greater accuracy. By applying triple smoothing techniques to your chosen data source, this indicator filters out market noise, allowing you to focus on significant price movements. Perfect for traders looking to enhance their technical analysis and gain an edge in the markets.
Key Features
🎨 Customizable Moving Averages : Choose between EMA, SMA, RMA, or WMA for both the triple smoothing and the signal line to tailor the indicator to your trading style.
🛠 Adjustable Smoothing Lengths : Configure the main smoothing length and signal length to fit different timeframes and market conditions.
🌈 Dynamic Color Fills : Visual gradients and fills highlight trend strength and direction, making chart analysis more intuitive.
🔔 Alerts : Set alerts for bullish and bearish crossover signals to stay ahead of market moves without constant chart monitoring.
📈 Clear Signal Visualization : Bullish and bearish signals are plotted directly on your chart for easy interpretation and timely decision-making.
Quick Guide to Using the Triple Smoothed Signals Indicator
🛠 Add the Indicator : Add the indicator to your TradingView chart by clicking on the star icon to add it to your favorites. Customize the settings such as the main smoothing length, signal length, data source, and moving average types to match your trading strategy.
📊 Market Analysis : Monitor the crossovers between the triple smoothed moving average and the signal line. A bullish signal is generated when the signal line crosses under the triple smoothed MA, indicating a potential upward trend. Conversely, a bearish signal occurs when the signal line crosses over the triple smoothed MA, suggesting a possible downward trend.
🔔 Alerts : Enable notifications for reversal signals and trend shifts to stay informed about market movements without constantly monitoring the chart.
How It Works
The Triple Smoothed Signals indicator enhances trend detection by applying a triple smoothing process to your selected data source using the moving average type of your choice (EMA, SMA, RMA, or WMA). This triple smoothed moving average (v1) effectively reduces short-term fluctuations and noise, revealing the underlying market trend. A signal line (v2) is then calculated by smoothing the triple smoothed MA with a separate moving average, further refining the signal. The indicator calculates the normalized distance between the triple smoothed MA and the signal line over a specified period, which is used to create dynamic color gradients and fills on the chart. These visual elements provide immediate insight into trend strength and direction. Bullish and bearish signals are generated based on the crossovers between the signal line and the triple smoothed MA, and are plotted directly on the chart along with customizable alerts to assist traders in making timely decisions.
ATR% Multiple from Key Moving AverageThis script gives signal when the ATR% multiple from any chosen moving average is beyond the configurable threshold value. This indicator quantifies how extended the stock is from a given key moving average.
A lot of traders use ATR% multiple from 10DMA, 21EMA, 50SMA or 200SMA to determine how extended a stock is and accordingly sell partials or exit. By default the indicator takes 50SMA and when the ATR% multiple is greater than 7 then it gives the signal to take partials. You can back test this indicator with previous trades and determine the ideal threshold for the signal. For small and midcaps a threshold of 7 to 10 ATR% multiples from 50SMA is where partials can be taken while large caps can revert to mean even earlier at 3 to 5 ATR% multiples from 50SMA.
You can modify this script and use it anyway you please as long as you make it opensource on TradingView.