Periodic Activity Tracker [LuxAlgo]The Periodic Activity Tracker tool periodically tracks the cumulative buy and sell volume in a user-defined period and draws the corresponding matching bars and volume delta for each period.
Users can select a predefined aggregation period from the following options: Hourly, Daily, Weekly, and Monthly.
🔶 USAGE
This tool provides a simple and clear way of analyzing volumes for each aggregated period and is made up of the following elements:
Buy and sell volumes by period as red and green lines with color gradient area
Delta (difference) between buy & sell volume for each period
Buy & sell volume bars for each period
Separator between lines and bars, and period tags below each pair of bars for ease of reading
On the chart above we can see all the elements displayed, the volume level on the lines perfectly matches the volume level on the bars for each period.
In this case, the tool has the default settings so the anchor period is set to Daily and we can see how the period tag (each day of the week) is displayed below each pair of bars.
Users can disable the delta display and adjust the bar size.
🔹 Reading The Tool
In trading, assessing the strength of the bulls (buyers) and bears (sellers) is key to understanding the current trading environment. Which side, if any, has the upper hand? To answer this question, some traders look at volume in relation to price.
This tool provides you with a view of buy volume versus sell volume, allowing you to compare both sides of the market.
As with any volume tool, the key is to understand when the forces of the two groups are balanced or unbalanced.
As we can observe on the chart:
NOV '23: Buy volume greater than sell volume, both moving up close together, flat delta. We can see that the price is in range.
DEC '23: Buy volume bigger than Sell volume, both moving up but with a bigger difference, bigger delta than last month but still flat. We can see the price in the range above last month's range.
JAN '24: Buy and sell volume tied together, no delta whatsoever. We can see the price in range but testing above and below last month's range.
FEB '24: Buy volume explodes higher and sell volume cannot keep up, big growing delta. Price explodes higher above last month's range.
Traders need to understand that there is always an equal number of buyers and sellers in a liquid market, the quality here is how aggressive or passive they are. Who is 'attacking' and who is 'defending', who is using market orders to move prices, and who is using limit orders waiting to be filled?
This tool gives you the following information:
Lines: if the top line is green, the buyers are attacking, if it is red, the sellers are attacking.
Delta: represents the difference in their strength, if it is above 0 the buyers are stronger, if it is below 0 the sellers are stronger.
Bars: help you to see the difference in strength between buyers and sellers for each period at a glance.
🔹 Anchor Period
By default, the tool is set to Hourly. However, users can select from a number of predefined time periods.
Depending on the user's selection, the bars are displayed as follows:
Hourly : hours of the current day
Daily : days of the current week
Weekly : weeks of the current month
Monthly : months of the current year
On the chart above we can see the four periods displayed, starting at the top left and moving clockwise we have hourly, daily, weekly, and monthly.
🔶 DETAILS
🔹 Chart TimeFrame
The chart timeframe has a direct impact on the visualization of the tool, and the user should select a chart timeframe that is compatible with the Anchor period in the tool's settings panel.
For the chart timeframe to be compatible it must be less than the Anchor period parameter. If the user selects an incompatible chart timeframe, a warning message will be displayed.
As a rule of thumb, the smaller the chart timeframe, the more data the tool will collect, returning indications for longer-term price variations.
These are the recommended chart timeframes for each period:
Hourly : 5m charts or lower
Daily : 1H charts or lower
Weekly : 4H charts or lower
Monthly : 1D charts or lower
🔹 Warnings
This chart shows both types of warnings the user may receive
At the top, we can see the warning that is given when the 'Bar Width' parameter exceeds the allowed value.
At the bottom is the incompatible chart timeframe warning, which prompts the user to select a smaller chart timeframe or a larger "Anchor Period" parameter.
🔶 SETTINGS
🔹 Data Gathering
Anchor period: Time period representing each bar: hours of the day, days of the week, weeks of the month, and months of the year. The timeframe of the chart must be less than this parameter, otherwise a warning will be displayed.
🔹 Style
Bars width: Size of each bar, there is a maximum limit so a warning will be displayed if it is reached.
Volume color
Delta: Enable/Disable Delta Area Display
Cari dalam skrip untuk "bar"
Machine Learning: Support and Resistance [YinYangAlgorithms]Overview:
Support and Resistance is normally based upon Pivot Points and Highest Highs and Lowest Lows. Many times coders even incorporate Volume, RSI and other factors into the equation. However there may be a downside to doing a pure technical approach based on historical levels. We live in a time where Machine Learning is becoming more and more used; thus we have decided to create a Machine Learning Support and Resistance Projection based Indicator. Rather than using traditional Support and Resistance calculations using historical data, we have taken a rather different approach. This Indicator instead attempts to Predict and Project where Support and Resistance locations will be based on a Machine Learning Model using a form of KNN (k-Nearest Neighbors).
Since this indicator creates a Projection of where it deems Support and Resistance will be, it has the ability to move its Support and Resistance before the price even gets to it if it believes it will surpass its projections. This may create a more accurate placement of Support and Resistance as they’re not based on historical levels.
This Indicator does not Repaint.
How it works:
This Indicator makes its projections based on the source you provide (by default close) of the previous bar and submits the source, RSI and EMA to our Projection Function to get its projection of the current bar.
The Projection function essentially calculates potential movement after finding the differences between the source the MA from the current bar, previous bar and average over the span of Machine Learning Length.
Potential movement is defined as:
Average Difference + Average(Machine Learning Average, Average Last Distance)
Average Difference: (Absolute value of Current Source - Current MA) - (Absolute value of Machine Learning Average - Machine Learning MA)
Average Last Distance: Average(Current Source - Current MA, Previous Source - Previous MA)
It then predicts the next bars directional movement (bullish or bearish bar) using several factors:
Previous Source > Previous MA
Current Source - Current MA > Average Source - Average MA
Current RSI > Previous RSI
Current RSI > 30 and Previous RSI <= 30
Current RSI < 70 and Previous RSI >= 70
This helps us to predict the direction the next bar may move.
We then calculate a multiplier that we apply to our Potential Movement value to get our final result which is our Current Bars Close Projection.
Our multiplier is calculated using:
(Current RSI > 30 and Previous RSI <= 30) OR (Current RSI < 70 and Previous RSI >= 70)
Current Source - Current MA > Previous Source - Previous MA
We then create an array and fill it with the previous X projections (Machine Learning Length) and send it to another function. This function, if told to, will sort the data accordingly and then output the KNN average of the length given.
We calculate and plot various KNN lengths to create different Zones:
Strong Support: Length of 2 but sort the data Ascending (low to high)
Strong Resistance: Length of 2 but sort the data Descending (high to low)
Support: Length of Machine Length Length / 10 or Min of 2 sorted by Ascending
Resistance: Length of Machine Length Length / 10 or Min of 2 sorted by Descending
There are also 4 other plots you may be wondering what they are, there is your AVG, VWMA, Long Term Memory and Current Projection.
By default your Current Projection is disabled in settings but you can enable it if you are curious to see how the projections for each close are calculated. It is, however, not a crucial point of interest (white line).
The average is simply the average value of the Machine Learning Data (purple line).
The VWMA is a VWMA calculation applied to our Data over a length specified in settings (by default 1)(blue line). The VWMA is crucial when combined with the Avg as they can cross over and under each other. These crosses represent potential Bullish and Bearish zones.
Lastly, but certainly not least, we have the Long Term Memory (maroon line). The Long Term Memory can be displayed either as an ‘Average’, ‘Hard Line’ or ‘None’. The Long Term Average is only updated every Machine Learning Length Bar Index’s and is populated with the average of the Machine Learning Data. For Instance, if Machine Learning Length is set to 100, the Long Term Memory is only updated every 100 bars, and since its length is the same as the Machine Learning Length, that means its data is composed of 10,000 bars worth of data. The Long Term Memory may be very beneficial for determining where Support and Resistance lie over the Long Term within a Machine Learning Algorithm. When set to ‘Average’ it plots the connection lines diagonally, and although they may be more visually appealing, they’re less useful when it comes to actually seeing support and resistance as generally speaking, support and resistance lie on the horizontal. When set to ‘Hard Line’ the Long Term Memory is connected with hard lines and holds the price value until the next time it is updated. This makes it much more useful for potentially identifying Support and Resistance.
Tutorial:
Here is an overview of what the Indicator looks like, now let's start to dissect it.
In the example above we can see how all of the lines between the Major Support and Resistance zones may act as BOTH Support and Resistance depending on which side the price is currently on. In the circle on the left, we can see how it can fluctuate between the two. If you look at the circle on the right, we can see how the Average line acts as a strong support before it fails to maintain it. Generally speaking, most Support and Resistance locations may potentially fail to hold after 3 tests, as the Average did in this example.
As you can see, the Support and Resistance doesn’t wait to be tested before adjusting, which is why there are 2 lines which create their zones. The inner line is the Support/Resistance and the outer line is the Strong Support/Resistance. The Yellow Circle shows the inner line was able to calculate the moving resistance correctly and then adjusted accordingly as it was projecting the price to keep increasing. However, if you look at the White Circle, you can see that since there was first a crash, and then parabolic movement, that the inner zone could not move and predict the resistance as well as the outer zone could.
We consider the price to be ‘Overvalued’ when it is above the VWMA (blue line) and ‘Undervalued’ when it is below the VWMA. It is considered ‘fair’ price when it is within the VWMA to Average zone (between the blue and purple lines). If you look at the example above, you’ll notice where the two yellow circles are, it is not only considered ‘Overvalued’, but it then proceeds to ride the inner resistance line upwards. This is common when the market is overly bullish and vice versa when it is bearish. Please keep in mind, although it is common, it doesn’t mean a correction can’t happen.
In this example above we look at the last bull run that may have started due to the halving. This bull run was very bullish as you can see in the example above. The price was constantly sitting within the Resistance Zone and the VWMA that was very close to it was constantly acting as a Support. Naturally, due to the Algorithm used in this Indicator, as the momentum starts to slow down, the VWMA (blue line) will start to space out more and more from the Resistance Zone. This doesn’t mean the momentum is gone, it just means it may be slowing down.
Unfortunately we have to study the Bear Market with a different perspective than the Bull Market. However, there are still some similarities within the two. If you refer to the example above and the previous example, you can clearly see that the Bull Market loves to stay with the Resistance Zone and use the VWMA as a Support. However, the Bear Market does not. This is a normal occurrence, however we can see from the example above you may see a correction / horizontal movement when the Outer Support Line is touched. If you look at all 3 yellow circles, the Outer Support Line was touched, then either a small correction or horizontal consolidation occurred.
We will conclude our Tutorial here, hopefully you’ll be able to benefit from a moving Support and Resistance calculated with Machine Learning that projects its locations, rather than using traditional calculations.
Settings:
Source: This source is the base for all our calculations
Machine Learning Length: How much projection data are we storing and using to make calculations.
Smoothing Length: We need to smooth calculations such as RSI, EMA and VWMA. What length are we smoothing it with?
VWMA ML Projection Length: How far into our Machine Learning data should we average for our VWMA. Please note the 'Smoothing Length' is still applied here after getting the Projection Average.
Long Term Memory: Long term memory has the same storage length but is only updated once per Machine Learning Length. For instance, if Machine Learning Length is 100, it will save the Average of our data once every 100 bars. This means its memory is an average of 10,000 bars of Machine Learning. 'Average' connects its values diagonally whereas 'Hard Line' holds its value until it changes.
Use Average Last Distance In Potential Movement: This can help accuracy but generally also displaces the Support and Resistance by projecting it further.
Show Current Projection: Projections occur for each bar, and our Machine Learning utilizes these projections by storing and evaluating them. This toggle will display the Current Projection Line which is used to create all our Projections.
If you have any questions, comments, ideas or concerns please don't hesitate to contact us.
HAPPY TRADING!
Price Delta HeatmapThe Price Delta Heatmap is an indicator designed to visualize the price changes of an asset over time. It helps traders identify and analyze significant price movements and potential volatility. The indicator calculates the price delta, which is the difference between the current close price and the previous close price. It then categorizes the price deltas into different color ranges to create a heatmap-like display on the chart.
The indicator uses user-defined thresholds to determine the color ranges. These thresholds represent the minimum price change required for a specific color to be assigned. The thresholds are adjustable to accommodate different asset classes and trading strategies. Positive price deltas are associated with bullish movements, while negative price deltas represent bearish movements.
The indicator plots bars color-coded according to the price delta range it falls into. The color ranges can be customized to match personal preferences or specific trading strategies. Additionally, the indicator includes signal shapes below the bars to highlight significant positive or negative price deltas. Traders can adjust the threshold values based on their preferred sensitivity to price changes. Higher threshold values may filter out minor price movements and focus on more significant shifts, while lower threshold values will capture even minor fluctuations.
****The default settings have the thresholds set to levels of 100, 50, 20, 10, 0, -10, -20, -50, and -100. These numbers are well-suited for assets such as Ethereum or Bitcoin which are larger in price than an asset that has a price of $1.50, for example. To compensate, adjust the thresholds in the settings to reflect the price delta on the desired asset. All coloration and horizontal line plots will adjust to reflect these changes.****
Traders can interpret the Price Delta Heatmap as follows:
-- Bright green bars indicate the highest positive price deltas, suggesting strong bullish price movements.
-- Green bars represent positive price deltas above the third threshold, indicating significant bullish price changes.
-- Olive bars indicate positive price deltas above the second threshold, suggesting moderate bullish price movements.
-- Yellow bars represent positive price deltas above the lowest threshold, indicating minor bullish price changes. This color is reflected on the negative side as well. Yellow bars below zero indicate negative price deltas below the lowest threshold, suggesting minor bearish price changes.
-- White bars represent zero price deltas, indicating no significant price movement.
-- Orange bars represent negative price deltas below the second threshold, indicating moderate bearish price movements.
-- Red bars indicate negative price deltas below the third threshold, suggesting significant bearish price changes.
-- Maroon bars represent the lowest negative price deltas, indicating strong bearish price movements.
The coloration of the Price Delta line itself is determined by the line's relation to the second positive and second negative thresholds (default +/- 20) - if the line is above the second positive threshold, the line is colored lime (and is reflected in a lime arrow at the bottom of the indicator); if the line is below the second negative threshold, the line is colored fuchsia (also reflected as an arrow); if the line is between thresholds, it is colored aqua.
The Price Delta Heatmap can be used in various trading strategies and applications. Some potential use cases include:
-- Trend identification : The indicator helps traders identify periods of high volatility and potential trend reversals.
-- Volatility analysis : By observing the color changes in the heatmap, traders can gauge the volatility of an asset and adjust their risk management strategies accordingly.
-- Confirmation tool : The indicator can be used as a confirmation tool alongside other technical indicators, such as trend-following indicators or oscillators.
-- Breakout trading : Traders can look for price delta bars of a specific color range to identify potential breakout opportunities.
However, it's important to note that the Price Delta Heatmap has certain limitations. These include:
-- Lagging nature : The indicator relies on historical price data, which means it may not provide real-time insights into price movements.
-- Sensitivity to thresholds : The choice of threshold values affects the indicator's sensitivity and may vary depending on the asset being traded. It requires experimentation and adjustment to find optimal values.
-- Market conditions : The indicator's effectiveness may vary depending on market conditions, such as low liquidity or sudden news events.
Traders should consider using the Price Delta Heatmap in conjunction with other technical analysis tools and incorporate risk management strategies to enhance their trading decisions.
Liquidity Zones[Angel Algo]OVERVIEW
The "Liquidity Zones" indicator is a tool for traders to identify high and low liquidity areas on a chart. The indicator plots the highest and lowest volume levels within a rolling window of a specified period and calculates the corresponding price levels and zones at which those volumes occurred. The calculated areas represent key support and resistance levels in the market.
HOW TO USE
Once added, the indicator will plot the high and low liquidity zones on the chart based on the settings. Users can then adjust the indicator inputs to customize its behavior and appearance. Additionally, users can set up trading alerts based on the indicator's signals by clicking the "Create Alert" button in the alert section of the indicator's settings.
The bar coloring feature helps users identify trends and sideways market conditions. When this feature is enabled, the bars on the chart are colored based on their position relative to the highest volume levels calculated by the indicator. If a bar's closing price is above the zone, the bar is colored green. If the closing price is below the zone, the bar is colored red. If the closing price is between these two levels, the bar is colored blue.
This color-coding makes it easy to quickly identify periods of bullish or bearish momentum in the market. When the bars are mostly green, it suggests that buyers are in control and the market is in an uptrend. Conversely, when the bars are mostly red, it suggests that sellers are in control and the market is in a downtrend. The blue bars, on the other hand, indicate a sideways or consolidating market, where neither buyers nor sellers are clearly in control. These periods can be difficult to trade, as there is often a lack of clear direction in price movements.
When the Support/Resistance coloring feature is enabled, the indicator colors the high liquidity zones based on whether the opening and closing prices of the latest candle are above or below the zone. If the opening and closing prices are both above the high liquidity zone, the zone is colored green, indicating potential support. Conversely, if the opening and closing prices are both below the high liquidity zone, the zone is colored red, indicating potential resistance. If the opening and closing prices are inside the high liquidity zone, the zone is colored blue, indicating a neutral zone where price may continue to oscillate. This feature can help traders identify potential areas of support and resistance, and provide insights into market sentiment.
The indicator also includes trading alerts based on the position of the price relative to the highest volume zones. If the price goes above the zone, the indicator will trigger a bullish signal. If the price goes below the level, the indicator will trigger a bearish signal.
SETTINGS
The indicator has several customizable inputs that allow users to tailor its behavior to their preferences. These inputs include:
Period: The number of bars over which to calculate the highest and lowest volumes. The default value is 20. Recommended value range 10-500.
Bar coloring: Whether to color the bars based on their position relative to the high liquidity zones. The default value is false.
Support/Resistance coloring: Whether the high liquidity zone should be colorized depending on whether the price is above or below it. The default value is false.
Display high liquidity zones: Whether to display the high liquidity zones on the chart. The default value is true.
Display low liquidity levels: Whether to display the low liquidity levels on the chart. The default value is false.
The Strat [LuxAlgo]The Strat indicator is a full toolkit regarding most of the concepts within "The Strat" methodology with features such as candle numbering, pivot machine gun (PMG) highlighting, custom combo highlighting, and various statistics included.
Alerts are also included for the detection of specific candle numbers, custom combos, and PMGs.
🔶 SETTINGS
Show Numbers on Chart: Shows candle numbering on the chart.
Style Candles: Style candles based on the detected number. Only effective on non-line charts and if the script is brought to the front.
🔹 Custom Combo Search
Combo: User defined combo to be searched by the script. Combos can be composed of any series of numbers including (1, 2, -2, 3), e.g : 2-21. No spaces or other characters should be used.
🔹 Pivot Machine Gun
Show Labels: Highlight detected PMGs with a label.
Min Sequence Length: Minimum sequence length of consecutive higher lows/lower highs required to detect a PMG.
Min Breaks: Minimum amount of broken previous highs/lows required to detect a PMG.
Show Levels: Show levels of the broken highs/lows.
🔹 Pivot Combos
Pivot Lookback: Lookback period used for detecting pivot points.
Right Bars Scan: Number of bars scanned to the right side of a detected pivot.
Left Bars Scan: Number of bars scanned to the left side of a detected pivot.
🔹 Dashboard
Show Dashboard: Displays statistics dashboard on chart.
Numbers Counter: Displays the numbers counter section on the dashboard.
Pivot Combos: Displays pivots combo section on the dashboard.
%: Display the percentage of detected pivot combos on the dashboard instead of absolute numbers.
Pivot Combos Rows: Number of rows displayed by the "Pivots Combo" dashboard section.
Show MTF: Showa MTF candle numbering on the dashboard.
Location: Location of the dashboard on the chart.
Size: Size of the displayed dashboard.
🔶 USAGE
This script allows users with an understanding of The Strat to quickly highlight elements such as candle numbers, pivot machine guns, and custom combos. The usage for these concepts is given in the sub-sections below.
🔹 Candle Numbers
The Strat assigns a number to individual candles, this number is determined by the current candle position relative to the precedent candle, these include:
Number 1 - Inside bar, occurs when the previous candle range engulfs the current one.
Number 2 Up - Upside Directional Bar, occurs when the current price high breaks the previous high while the current low is lower than the previous high.
Number 2 Down - Downside Directional Bar, occurs when the current price low breaks the previous low while the current high is higher than the previous low.
Number 3 - Outside bar, occurs when the current candle range engulfs the previous one.
The script can highlight the number of a candle by using labels but can also style candles by depending on the candle number. Inside bars (1) only have their candle wick highlighted, directional bars (2) (-2) only have their candle body highlighted. Outside bars have their candle range highlighted.
Note that downside directional bars are highlighted with the number -2.
Users can see the total amount of times a specific candle number is detected on the historical data on the dashboard available within the settings, as well as the number of times a candle number is detected relative to the total amount of detected candle numbers expressed as a percentage.
It is also possible to see the current candle numbers returned by multiple timeframes on the dashboard.
🔹 Searching For Custom Combos
Combos are made of a sequence of two or more candle numbers. These combos can highlight multiple reversals/continuation scenarios. Various common combos are documented by The Strat community.
This script allows users to search for custom combos by entering them on the Combo user setting field.
When a user combo is found, it is highlighted on the chart as a box highlighting the combo range.
🔹 Pivot Combos
It can be of interest to a user to display the combo associated with a pivot high/low. This script will highlight the location of pivot points on the chart and display its associated combo by default. These are based on the Pivot Combo lookback and not displayed in real-time.
Users can see on the dashboard the combos associated with a pivot high/low, these are ranked by frequency.
🔹 Pivot Machine Gun (PMG)
Pivot Machine Guns (PMG)s describe the scenario where a single price variation breaks the value of multiple past successive higher lows/lower highs. This can highlight a self-exciting behavior, where even more past successive higher lows/lower highs get broken.
Users can select the minimum sequence length of successive higher lows/lower highs required for a PMG to be detected, as well the amount of these successive higher lows/lower highs that must be broken.
Machine Learning: Lorentzian Classification█ OVERVIEW
A Lorentzian Distance Classifier (LDC) is a Machine Learning classification algorithm capable of categorizing historical data from a multi-dimensional feature space. This indicator demonstrates how Lorentzian Classification can also be used to predict the direction of future price movements when used as the distance metric for a novel implementation of an Approximate Nearest Neighbors (ANN) algorithm.
█ BACKGROUND
In physics, Lorentzian space is perhaps best known for its role in describing the curvature of space-time in Einstein's theory of General Relativity (2). Interestingly, however, this abstract concept from theoretical physics also has tangible real-world applications in trading.
Recently, it was hypothesized that Lorentzian space was also well-suited for analyzing time-series data (4), (5). This hypothesis has been supported by several empirical studies that demonstrate that Lorentzian distance is more robust to outliers and noise than the more commonly used Euclidean distance (1), (3), (6). Furthermore, Lorentzian distance was also shown to outperform dozens of other highly regarded distance metrics, including Manhattan distance, Bhattacharyya similarity, and Cosine similarity (1), (3). Outside of Dynamic Time Warping based approaches, which are unfortunately too computationally intensive for PineScript at this time, the Lorentzian Distance metric consistently scores the highest mean accuracy over a wide variety of time series data sets (1).
Euclidean distance is commonly used as the default distance metric for NN-based search algorithms, but it may not always be the best choice when dealing with financial market data. This is because financial market data can be significantly impacted by proximity to major world events such as FOMC Meetings and Black Swan events. This event-based distortion of market data can be framed as similar to the gravitational warping caused by a massive object on the space-time continuum. For financial markets, the analogous continuum that experiences warping can be referred to as "price-time".
Below is a side-by-side comparison of how neighborhoods of similar historical points appear in three-dimensional Euclidean Space and Lorentzian Space:
This figure demonstrates how Lorentzian space can better accommodate the warping of price-time since the Lorentzian distance function compresses the Euclidean neighborhood in such a way that the new neighborhood distribution in Lorentzian space tends to cluster around each of the major feature axes in addition to the origin itself. This means that, even though some nearest neighbors will be the same regardless of the distance metric used, Lorentzian space will also allow for the consideration of historical points that would otherwise never be considered with a Euclidean distance metric.
Intuitively, the advantage inherent in the Lorentzian distance metric makes sense. For example, it is logical that the price action that occurs in the hours after Chairman Powell finishes delivering a speech would resemble at least some of the previous times when he finished delivering a speech. This may be true regardless of other factors, such as whether or not the market was overbought or oversold at the time or if the macro conditions were more bullish or bearish overall. These historical reference points are extremely valuable for predictive models, yet the Euclidean distance metric would miss these neighbors entirely, often in favor of irrelevant data points from the day before the event. By using Lorentzian distance as a metric, the ML model is instead able to consider the warping of price-time caused by the event and, ultimately, transcend the temporal bias imposed on it by the time series.
For more information on the implementation details of the Approximate Nearest Neighbors (ANN) algorithm used in this indicator, please refer to the detailed comments in the source code.
█ HOW TO USE
Below is an explanatory breakdown of the different parts of this indicator as it appears in the interface:
Below is an explanation of the different settings for this indicator:
General Settings:
Source - This has a default value of "hlc3" and is used to control the input data source.
Neighbors Count - This has a default value of 8, a minimum value of 1, a maximum value of 100, and a step of 1. It is used to control the number of neighbors to consider.
Max Bars Back - This has a default value of 2000.
Feature Count - This has a default value of 5, a minimum value of 2, and a maximum value of 5. It controls the number of features to use for ML predictions.
Color Compression - This has a default value of 1, a minimum value of 1, and a maximum value of 10. It is used to control the compression factor for adjusting the intensity of the color scale.
Show Exits - This has a default value of false. It controls whether to show the exit threshold on the chart.
Use Dynamic Exits - This has a default value of false. It is used to control whether to attempt to let profits ride by dynamically adjusting the exit threshold based on kernel regression.
Feature Engineering Settings:
Note: The Feature Engineering section is for fine-tuning the features used for ML predictions. The default values are optimized for the 4H to 12H timeframes for most charts, but they should also work reasonably well for other timeframes. By default, the model can support features that accept two parameters (Parameter A and Parameter B, respectively). Even though there are only 4 features provided by default, the same feature with different settings counts as two separate features. If the feature only accepts one parameter, then the second parameter will default to EMA-based smoothing with a default value of 1. These features represent the most effective combination I have encountered in my testing, but additional features may be added as additional options in the future.
Feature 1 - This has a default value of "RSI" and options are: "RSI", "WT", "CCI", "ADX".
Feature 2 - This has a default value of "WT" and options are: "RSI", "WT", "CCI", "ADX".
Feature 3 - This has a default value of "CCI" and options are: "RSI", "WT", "CCI", "ADX".
Feature 4 - This has a default value of "ADX" and options are: "RSI", "WT", "CCI", "ADX".
Feature 5 - This has a default value of "RSI" and options are: "RSI", "WT", "CCI", "ADX".
Filters Settings:
Use Volatility Filter - This has a default value of true. It is used to control whether to use the volatility filter.
Use Regime Filter - This has a default value of true. It is used to control whether to use the trend detection filter.
Use ADX Filter - This has a default value of false. It is used to control whether to use the ADX filter.
Regime Threshold - This has a default value of -0.1, a minimum value of -10, a maximum value of 10, and a step of 0.1. It is used to control the Regime Detection filter for detecting Trending/Ranging markets.
ADX Threshold - This has a default value of 20, a minimum value of 0, a maximum value of 100, and a step of 1. It is used to control the threshold for detecting Trending/Ranging markets.
Kernel Regression Settings:
Trade with Kernel - This has a default value of true. It is used to control whether to trade with the kernel.
Show Kernel Estimate - This has a default value of true. It is used to control whether to show the kernel estimate.
Lookback Window - This has a default value of 8 and a minimum value of 3. It is used to control the number of bars used for the estimation. Recommended range: 3-50
Relative Weighting - This has a default value of 8 and a step size of 0.25. It is used to control the relative weighting of time frames. Recommended range: 0.25-25
Start Regression at Bar - This has a default value of 25. It is used to control the bar index on which to start regression. Recommended range: 0-25
Display Settings:
Show Bar Colors - This has a default value of true. It is used to control whether to show the bar colors.
Show Bar Prediction Values - This has a default value of true. It controls whether to show the ML model's evaluation of each bar as an integer.
Use ATR Offset - This has a default value of false. It controls whether to use the ATR offset instead of the bar prediction offset.
Bar Prediction Offset - This has a default value of 0 and a minimum value of 0. It is used to control the offset of the bar predictions as a percentage from the bar high or close.
Backtesting Settings:
Show Backtest Results - This has a default value of true. It is used to control whether to display the win rate of the given configuration.
█ WORKS CITED
(1) R. Giusti and G. E. A. P. A. Batista, "An Empirical Comparison of Dissimilarity Measures for Time Series Classification," 2013 Brazilian Conference on Intelligent Systems, Oct. 2013, DOI: 10.1109/bracis.2013.22.
(2) Y. Kerimbekov, H. Ş. Bilge, and H. H. Uğurlu, "The use of Lorentzian distance metric in classification problems," Pattern Recognition Letters, vol. 84, 170–176, Dec. 2016, DOI: 10.1016/j.patrec.2016.09.006.
(3) A. Bagnall, A. Bostrom, J. Large, and J. Lines, "The Great Time Series Classification Bake Off: An Experimental Evaluation of Recently Proposed Algorithms." ResearchGate, Feb. 04, 2016.
(4) H. Ş. Bilge, Yerzhan Kerimbekov, and Hasan Hüseyin Uğurlu, "A new classification method by using Lorentzian distance metric," ResearchGate, Sep. 02, 2015.
(5) Y. Kerimbekov and H. Şakir Bilge, "Lorentzian Distance Classifier for Multiple Features," Proceedings of the 6th International Conference on Pattern Recognition Applications and Methods, 2017, DOI: 10.5220/0006197004930501.
(6) V. Surya Prasath et al., "Effects of Distance Measure Choice on KNN Classifier Performance - A Review." .
█ ACKNOWLEDGEMENTS
@veryfid - For many invaluable insights, discussions, and advice that helped to shape this project.
@capissimo - For open sourcing his interesting ideas regarding various KNN implementations in PineScript, several of which helped inspire my original undertaking of this project.
@RikkiTavi - For many invaluable physics-related conversations and for his helping me develop a mechanism for visualizing various distance algorithms in 3D using JavaScript
@jlaurel - For invaluable literature recommendations that helped me to understand the underlying subject matter of this project.
@annutara - For help in beta-testing this indicator and for sharing many helpful ideas and insights early on in its development.
@jasontaylor7 - For helping to beta-test this indicator and for many helpful conversations that helped to shape my backtesting workflow
@meddymarkusvanhala - For helping to beta-test this indicator
@dlbnext - For incredibly detailed backtesting testing of this indicator and for sharing numerous ideas on how the user experience could be improved.
Electrocardiogram ChartThis is an attempt to develop alternative visualisation of financial charts. This script also makes use of new pine feature types which represents User Defined Object Types. You can refer to below documentation to understand more about this feature:
www.tradingview.com
www.tradingview.com
🎲 Structure of new chart components
🎯Instead of candles/bars, this type of chart contains Electrocardiogram blocks which resembles the heartbeat signals on electrocardiogram.
Body color of the block is defined by the open and close prices of the bar. If close is greater than open, body is green. Otherwise, the body is painted red.
Border color of the block is defined by the close prices of current and previous bar. If the close of current bar is greater than that of last bar, then the border color is green. Otherwise, border color is painted red.
🎯Inside each blocks there will be 5 connecting lines called the signal lines.
open-open
open-firstPeak(high or low of the bar whichever comes first)
firstPeak-secondPeak(high or low of the bar whichever comes last)
secondPeak-close
close-close
🎯 Color of the signal lines are determined by which among the high/low of the bar comes last. If highest part of the bar reached after reaching the lowest part of the bar, then signal lines are coloured green signifying bullish sentiment towards the end of bar. If lowest part of the bar reached after reaching the highest part of the bar, then signal lines are coloured red signifying bearish sentiment towards the end of bar.
Pictorial examples here:
🎲 Limitations with pinescript implementation
Since, pinescript can only use maximum 500 lines and each block will take 1 box and 5 lines, it is not possible to display more than 100 bars.
Each block of new Electrocardiogram chart will take the space of 7 bars of candlestick chart. Due to this, the alignment of regular OHLC candles is not inline with the new chart type. Background highlighting is done for the part of the OHLC candles where Electrocardiogram blocks are plotted so that it helps users to map the bars manually
Thanks to @theheirophant for suggestion of name :)
PowerX by jwitt98This strategy attempts to replicate the PowerX strategy as described in the book by by Markus Heitkoetter
Three indicators are used:
RSI (7) - An RSI above 50 indicates and uptrend. An RSI below 50 indicates a downtrend.
Slow Stochastics (14, 3, 3) - A %K above 50 indicates an uptrend. A %K below 50 indicates a downtrend.
MACD (12, 26, 9) - A MACD above the signal line indicates an uptrend. A MACD below the signal line indicates a downtrend
In addition, multiples of ADR (7) is used for setting the stops and profit targets
Setup:
When all 3 indicators are indicating an uptrend, the OHLC bar is green.
When all 3 indicators are indicating a downtrend, the OHLC bar is red.
When one or more indicators are conflicting, the OHLC bar is black
The basic rules are:
When the OHLC bar is green and the preceding bar is black or Red, enter a long stop-limit order .01 above the high of the first green bar
When the OHLC bar is red and the preceding bar is black or green, enter a short stop-limit order .01 below the low of the first red bar
If a red or black bar is encountered while in a long trade, or a green or black bar for a short trade, exit the trade at the close of that bar with a market order.
Stop losses are set by default at a multiple of 1.5 times the ADR.
Profit targets are set by default at a multiple of 3 times the ADR.
Options:
You can adjust the start and end dates for the trading range
You can configure this strategy for long only, short only, or both long and short.
You can adjust the multiples used to set the stop losses and profit targets.
There is an option to use a money management system very similar to the one described in the PowerX book. Some assumptions had to be made for cases where the equity is underwater as those cases are not clearly defined in the book. There is an option to override this behavior and keep the risk at or above the set point (2% by default), rather than further reduce the risk when equity is underwater. Position sizing is limited when using money management so as not to exceed the current strategy equity. The starting risk can be adjusted from the default of 2%.
Final notes: If you find any errors, have any questions, or have suggestions for improvements, please leave your message in the comments.
Happy trading!
Rollover LTEThis indicator shows where price needs to be and when in order to cause the 20-sma and 50-sma moving averages to change directions. A change in direction requires the slope of a moving average to change from negative to positive or from positive to negative. When a moving average changes direction, it can be said that it has “rolled over” or “rolled up,” with the latter only applying if slope went from negative to positive.
Theory:
In order to solve for the price of the current bar that will cause the moving average to roll up, the slope from the previous bar’s average to the current bar’s average must be set equal to zero which is to say that the averages must be the same.
For the 20-sma, the equation simply stated in words is as follows:
Current MA as a function of current price and previous 19 values = previous MA which is fixed based on previous 20 values
The denominators which are both 20 cancel and the previous 19 values cancel. What’s left is current price on the left side and the value from 20 bars ago on the right.
Current price = value from 20 bars ago
and since the equation was set up for solving for the price of the current bar that will cause the MA to roll over
Rollover price = value from 20 bars ago
This makes plotting rollover price, both current and forecasted, fairly simple, as it’s merely the closing price plotted with an offset to the right the same distance as the moving average length.
Application:
The 20-sma and 50-sma rollover prices are plotted because they are considered to be the two most important moving averages for rollover analysis. Moving average lengths can be modified in the indicator settings. The 20-sma and 20-sma rollover price are both plotted in white and the 50-sma and 50-sma rollover price are both plotted in blue. There are two rollover prices because the 20-sma rollover price is the price that will cause the 20-sma to roll over and the 50-sma rollover price is the price that will cause the 50-sma to roll over. The one that's vertically furthest away from the current price is the one that will cause both to rollover, as should become clearer upon reading the explanation below.
The distance between the current price and the 20-sma rollover price is referred to as the “rollover strength” of the price relative to the 20-sma. A large disparity between the current price and the rollover price suggests bearishness (negative rollover strength) if the rollover price is overhead because price would need to travel all that distance in order to cause the moving average to roll up. If the rollover price and price are converging, as is often the case, a change in moving average and price direction becomes more plausible. The rollover strengths of the 20-sma and 50-sma are added together to calculate the Rollover Strength and if a negative number is the result then the background color of the plot cloud turns red. If the result is positive, it turns green. Rollover Strength is plotted below price as a separate indicator in this publication for reference only and it's not part of this indicator. It does not look much different from momentum indicators. The code is below if anybody wants to try to use it. The important thing is that the distances between the rollover prices and the price action are kept in mind as having shrinking, growing, or neutral bearish and bullish effects on current and forecasted price direction. Trades should not be entered based on cloud colorization changes alone.
If you are about to crash into a wall of the 20-sma rollover price, as is indicated on the chart by the green arrow, you might consider going long so long as the rollover strength, both current and forecasted, of the 50-sma isn’t questionably bearish. This is subject to analysis and interpretation. There was a 20-sma rollover wall as indicated with yellow arrow, but the bearish rollover strength of the 50-sma was growing and forecasted to remain strong for a while at that time so a long entry would have not been suggested by both rollover prices. If you are about to crash into both the 20-sma and 50-sma rollover prices at the same time (not shown on this chart), that’s a good time to place a trade in anticipation of both slopes changing direction. You may, in the case of this chart, see that a 20-sma rollover wall precedes a 50-sma rollover convergence with price and anticipate a cascade which turned out to be the case with this recent NQ rally.
Price exiting the cloud entirely to either the upside or downside has strong implications. When exiting to the downside, the 20-sma and 50-sma have both rolled over and price is below both of them. The same is true for upside exits. Re-entering the cloud after a rally may indicate a reversal is near, especially if the forecasted rollover prices, particularly the 50-sma, agree.
This indicator should be used in conjunction with other technical analysis tools.
Additional Notes:
The original version of this script which will not be published was much heavier, cluttered, and is not as useful. This is the light version, hence the “LTE” suffix.
LTE stands for “long-term evolution” in telecommunications, not “light.”
Bar colorization (red, yellow, and green bars) was added using the MACD Hybrid BSH script which is another script I’ve published.
If you’re not sure what a bar is, it’s the same thing as a candle or a data point on a line chart. Every vertical line showing price action on the chart above is a bar and it is a bar chart.
sma = simple moving average
Rollover Strength Script:
// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © Skipper86
//@version=5
indicator(title="Rollover Strength", shorttitle="Rollover Strength", overlay=false)
source = input.source(close)
length1 = input.int(20, "Length 1", minval=1)
length2 = input.int(50, "Length 2", minval=1)
RolloverPrice1 = source
RolloverPrice2 = source
RolloverStrength1 = source-RolloverPrice1
RolloverStrength2 = source-RolloverPrice2
RolloverStrength = RolloverStrength1 + RolloverStrength2
Color1 = color.rgb(155, 155, 155, 0)
Color2 = color.rgb(0, 0, 200, 0)
Color3 = color.rgb(0, 200, 0, 0)
plot(RolloverStrength, title="Rollover Strength", color=Color3)
hline(0, "Middle Band", color=Color1)
//End of Rollover Strength Script
EMA bands + leledc + bollinger bands trend following strategy v2The basics:
In its simplest form, this strategy is a positional trend following strategy which enters long when price breaks out above "middle" EMA bands and closes or flips short when price breaks down below "middle" EMA bands. The top and bottom of the middle EMA bands are calculated from the EMA of candle highs and lows, respectively.
The idea is that entering trades on breakouts of the high EMAs and low EMAs rather than the typical EMA based on candle closes gives a bit more confirmation of trend strength and minimizes getting chopped up. To further reduce getting chopped up, the strategy defaults to close on crossing the opposite EMA band (ie. long on break above high EMA middle band and close below low EMA middle band).
This strategy works on all markets on all timeframes, but as a trend following strategy it works best on markets prone to trending such as crypto and tech stocks. On lower timeframes, longer EMAs tend to work best (I've found good results on EMA lengths even has high up to 1000), while 4H charts and above tend to work better with EMA lengths 21 and below.
As an added filter to confirm the trend, a second EMA can be used. Inputting a slower EMA filter can ensure trades are entered in accordance with longer term trends, inputting a faster EMA filter can act as confirmation of breakout strength.
Bar coloring can be enabled to quickly visually identify a trend's direction for confluence with other indicators or strategies.
The goods:
Waiting for the trend to flip before closing a trade (especially when a longer base EMA is used) often leaves money on the table. This script combines a number of ways to identify when a trend is exhausted for backtesting the best early exits.
"Delayed bars inside middle bands" - When a number of candle's in a row open and close between the middle EMA bands, it could be a sign the trend is weak, or that the breakout was not the start of a new trend. Selecting this will close out positions after a number of bars has passed
"Leledc bars" - Originally introduced by glaz, this is a price action indicator that highlights a candle after a number of bars in a row close the same direction and result in greatest high/low over a period. It often triggers when a strong trend has paused before further continuation, or it marks the end of a trend. To mitigate closing on false Leledc signals, this strategy has two options: 1. Introducing requirement for increased volume on the Leledc bars can help filter out Leledc signals that happen mid trend. 2. Closing after a number of Leledc bars appear after position opens. These two options work great in isolation but don't perform well together in my testing.
"Bollinger Bands exhaustion bars" - These bars are highlighted when price closes back inside the Bollinger Bands and RSI is within specified overbought/sold zones. The idea is that a trend is overextended when price trades beyond the Bollinger Bands. When price closes back inside the bands it's likely due for mean reversion back to the base EMA in which this strategy will ideally re-enter a position. Since the added RSI requirements often make this indicator too strict to trigger a large enough sample size to backtest, I've found it best to use "non-standard" settings for both the bands and the RSI as seen in the default settings.
"Buy/Sell zones" - Similar to the idea behind using Bollinger Bands exhaustion bars as a closing signal. Instead of calculating off of standard deviations, the Buy/Sell zones are calculated off multiples of the middle EMA bands. When trading beyond these zones and subsequently failing back inside, price may be due for mean reversion back to the base EMA. No RSI filter is used for Buy/Sell zones.
If any early close conditions are selected, it's often worth enabling trade re-entry on "middle EMA band bounce". Instead of waiting for a candle to close back inside the middle EMA bands, this feature will re-enter position on only a wick back into the middle bands as will sometimes happen when the trend is strong.
Any and all of the early close conditions can be combined. Experimenting with these, I've found can result in less net profit but higher win-rates and sharpe ratios as less time is spent in trades.
The deadly:
The trend is your friend. But wouldn't it be nice to catch the trends early? In ranging markets (or when using slower base EMAs in this strategy), waiting for confirmation of a breakout of the EMA bands at best will cause you to miss half the move, at worst will result in getting consistently chopped up. Enabling "counter-trend" trades on this strategy will allow the strategy to enter positions on the opposite side of the EMA bands on either a Leledc bar or Bollinger Bands exhaustion bar. There is a filter requiring either a high/low (for Leledc) or open (for BB bars) outside the selected inner or outer Buy/Sell zone. There are also a number of different close conditions for the counter-trend trades to experiment with and backtest.
There are two ways I've found best to use counter-trend trades
1. Mean reverting scalp trades when a trend is clearly overextended. Selecting from the first 5 counter-trend closing conditions on the dropdown list will usually close the trades out quickly, with less profit but less risk.
2. Trying to catch trends early. Selecting any of the close conditions below the first 5 can cause the strategy to behave as if it's entering into a new trend (from the wrong side).
This feature can be deadly effective in profiting from every move price makes, or deadly to the strategy's PnL if not set correctly. Since counter-trend trades open opposite the middle bands, a stop-loss is recommended to reduce risk. If stop-losses for counter-trend trades are disabled, the strategy will hold a position open often until liquidation in a trending market if th trade is offsides. Note that using a slower base EMA makes counter-trend stop-losses even more necessary as it can reduce the effectiveness of the Buy/Sell zone filter for opening the trades as price can spend a long time trending outside the zones. If faster EMAs (34 and below) are used with "Inner" Buy/Zone filter selected, the first few closing conditions will often trigger almost immediately closing the trade at a loss.
The niche:
I've added a feature to default into longs or shorts. Enabling these with other features (aside from the basic long/short on EMA middle band breakout) tends to break the strategy one way or another. Enabling default long works to simulate trying to acquire more of the asset rather than the base currency. Enabling default short can have positive results for those high FDV, high inflation coins that go down-only for months at a time. Otherwise, I use default short as a hedge for coins that I hold and stake spot. I gain the utility and APR of staking while reducing the risk of holding the underlying asset by maintaining a net neutral position *most* of the time.
Disclaimer:
This script is intended for experimenting and backtesting different strategies around EMA bands. Use this script for your live trading at your own risk. I am a rookie coder, as such there may be errors in the code that cause the strategy to behave not as intended. As far as I can tell it doesn't repaint, but I cannot guarantee that it does not. That being said if there's any question, improvements, or errors you've found, drop a comment below!
Relative Strength Index (OSC)Hello everyone, I'm sorry that the previous open-source version was hidden due to the house rules, I've re-edited the description and re-posted it
(1) Indicator introduction
This is RSI indicator with original divergence algorithm
This indicator is plotted on the RSI and can display the divergence locations and corresponding divergence intensity
The tolerance of N Klines at the top or bottom positions for price and indicator is supported, which is set by the "Tolerant Kline Number"
Support the display of divergence intensity, that is, the REG/HID value displayed on the label, which is less than 0. The smaller the intensity value, the more obvious divergence
Support the filtering of divergence intensity, which is set by "Cov Threshold". The divergence that REG/HID divergence intensity greater than this value will be ignored
In the label, REG indicates regular top/bottom divergence while HID indicates hidden top/bottom divergence
In the label, SRC(x-y) indicates a divergence occurred from the x-th kline to the y-th kline
In the label, OSC(x-y) indicates a divergence occurred from the indicator corresponding to the x-th kline to the y-th kline
(2) Parameter introduction
- RSI Settings
Source: The source to calculate RSI, close by default
RSI Length: The length of RSI, 14 by default
- RSI Divergence
Pivot Lookback Right: Number of K-line bars recalling the pivot top/bottom point to the right
Pivot Lookback Left: Number of K-line bars recalling the pivot top/bottom point to the left
Max of Lookback Range: Maximum number of retracing K-line bars to find the pivot top/bottom point
Min of Lookback Range: Minimum number of retracing K-line bars to find the pivot top/bottom point
Tolerant Kline Number: Maximum tolerance in indexing top/bottom points of Klines and indicators
Cov Threshold: Divergence intensity, which is less than 0. The smaller the intensity value, the more obvious divergence
Plot Bullish: Whether to draw regular bullish divergence label
Plot Hidden Bullish: Whether to draw hidden bullish divergence label
Plot Bearish: Whether to draw regular bearish divergence label
Plot Hidden Bearish: Whether to draw hidden bearish divergence label
Happy trading and enjoy your life!
————————————————————————————————————————
各位朋友大家好,很抱歉之前的开源版本因为规则原因被隐藏,我已经重新编辑了说明并重新发布
(1) 指标说明
该指标绘制于 RSI 上,并在对应位置显示背离点以及背离程度
支持顶底位置 N 根K线的容差,由 Tolerant Kline Number 参数设置
支持背离强度的显示,即标签上显示的 REG/HID 值,该值小于 0,且越小说明背离程度越大
支持背离强度的过滤,由 Cov Threshold 参数设置, REG/HID 值大于这个值的背离会被忽略
标签中,REG 表示常规顶/低背离,而 HID 表示隐藏顶/底背离
标签中,SRC(x-y) 表示从当前第 x 根 bar 开始到第 y 跟 bar 出现背离
标签中,OSC(x-y) 表示从当前第 x 根 bar 所对应的指标开始到第 y 跟 bar 所对应的指标出现背离
(2) 参数说明
- RSI Settings
Source: 计算 RSI 指标的 source,默认为 close
RSI Length: 计算 RSI 指标的长度,默认为 14
- RSI Divergence
Pivot Lookback Right: 枢纽顶/底点往右回顾的 K线 bar 数量
Pivot Lookback Left: 枢纽顶/底点往左回顾的 K线 bar 数量
Max of Lookback Range: 回寻找枢纽顶/底点的最大回溯 K线 bar 数量
Min of Lookback Range: 回寻找枢纽顶/底点的最小回溯 K线 bar 数量
Tolerant Kline Number: K线和指标的顶/底点索引的最大误差
Cov Threshold: 背离程度,该值小于 0,且越小说明背离程度越大
Plot Bullish: 是否绘制常规底背离提示
Plot Hidden Bullish: 是否绘制隐藏底背离提示
Plot Bearish: 是否绘制常规顶背离提示
Plot Hidden Bearish: 是否绘制隐藏顶背离提示
祝大家交易愉快
Relative Strength Index (SRC)Hello everyone, I'm sorry that the previous open-source version was hidden due to the house rules, I've re-edited the description and re-posted it
(1) Indicator introduction
This is RSI indicator with original divergence algorithm
This indicator is plotted on the klines and can display the divergence locations and corresponding divergence intensity
The tolerance of N Klines at the top or bottom positions for price and indicator is supported, which is set by the "Tolerant Kline Number"
Support the display of divergence intensity, that is, the REG/HID value displayed on the label, which is less than 0. The smaller the intensity value, the more obvious divergence
Support the filtering of divergence intensity, which is set by "Cov Threshold". The divergence that REG/HID divergence intensity greater than this value will be ignored
In the label, REG indicates regular top/bottom divergence while HID indicates hidden top/bottom divergence
In the label, SRC(x-y) indicates a divergence occurred from the x-th kline to the y-th kline
In the label, OSC(x-y) indicates a divergence occurred from the indicator corresponding to the x-th kline to the y-th kline
(2) Parameter introduction
- RSI Settings
Source: The source to calculate RSI, close by default
RSI Length: The length of RSI, 14 by default
- RSI Divergence
Pivot Lookback Right: Number of K-line bars recalling the pivot top/bottom point to the right
Pivot Lookback Left: Number of K-line bars recalling the pivot top/bottom point to the left
Max of Lookback Range: Maximum number of retracing K-line bars to find the pivot top/bottom point
Min of Lookback Range: Minimum number of retracing K-line bars to find the pivot top/bottom point
Tolerant Kline Number: Maximum tolerance in indexing top/bottom points of Klines and indicators
Cov Threshold: Divergence intensity, which is less than 0. The smaller the intensity value, the more obvious divergence
Plot Bullish: Whether to draw regular bullish divergence label
Plot Hidden Bullish: Whether to draw hidden bullish divergence label
Plot Bearish: Whether to draw regular bearish divergence label
Plot Hidden Bearish: Whether to draw hidden bearish divergence label
Happy trading and enjoy your life!
————————————————————————————————————————
各位朋友大家好,很抱歉之前的开源版本因为规则原因被隐藏,我已经重新编辑了说明并重新发布
(1) 指标说明
该指标绘制于 K线 上,并在对应位置显示背离点以及背离程度
支持顶底位置 N 根K线的容差,由 Tolerant Kline Number 参数设置
支持背离强度的显示,即标签上显示的 REG/HID 值,该值小于 0,且越小说明背离程度越大
支持背离强度的过滤,由 Cov Threshold 参数设置, REG/HID 值大于这个值的背离会被忽略
标签中,REG 表示常规顶/低背离,而 HID 表示隐藏顶/底背离
标签中,SRC(x-y) 表示从当前第 x 根 bar 开始到第 y 跟 bar 出现背离
标签中,OSC(x-y) 表示从当前第 x 根 bar 所对应的指标开始到第 y 跟 bar 所对应的指标出现背离
(2) 参数说明
- RSI Settings
Source: 计算 RSI 指标的 source,默认为 close
RSI Length: 计算 RSI 指标的长度,默认为 14
- RSI Divergence
Pivot Lookback Right: 枢纽顶/底点往右回顾的 K线 bar 数量
Pivot Lookback Left: 枢纽顶/底点往左回顾的 K线 bar 数量
Max of Lookback Range: 回寻找枢纽顶/底点的最大回溯 K线 bar 数量
Min of Lookback Range: 回寻找枢纽顶/底点的最小回溯 K线 bar 数量
Tolerant Kline Number: K线和指标的顶/底点索引的最大误差
Cov Threshold: 背离程度,该值小于 0,且越小说明背离程度越大
Plot Bullish: 是否绘制常规底背离提示
Plot Hidden Bullish: 是否绘制隐藏底背离提示
Plot Bearish: 是否绘制常规顶背离提示
Plot Hidden Bearish: 是否绘制隐藏顶背离提示
祝大家交易愉快
On Balance Volume wi Normalization (OSC)Hello everyone, I'm sorry that the previous open-source version was hidden due to the house rules, I've re-edited the description and re-posted it
(1) Indicator introduction
This indicator is a normalized OBV that never dulls and has a better divergence accuracy than RSI
This indicator is plotted on the Normalized OBV and can display the divergence locations and corresponding divergence intensity
The tolerance of N Klines at the top or bottom positions for price and indicator is supported, which is set by the "Tolerant Kline Number"
Support the display of divergence intensity, that is, the REG/HID value displayed on the label, which is less than 0. The smaller the intensity value, the more obvious divergence
Support the filtering of divergence intensity, which is set by "Cov Threshold". The divergence that REG/HID divergence intensity greater than this value will be ignored
In the label, REG indicates regular top/bottom divergence while HID indicates hidden top/bottom divergence
In the label, SRC(x-y) indicates a divergence occurred from the x-th kline to the y-th kline
In the label, OSC(x-y) indicates a divergence occurred from the indicator corresponding to the x-th kline to the y-th kline
(2) Parameter introduction
- Normalized On Balance Volume
MA Type: Type of moving average for calculating the normalized OBV, default is SMA
MA Period: Period of moving average of normalized OBV, which is SMA14 by default
NOBV Sigma: Upper and lower range of normalized OBV
- Normalized On Balance Volume Divergence
Pivot Lookback Right: Number of K-line bars recalling the pivot top/bottom point to the right
Pivot Lookback Left: Number of K-line bars recalling the pivot top/bottom point to the left
Max of Lookback Range: Maximum number of retracing K-line bars to find the pivot top/bottom point
Min of Lookback Range: Minimum number of retracing K-line bars to find the pivot top/bottom point
Tolerant Kline Number: Maximum tolerance in indexing top/bottom points of Klines and indicators
Cov Threshold: Divergence intensity, which is less than 0. The smaller the intensity value, the more obvious divergence
Plot Bullish: Whether to draw regular bullish divergence label
Plot Hidden Bullish: Whether to draw hidden bullish divergence label
Plot Bearish: Whether to draw regular bearish divergence label
Plot Hidden Bearish: Whether to draw hidden bearish divergence label
Happy trading and enjoy your life!
————————————————————————————————————————
各位朋友大家好,很抱歉之前的开源版本因为规则原因被隐藏,我已经重新编辑了说明并重新发布
(1) 指标说明
该指标是 OBV 的归一化版本,永不钝化,背离准确率高于 RSI
该指标绘制于 归一化OBV 上,并在对应位置显示背离点以及背离程度
支持顶底位置 N 根K线的容差,由 Tolerant Kline Number 参数设置
支持背离强度的显示,即标签上显示的 REG/HID 值,该值小于 0,且越小说明背离程度越大
支持背离强度的过滤,由 Cov Threshold 参数设置, REG/HID 值大于这个值的背离会被忽略
标签中,REG 表示常规顶/低背离,而 HID 表示隐藏顶/底背离
标签中,SRC(x-y) 表示从当前第 x 根 bar 开始到第 y 跟 bar 出现背离
标签中,OSC(x-y) 表示从当前第 x 根 bar 所对应的指标开始到第 y 跟 bar 所对应的指标出现背离
(2) 参数说明
- Normalized On Balance Volume
MA Type: 计算归一化 OBV 的移动平均的类型,默认为 SMA
MA Period: 计算归一化 OBV 的移动平均的周期,默认为 SMA14
NOBV Sigma: 归一化 OBV 的过滤区间
- Normalized On Balance Volume Divergence
Pivot Lookback Right: 枢纽顶/底点往右回顾的 K线 bar 数量
Pivot Lookback Left: 枢纽顶/底点往左回顾的 K线 bar 数量
Max of Lookback Range: 回寻找枢纽顶/底点的最大回溯 K线 bar 数量
Min of Lookback Range: 回寻找枢纽顶/底点的最小回溯 K线 bar 数量
Tolerant Kline Number: K线和指标的顶/底点索引的最大误差
Cov Threshold: 背离程度,该值小于 0,且越小说明背离程度越大
Plot Bullish: 是否绘制常规底背离提示
Plot Hidden Bullish: 是否绘制隐藏底背离提示
Plot Bearish: 是否绘制常规顶背离提示
Plot Hidden Bearish: 是否绘制隐藏顶背离提示
祝大家交易愉快
On Balance Volume wi Normalization (SRC)Hello everyone, I'm sorry that the previous open-source version was hidden due to the house rules, I've re-edited the description and re-posted it
(1) Indicator introduction
This indicator is a normalized OBV that never dulls and has a better divergence accuracy than RSI
This indicator is plotted on the klines and can display the divergence locations and corresponding divergence intensity
The tolerance of N Klines at the top or bottom positions for price and indicator is supported, which is set by the "Tolerant Kline Number"
Support the display of divergence intensity, that is, the REG/HID value displayed on the label, which is less than 0. The smaller the intensity value, the more obvious divergence
Support the filtering of divergence intensity, which is set by "Cov Threshold". The divergence that REG/HID divergence intensity greater than this value will be ignored
In the label, REG indicates regular top/bottom divergence while HID indicates hidden top/bottom divergence
In the label, SRC(x-y) indicates a divergence occurred from the x-th kline to the y-th kline
In the label, OSC(x-y) indicates a divergence occurred from the indicator corresponding to the x-th kline to the y-th kline
(2) Parameter introduction
- Normalized On Balance Volume
MA Type: Type of moving average for calculating the normalized OBV, default is SMA
MA Period: Period of moving average of normalized OBV, which is SMA14 by default
NOBV Sigma: Upper and lower range of normalized OBV, but the function is reserved
- Normalized On Balance Volume Divergence
Pivot Lookback Right: Number of K-line bars recalling the pivot top/bottom point to the right
Pivot Lookback Left: Number of K-line bars recalling the pivot top/bottom point to the left
Max of Lookback Range: Maximum number of retracing K-line bars to find the pivot top/bottom point
Min of Lookback Range: Minimum number of retracing K-line bars to find the pivot top/bottom point
Tolerant Kline Number: Maximum tolerance in indexing top/bottom points of Klines and indicators
Cov Threshold: Divergence intensity, which is less than 0. The smaller the intensity value, the more obvious divergence
Plot Bullish: Whether to draw regular bullish divergence label
Plot Hidden Bullish: Whether to draw hidden bullish divergence label
Plot Bearish: Whether to draw regular bearish divergence label
Plot Hidden Bearish: Whether to draw hidden bearish divergence label
Happy trading and enjoy your life!
————————————————————————————————————————
各位朋友大家好,很抱歉之前的开源版本因为规则原因被隐藏,我已经重新编辑了说明并重新发布
(1) 指标说明
该指标是 OBV 的归一化版本,永不钝化,背离准确率高于 RSI
该指标绘制于 K线 上,并在对应位置显示背离点以及背离程度
支持顶底位置 N 根K线的容差,由 Tolerant Kline Number 参数设置
支持背离强度的显示,即标签上显示的 REG/HID 值,该值小于 0,且越小说明背离程度越大
支持背离强度的过滤,由 Cov Threshold 参数设置, REG/HID 值大于这个值的背离会被忽略
标签中,REG 表示常规顶/低背离,而 HID 表示隐藏顶/底背离
标签中,SRC(x-y) 表示从当前第 x 根 bar 开始到第 y 跟 bar 出现背离
标签中,OSC(x-y) 表示从当前第 x 根 bar 所对应的指标开始到第 y 跟 bar 所对应的指标出现背离
(2) 参数说明
- Normalized On Balance Volume
MA Type: 计算归一化 OBV 的移动平均的类型,默认为 SMA
MA Period: 计算归一化 OBV 的移动平均的周期,默认为 SMA14
NOBV Sigma: 归一化 OBV 的过滤区间,其功能暂时保留
- Normalized On Balance Volume Divergence
Pivot Lookback Right: 枢纽顶/底点往右回顾的 K线 bar 数量
Pivot Lookback Left: 枢纽顶/底点往左回顾的 K线 bar 数量
Max of Lookback Range: 回寻找枢纽顶/底点的最大回溯 K线 bar 数量
Min of Lookback Range: 回寻找枢纽顶/底点的最小回溯 K线 bar 数量
Tolerant Kline Number: K线和指标的顶/底点索引的最大误差
Cov Threshold: 背离程度,该值小于 0,且越小说明背离程度越大
Plot Bullish: 是否绘制常规底背离提示
Plot Hidden Bullish: 是否绘制隐藏底背离提示
Plot Bearish: 是否绘制常规顶背离提示
Plot Hidden Bearish: 是否绘制隐藏顶背离提示
祝大家交易愉快
show bottomscript name: show bottom
For left traders, how to accurately find the bottom is very important, and there are various methods, among which the bottom type is a common and convenient method.
This script shows where the bottom is formed and when the bottom is broken.
Although the definition of the bottom type is very simple: after processing the inclusion relationship, in three consecutive bars, the low point of the middle bar is the lowest point of the three bar low points, and the high point of the middle bar is the highest point of the three bar high points. However, because the containment relationship can be complex, so this script enumerates the common containment relationships, so it is more verbose.
Also, in order to rule out a false break, the script thinks that the alarm will only be issued when the close price falls below the bottom.
Finally, this script supports webhook, that is, when the bottom is broken, the alert content conforms to json format. At the same time, this script also supports sending the opening price, closing price, high point and low point of each bar in the form of json, which is a method of subscribing to real-time stock prices.
Introduction in Chinese:
脚本名称:显示底分型
对于左侧交易者来说,如何准确地找到底部是非常重要的,方法也是多样的,其中底分型是一种常用的简便方法。
这个脚本可以显示底分型的位置,以及底部什么时候被跌破。
虽然底分型的定义很简单:处理包含关系后,连续三个bar中,中间bar的低点是三个bar低点中的最低点,且中间bar的高点是三个bar高点中的最高点,但是,因为包含关系可能比较复杂,所以这个脚本列举了常见的各种包含关系,也因此显得比较冗长。
另外,为排除假跌破,这个脚本认为只有当收盘价跌破底部时,才会报警。
最后,这个脚本支持webhook,也就是说,底部被跌破时,警报内容符合json格式。同时,这个脚本还支持将每个bar的开盘价、收盘价、高点和低点以json形式发送出来,这算是一种订阅实时股价的方法。
LineGetPriceOnLogScaleLibrary "LineGetPriceOnLogScale"
This library provides a way to calculate the y-coordinate of a line on a specified bar when the chart scale is Log.
The built-in `line.get_price()` function only works with linear scale and gives incorrect results when the chart is in Log scale.
The library only works with `bar_index` values and `xloc.bar_index`-based lines, `time`-based lines will cause errors to appear.
coordGetPriceLog(x1, y1, x2, y2, xi) Calculates the y-coordinate on the specified bar on the logarithmic scale.
Only coordinates based on bar index are applicable, bar time will throw an error.
Parameters:
x1 : First X coordinate of a line, index of the bar where the line starts.
y1 : First Y coordinate of a line, price on the price scale.
x2 : Second X coordinate of a line, index of the bar where the line ends.
y2 : Second Y coordinate of a line, price on the price scale.
xi : Index of the bar for which the price should be calculated.
Returns: Price of the line on the bar specified in `xi`, on the logarithmic scale.
lineGetPriceLog(_line, xi) Calculates the y-coordinate on the specified bar for the logarithmic scale. Takes a line.
Only lines drawn based on `xloc.bar_index` are applicable, `xloc.bar_time` will throw and error.
Parameters:
_line : The line for which the price is calculated.
xi : Index of the bar for which the bar should calculate the price.
Returns: Price of the line on the bar specified in `xi`, on the logarithmic scale.
[CP]Pivot Boss Candlestick Scanner - No Repainting This indicator is based on the high probability candlestick patterns described in the ’Secrets of a Pivot Boss’ book.
The indicator does not suffer from repainting.
I have kept this indicator open source, so that you can take this indicator and design a complete trading system around it.
Although the patterns have some statistical edge in the markets, blindly using them as Buy/Sell Indicators will certainly result in a heavy loss.
I like some of these setups more than others, and I have listed them in the order of my likeness.
The first one I like the most, the last one, I like the least.
The patterns are universal and work well in both intraday, daily and even larger timeframes.
Signals in the example charts are manually marked by,
Hammer - profitable short signal
Rocket - profitable long signal
X - unprofitable long or short signal
GENERAL USER INPUTS:
These settings exist as the indicator uses ‘Labels’ to mark the patterns and Pine Script limits a maximum of 500 labels on a chart.
If you want to go back in the past and check how the indicator was doing, set the Start and End dates both and check the ’Use the date range above to mark the Candlestick Setups?’ option.
EXTREME REVERSAL SETUP:
This is by far my favorite setup in the lot. Classic Mean Reversion setup.
The logic, as explained in the book, goes like this,
1. The first bar of the pattern is about two times larger than the average size of the candles in the lookback period.
2. The body of the first bar of the pattern should encompass more than 50 percent of the bar’s total range, but usually not more than 85 percent.
3. The second bar of the pattern opposes the first.
The setup works extremely well in high beta stocks like Vedanta VEDL.
Feel free to play with the settings in order to better align this pattern with your favorite stock.
Check out the examples below,
No indicator is perfect, failed patterns are marked with an X.
OUTSIDE REVERSAL SETUP:
My second favorite setup, it is quite good at catching intraday trends.
Here’s the logic,
1. The engulfing bar of a bullish outside reversal setup has a low that is below the prior bar’s low and a close that is above the prior bar’s high. Reverse the conditions for bearish outside reversal.
2. The engulfing bar is usually 5 to 25 percent larger than the size of the average bar in the lookback period.
Settings for this pattern simply reflect these conditions. Feel free to modify them as you wish.
The pattern is pretty powerful and will sometimes help you catch literally all the highs and lows of the market, as shown in the examples of Vedanta VEDL and RELIANCE stocks below.
As usual, this pattern is not PERFECT either.
DOJI REVERSAL SETUP:
Doji candles signify market indecision and this pattern tries to profit off these market conditions.
Logic:
1. The open and close price of the doji should fall within 10 percent of each other, as measured by the total range of the candlestick.
2. For a bullish doji, the high of the doji candlestick should be below the ten-period simple moving average. Vice-versa for bearish.
3. For a bullish doji setup, one of the two bars following the doji must close above the high of the doji. Vice-versa for bearish.
Feel free to modify the settings and optimize according to the stock you are trading.
Don't optimize too much :)
This pattern works brilliantly well on larger intraday timeframes, like 15m/30m/60m.
This pattern also has a higher propensity to give false indications than the two described above.
Doji reversal typically helps to catch larger trend reversals. Check out the examples below from RELIANCE and NIFTY charts,
Note that the RELIANCE chart below is the same as shown for the Outside Reversal Setup above, notice the confluence of Outside
Reversal and Doji Reversal on the 31st August.
Confluence of patterns usually increases the probability of success.
RELIANCE 15m Chart - Pattern can catch nice trends on higher timeframes
NIFTY 15m Chart
WICK REVERSAL SETUP:
This pattern tries to capture candlesticks with large wick sizes, as they often indicate trend reversal when coupled with significant support and resistance levels.
Logic:
1. The body is used to determine the size of the reversal wick. A wick that is between 2.5 to 3.5 times larger than the size of the body is ideal.
2. For a bullish reversal wick to exist, the close of the bar should fall within the top 35 percent of the overall range of the candle.
3. For a bearish reversal wick to exist, the close of the bar should fall within the bottom 35 percent of the overall range of the candle.
This pattern must always be coupled with important support resistance levels, else there will be a lot of false signals.
The chart below is the same NIFTY chart as above with the Wick Reversal candles marked as well.
You can see that there are a lot of false signals, but the price also indicates ’pausing’ at important levels by printing a wick reversal setup.
You can use this information to your advantage when riding a trend.
FINAL WORDS:
Settings for various patterns simply reflect the logic described.
You will probably need to tweak and optimize the pattern settings for the stock that you are trading.
Higher Beta/Higher Volatility stocks are a great choice for these patterns.
Using these patterns at critical support and resistance levels will result in dramatically high accuracy.
Be creative and try to develop a proper system around this indicator, with rules for position sizing, stop loss etc.
You do not have to trade all the patterns. Even trading just one pattern with a proper system is good enough.
DO NOT USE THIS INDICATOR AS A BUY/SELL SYSTEM, YOU WILL LOSE MONEY.
Feel free to drop any feedback in the comments section below, or if you have any unique candlestick patterns that you would like me to code.
Cyclic Smoothed RSI with Motive-Corrective Wave Indicator
This indicator uses the cyclic smoothed Relative Strength Index (cRSI) instead of the traditional Relative Strength Index (RSI). See below for more info on the benefits to the cRSI.
My key contributions
1) A Weighted Moving Average (WMA) to track the general trend of the cRSI signal. This is very helpful in determining when the equity switches from bullish to bearish, which can be used to determine buy/sell points. This is then is used to color the region between the upper and lower cRSI bands (green above, red below).
2) An attempt to detect the motive (impulse) and corrective and waves. Corrective waves are indicated A, B, C, D, E, F, G. F and G waves are not technically Elliot Waves, but the way I detect waves it is really hard to always get it right. Once and a while you could actually see G and F a second time. Motive waves are identified as s (strong) and w (weak). Strong waves have a peak above the cRSI upper band and weak waves have a peak below the upper band.
3) My own divergence indicator for bull, hidden bull, bear, and hidden bear. I was not able to replicate the TradingView style of drawing a line from peak to peak, but for this indicator I think in the end it makes the chart cleaner.
There is a latency issue with an indicator that is based on moving averages. That means they tend to trigger right after key events. Perfect timing is not possible strictly with these indicators, but they do work very well "on average." However, my implementation has minimal latency as peaks (tops/bottoms) only require one bar to detect.
As a bit of an Easter Egg, this code can be tweaked and run as a strategy to get buy/sell signals. I use this code for both my indicator and for trading strategy. Just copy and past it into a new strategy script and just change it from study to a strategy, something like this:
strategy("cRSI + Waves Strategy with VWMA overlay", overlay=overlay)
The buy/sell code is at the end and just needs to be uncommented. I make no promises or guarantees about how good it is as a strategy, but it gives you some code and ideas to work with.
Tuning
1) Volume Weighted Moving Average (VWMA): This is a “hidden strategy” feature implemented that will display the high-low bands of the VWMA on the price chart if run the code using “overlay = true”.
- If the equity does not have volume, then the VWMA will not show up. Uncheck this box and it will use the regular WMA (no volume).
- defines how far back the WMA averages price.
2) cRSI (Black line in the indicator)
- Increase to length that amount of time a band (upper/lower) stays high/low after a peak. Reduce the value to shorten the time. Just increment it up/down to see the effect.
- defines how far back the SMA averages the cRSI. This affects the purple line in the indicator.
- defines how many bars back the peak detector looks to determine if a peak has occurred. For example, a top is detected like this: current-bar down relative to the 1-bar-back, 1-bar-back up relative to 2-bars-back (look back = 1), c) 2-bars-back up relative to 3-bars-back (lookback = 2), and d) 3-bars-back up relative to 4-bars-back (lookback = 3). I hope that makes sense. There are only 2 options for this setting: 2 or 3 bars. 2 bars will be able to detect small peaks but create more “false” peaks that may not be meaningful. 3 bars will be more robust but can miss short duration peaks.
3) Waves
- The check boxes are self explanatory for which labels they turn on and off on the plot.
4) Divergence Indicators
- The check boxes are self explanatory for which labels they turn on and off on the plot.
Hints
- The most common parameter to change is the . Different stocks will have different levels of strength in their peaks. A setting of 2 may generate too many corrective waves.
- Different times scales will give you different wave counts. This is to be expected. A counter impulse wave inside a corrective wave may actually go above the cRSI WMA on a smaller time frame. You may need to increase it one or two levels to see large waves.
- Just because you see divergence (bear or hidden bear) does not mean a price is going to go down. Often price continues to rise through bears, so take note and that is normal. Bulls are usually pretty good indicators especially if you see them on C,E,G waves.
----------------------------------------------------------------------------------------------------------------------------
cyclic smoothed RSI (cRSI) indicator
----------------------------------------------------------------------------------------------------------------------------
The “core” code for the cyclic smoothed RSI (cRSI) indicator was written by Lars von Theinen and is subject to the terms of the Mozilla Public License 2.0 at mozilla.org Copyright (C) 2017 CC BY, whentotrade / Lars von Thienen. For more details on the cRSI Indicator:
The cyclic smoothed RSI indicator is an enhancement of the classic RSI, adding
1) additional smoothing according to the market vibration,
2) adaptive upper and lower bands according to the cyclic memory and
3) using the current dominant cycle length as input for the indicator.
It is much more responsive to market moves than the basic RSI. The indicator uses the dominant cycle as input to optimize signal, smoothing, and cyclic memory. To get more in-depth information on the cyclic-smoothed RSI indicator, please read Decoding The Hidden Market Rhythm - Part 1: Dynamic Cycles (2017), Chapter 4: "Fine-tuning technical indicators." You need to derive the dominant cycle as input parameter for the cycle length as described in chapter 4.
Hope this helps and good luck.
Time Range StatisticsA good amount of users requested a text box showing various price statistics, the following script returns various of these stats in a user-selected range, and include classical ones such as a central tendency measurement (mean), dispersion (normalized range) and percent change, but also include less common statistics such as average traded volume and number of gaps. The script also calculates the correlation between the closing price and another user-selected instrument.
The script is currently the longest one I ever made and took some efforts, as I wasn't satisfied with the statistics to be originally included. Big thx to Gael for the enormous feedback and the idea of the normalized range, to user @Cookiecrush for the feedback ( without ya I would have posted something bad you know umu ? ), and Lulidolce for the support, friendship is magic!
Selected Range
The setting Start determine the bar at which the range starts, while End determine at which bar the range end. To help you select these values, the current bar number (bar index) is displayed at the right of the indicator title in blue.
The setting evaluate to last bar will use a range starting at Start and ending at the last bar, as such you can use a full range by using Start = 0 and select evaluate to last bar
The range is highlighted by an area on the chart. By default Start = 9000 and End = 10000, you might not have this amount of data in your chart, as such use the displayed bar index to select Start and End, then set the settings as default.
Displayed Statistics
The statistics panel is displayed on the right side of the last bar, the panel has 3 sections, a title section who shows the symbol ticker, timeframe, and overall trends represented by a chart emoji, the overall trends are determined by comparing the number of higher highs with the number of lower low.
Below are displayed the date ranges with time format: year/month/day/hour:minute.
The second section shows the general statistics. The first one is the mean, also represented by the orange line in the chart, the blue line displayed represent the highest price value in the range, while the red one represents the lowest price value.
The second stat is the normalized range, and determine how spread is the price in the user-selected range, why not the standard deviation? Because the standard deviation might return results varying widely depending on the scale of the closing price, you could get measures such as 0.0156 or 16 or even 56 depending on the instrument, as such using a normalized range can be more appropriate as it lays in a range of (0,1). Lower values indicate a low degree of price variation. Note that I still want to find another measure in the future.
The percentage change (or relative change) indicates at which percentage the price has increased or decreased, and is calculated by subtracting the closing at bar Start with the price at bar End , divided by the price at bar End , the result is then multiplied by 100.
The average traded volume calculate the mean of the volume in the selected range, I used the same format used by the original volume indicator for clarity.
Finally, the last stats of the section is the number of gaps, this stat is by default hidden. An up gap is detected when the open price is superior to the previous high, while a down gap is detected when the open price is inferior to the previous low, this allow to only retain significant gaps.
The last section of the indicator panel shows the correlation between the closing price and another instrument, by default GOOG, this correlation is also calculated within the user-selected range. Positive values indicate a positive relationship, that is the two instruments tend to move in the same direction. Negative values indicate a negative relationship, both instruments tend to move in a direction opposite to each other. Values closer to 1 or -1 indicate a stronger relationship, while values closer to 0 indicate no relationship.
In Summary
The script shows various stats, each calculated within a user-selected range, in general one would be more interested in how these stats might evolve with time, but checking them in a custom range can be quite interesting.
Thx for reading. umu
Multi SMA EMA WMA HMA BB (4x5 MAs Bollinger Bands) Adv MTF - RRBMulti SMA EMA WMA HMA 4x5 Moving Averages with Bollinger Bands Advanced MTF by RagingRocketBull 2019
Version 1.0
This indicator shows multiple MAs of any type SMA EMA WMA HMA etc with BB and MTF support, can show MAs as dynamically moving levels.
There are 4 MA groups + 1 BB group, a total of 4 TFs * 5 MAs = 20 MAs. You can assign any type/timeframe combo to a group, for example:
- EMAs 12,26,50,100,200 x H1, H4, D1, W1 (4 TFs x 5 MAs x 1 type)
- EMAs 8,10,13,21,30,50,55,100,200,400 x M15, H1 (2 TFs x 10 MAs x 1 type)
- D1 EMAs and SMAs 8,10,12,26,30,50,55,100,200,400 (1 TF x 10 MAs x 2 types)
- H1 WMAs 7,77,89,167,231; H4 HMAs 12,26,50,100,200; D1 EMAs 89,144,169,233,377; W1 SMAs 12,26,50,100,200 (4 TFs x 5 MAs x 4 types)
- +1 extra MA type/timeframe for BB
There are several versions: Simple, MTF, Pro MTF, Advanced MTF and Ultimate MTF. This is the Advanced MTF version. The Differences are listed below. All versions have BB
- Simple: you have 2 groups of MAs that can be assigned any type (5+5)
- MTF: +2 custom Timeframes for each group (2x5 MTF) +1 TF for BB, TF XY smoothing
- Pro MTF: 4 custom Timeframes for each group (4x3 MTF), 1 TF for BB, MA levels and show max bars back options
- Advanced MTF: +2 extra MAs/group (4x5 MTF), custom Ticker/Symbols, Timeframe <>= filter, Remove Duplicates Option
- Ultimate MTF: +individual settings for each MA, custom Ticker/Symbols
Features:
- 4x5 = 20 MAs of any type
- 4x MTF groups with XY step line smoothing
- +1 extra TF/type for BB MAs
- 4x5 = 20 MA levels with adjustable group offsets, indents and shift
- supports any existing type of MA: SMA, EMA, WMA, Hull Moving Average (HMA)
- custom tickers/symbols for each group - you can compare MAs of the same symbol across exchanges
- show max bars back option
- show/hide both groups of MAs/levels/BB and individual MAs
- timeframe filter: show only MAs/Levels with TFs <>= Current TF
- hide MAs/Levels with duplicate TFs
- support for custom TFs that are not available in free accounts: 2D, 3D etc
- support for timeframes in H: H, 2H, 4H etc
Notes:
- Uses timeframe textbox instead of input resolution dropdown to allow for 240 120 and other custom TFs
- Uses symbol textbox instead of input symbol to avoid establishing multiple dummy security connections to the current ticker - otherwise empty symbols will prevent script from running
- Possible reasons for missing MAs on a chart:
- there may not be enough bars in history to start plotting it. For example, W1 EMA200 needs at least 200 bars on a weekly chart.
- price << default Y smoothing step 5. For charts with low/fractional prices (i.e. 0.00002 << 5) adjust X Y smoothing as needed (set Y = 0.0000001) or disable it completely (set X,Y to 0,0)
- TradingView Replay Mode UI and Pinescript security calls are limited to TFs >= D (D,2D,W,MN...) for free accounts
- attempting to plot any TF < D1 in Replay Mode will only result in straight lines, but all TFs will work properly in history and real-time modes. This is not a bug.
- Max Bars Back (num_bars) is limited to 5000 for free accounts (10000 for paid), will show error when exceeded. To plot on all available history set to 0 (default)
- Slow load/redraw times. This indicator becomes slower, its UI less responsive when:
- Pinescript Node.js graphics library is too slow and inefficient at plotting bars/objects in a browser window. Code optimization doesn't help much - the graphics engine is the main reason for general slowness.
- the chart has a long history (10000+ bars) in a browser's cache (you have scrolled back a couple of screens in a max zoom mode).
- Reload the page/Load a fresh chart and then apply the indicator or
- Switch to another Timeframe (old TF history will still remain in cache and that TF will be slow)
- in max possible zoom mode around 4500 bars can fit on 1 screen - this also slows down responsiveness. Reset Zoom level
- initial load and redraw times after a param change in UI also depend on TF. For example:
D1/W1 - 2 sec, H1/H4 - 5-6 sec, M30 - 10 sec, M15/M5 - 4 sec, M1 - 5 sec.
M30 usually has the longest history (up to 16000 bars) and W1 - the shortest (1000 bars).
- when indicator uses more MAs (plots) and timeframes it will redraw slower. Seems that up to 5 Timeframes is acceptable, but 6+ Timeframes can become very slow.
- show_last=last_bars plot limit doesn't affect load/redraw times, so it was removed from MA plot
- Max Bars Back (num_bars) default/custom set UI value doesn't seem to affect load/redraw times
- In max zoom mode all dynamic levels disappear (they behave like text)
1. based on 3EmaBB, uses plot*, barssince and security functions
2. you can't set certain constants from input due to Pinescript limitations - change the code as needed, recompile and use as a private version
3. Levels = trackprice implementation
4. Show Max Bars Back = show_last implementation
5. swma has a fixed length = 4, alma and linreg have additional offset and smoothing params
6. Smoothing is applied by default for visual aesthetics on MTF. To use exact ma mtf values (lines with stair stepping) - disable it
Good Luck! You can explore, modify/reuse the code to build your own indicators.
The Zone Trades v1.0The Zone is mention in New Trading Dimensions by Bill Williams,PhD.
The Zone is used for Entry Signal
Green Zone are painting Green Bars when Awesome Oscillator (AO) and Accelerater/Decelerator (AC) are both increasing.
Red Zone are painting Red Bars when Awesome Oscillator (AO) and Accelerater/Decelerator (AC) are both decreasing.
Gray Zone are painting Gray Bars AO and AC in difference changing
Gray Zone are indicate the indecision between bulls and bears.
Bill Williams, PhD. mention that Green Zone or Red Zone usually happen 6-8 bars Continuously.
The First Bar that change to be Green or Red color is the Signal Bar.
Entry Signal is the second bar in the same color as the Signal bar happen with Volume
Price go higher the high of previous Green Bar is Buy Signal. Entry Buy (Long) and place Stop at 1 tick lower the Low of previous bar.
Price go ;ower the Low of previous Red Bars is Sell Signal. Entry Sell (Short) and place Stop at 1 tick higher the High of previous bar.
Do not Entry if Green Bars or Red Bars completed 5 bars continuously.
The Zone Trades v1.0The Zone v.1.0
The Zone is mention in New Trading Dimensions by Bill Williams,PhD. The Zone is used for Entry Signal of Both Long and Short side.
Green Zone are painting Green Bars when Awesome Oscillator (AO) and Accelerater/Decelerator (AC) are both increasing.
Red Zone are painting Red Bars when Awesome Oscillator (AO) and Accelerater/Decelerator (AC) are both decreasing.
Gray Zone are painting Gray Bars AO and AC in difference changing. Gray Zone are indicate the indecision between bulls and bears.
Bill Williams, PhD. mention that Green Zone or Red Zone usually happen 6-8 bars Continuously.
The First Bar that change to be Green or Red color is the Signal Bar.
Entry Signal is the second bar in the same color as the Signal bar happen with Volume
Price go higher the high of previous Green Bar is Buy Signal. Entry Buy (Long) and place Stop at 1 tick lower the Low of previous bar.
Price go ;ower the Low of previous Red Bars is Sell Signal. Entry Sell (Short) and place Stop at 1 tick higher the High of previous bar.
Do not Entry if Green Bars or Red Bars completed 5 bars continuously.
Indicator: Relative Volume Indicator & Freedom Of MovementRelative Volume Indicator
------------------------------
RVI is a support-resistance technical indicator developed by Melvin E. Dickover. Unlike many conventional support and resistance indicators, the Relative Volume Indicator takes into account price-volume behavior in order to detect the supply and demand pools. These pools are marked by "Defended Price Lines" (DPLs), also introduced by the author.
RVI is usually plotted as a histogram; its bars are highlighted (black, by default) when the volume is unusually large. According to the author, this happens if the indicator value exceeds 2.0, thus signifying that a possible DPL is present.
DPLs are horizontal lines that run across the chart at levels defined by following conditions:
* Overlapping bars: If the indicator spike (i.e., indicator is above 2.0 or a custom value)
corresponds to a price bar overlapping the previous one, the previous close can be used as the
DPL value.
* Very large bars: If the indicator spike corresponds to a price bar of a large size, use its
close price as the DPL value.
* Gapping bars: If the indicator spike corresponds to a price bar gapping from the previous bar,
the DPL value will depend on the gap size. Small gaps can be ignored: the author suggests using
the previous close as the DPL value. When the gap is big, the close of the latter bar is used
instead.
* Clustering spikes: If the indicator spikes come in clusters, use the extreme close or open
price of the bar corresponding to the last or next to last spike in cluster.
DPLs can be used as support and resistance levels. In order confirm and refine them, RVI is used along with the FreedomOfMovement indicator discussed next.
Freedom of Movement Indicator
------------------------------
FOM is a support-resistance technical indicator, also by Melvin E. Dickover. FOM is the ratio of relative effect (relative price change) to the relative effort (normalized volume), expressed in standard deviations. This value is plotted as a histogram; its bars are highlighted (black, by default( when this ratio is unusually high. These highlighted bars, or "spikes", define the positioning of the DPLs.
Suggestions for placing DPLs are the same as for the Relative Volume Indicator discussed above.
Note that clustering spikes provide the strongest DPLs while isolated spikes can be used to confirm and refine those provided by the Relative Volume Indicator. Coincidence of spikes of the two indicator can be considered a sign of greater strength of the DPL.
More info:
S&C magazine, April 2014.
I am still trying these on various instruments to understand the workings more. Don't forget to share what you learn -- any use cases / ideal scenarios / gotchas, would love to hear them all.