Prometheus Fractal-Based TrendThe Fractal-Based Trend indicator is a tool that uses fractals to try and detect which direction an underlying will continue to go.
Calculation:
A bullish fractal occurs when the current bar's high is lower than the previous bar high, and the previous bar's high is higher than both the high from two bars ago and the high from three bars ago.
A bearish fractal happens when the current bar's low is higher than the previous bar's low, and the previous bar's low is lower than both the low from two bars ago and the low from three bars ago.
When a bullish or bearish fractal forms, the corresponding value stored is the previous bar high for a bearish fractal or the previous bar's low for a bullish fractal.
The trade scenarios are when these fractals occur, a green or red label being plotted on the chart for whatever direction it predicts.
Trade examples:
We see on this daily chart of AMEX:SPY that the fractals represent the potential for a directional trade that can last a few days. The more volatile a chart is the more of these fractals we can see.
We see on this 5 minute chart for NASDAQ:TSLA there is way more activity, there are more sporadic candles on a lower time frame, so we can see more anomalies in the price action.
We see this to be true for BITSTAMP:BTCUSD even on a daily time frame, since it is very volatile. There are a lot of these labels plotted.
This is the perspective we aim to provide. We encourage traders to not follow indicators blindly. No indicator is 100% accurate. This one can give you a different perspective of price strength with volatility. We encourage any comments about desired updates or criticism!
在腳本中搜尋"bar"
Kurutoga Histogram with HTF and LTF
Kurutoga Histogram:
The Kurutoga Histogram is a technical analysis indicator designed to measure price divergence from the 50% level of a recent price range. By calculating how far the current price is from the midpoint of a selected base length of candles, the histogram provides insight into the momentum, strength, and potential reversals in the market. Additionally, it can be applied across multiple timeframes to provide a comprehensive view of both short- and long-term market dynamics.
Key Components:
Base Length:
The base length is the number of candles (bars) over which the high and low prices are observed. The default base length is typically 14 periods, but it can be adjusted according to the trader's preference.
This base length defines the range from which the 50% level, or midpoint, is calculated.
50% Level (Midpoint):
The midpoint is the average of the highest high and the lowest low over the selected base length. This 50% level acts as an equilibrium point around which the price fluctuates.
Formula:
Midpoint = (Highest High + Lowest Low) / 2
The price’s distance from this midpoint is an indicator of how strong the current trend or divergence is.
Price Divergence:
The main calculation of the histogram is the difference between the current closing price and the midpoint of the price range.
Formula:
Divergence = Close Price − Midpoint
A positive divergence (price above the midpoint) indicates bullish strength, while a negative divergence (price below the midpoint) indicates bearish strength.
Multi-Timeframe Analysis:
The Kurutoga Histogram can be applied to both the current timeframe and a higher timeframe (HTF), allowing traders to gauge price movement in both short-term and long-term contexts.
By comparing the histograms of multiple timeframes, traders can determine if there is alignment (confluence) between trends, which can strengthen trade signals or provide additional confirmation.
Color-Coded Histogram:
Blue Bars (Positive Divergence): Represent that the price is above the 50% level, indicating bullish momentum. Taller blue bars suggest stronger upward momentum, while shrinking bars suggest weakening strength.
Red Bars (Negative Divergence): Represent that the price is below the 50% level, indicating bearish momentum. Taller red bars suggest stronger downward momentum, while shrinking bars suggest a potential reversal or consolidation.
The histogram’s color intensity and transparency can be adjusted to enhance the visual effect, distinguishing between current timeframe (LTF) and higher timeframe (HTF) divergence.
Interpretation:
Bullish Signals: When the histogram bars are blue and growing, the price is gaining momentum above the midpoint of its recent range. This could signal an ongoing uptrend.
Bearish Signals: When the histogram bars are red and growing, the price is gaining momentum below the midpoint, signaling an ongoing downtrend.
Momentum Shifts: When the histogram bars shrink in size (whether blue or red), it could indicate that the current trend is losing strength and may reverse or enter consolidation.
Neutral or Sideways Movement: When the histogram bars hover around zero, it means the price is trading near the midpoint of its recent range, often signaling a lack of strong momentum in either direction.
Multi-Timeframe Confluence:
When the current timeframe (LTF) histogram aligns with the higher timeframe (HTF) histogram (e.g., both are showing strong bullish or bearish divergence), it may provide stronger confirmation of the trend's strength.
Divergence between timeframes (e.g., bullish on LTF but bearish on HTF) may suggest that price movements on lower timeframes are not yet reflected in the broader trend, signaling caution.
Applications:
Trend Identification: The Kurutoga Histogram is highly useful for detecting when the price is trending away from its equilibrium point, providing insight into the strength of ongoing trends.
Momentum Analysis: By measuring the divergence from the 50% level, the histogram helps traders identify when momentum is increasing or decreasing.
Reversal Detection: Shrinking histogram bars can signal weakening momentum, which often precedes trend reversals.
Consolidation and Breakouts: When the histogram remains near zero for an extended period, it suggests consolidation, which often precedes a breakout in either direction.
Advantages:
Clear Visuals: The use of a color-coded histogram makes it easy to visually assess whether the market is gaining bullish or bearish momentum.
Multi-Timeframe Utility: The ability to compare current timeframe signals with higher timeframe signals adds an extra layer of confirmation, reducing false signals.
Dynamic Adjustment: By adjusting the base length, traders can fine-tune the sensitivity of the indicator to match different markets or trading styles.
Limitations:
Lagging Indicator: Like most divergence indicators, the Kurutoga Histogram may lag slightly behind actual price movements, especially during fast, volatile markets.
Requires Confirmation: This indicator works best when used in conjunction with other technical tools like moving averages, support/resistance levels, or volume indicators, to avoid relying on divergence alone.
Conclusion:
The Kurutoga Histogram is a versatile and visually intuitive tool for measuring price divergence from a key equilibrium point, helping traders to assess the strength of trends and identify potential reversal points. Its use across multiple timeframes provides deeper insights, making it a valuable addition to any trading strategy that emphasizes momentum and trend following.
Volume Density AnalysisVolume Density Analysis
Overview
The "Volume Density Analysis" indicator is designed to provide traders with insights into volume dynamics relative to price movements. By analyzing the density of volume against price spread, this indicator helps identify potential reversal points and extreme volume conditions, enhancing decision-making in trading strategies.
Key Features
Volume Density Calculation: The indicator computes the density of volume by dividing the total volume by the price spread (high - low) for each bar. This allows for a more nuanced understanding of volume activity in relation to price movements.
Extremum Detection: Users can specify the number of bars to consider when identifying extreme volume conditions, allowing for tailored analysis based on market behavior.
Reversal Bar Conditions: The indicator includes options to determine if low or high volume bars must coincide with reversal patterns, providing additional context for potential trade signals.
Dynamic Coloring*: The histogram displays colored bars based on specific conditions:
Blue Bars: Indicate the lowest and highest volume density within a specified range, highlighting significant volume extremes.
Gray Bars: Represent lower or higher volume density that meets reversal criteria.
Green and Red Bars: Indicate bullish or bearish reversal signals based on historical density patterns.
User Inputs
nl: Number of previous lower bars to consider for comparison (default is 8).
nh: Number of previous higher bars to consider for comparison (default is 8).
ext: Number of bars for detecting extremum volume (default is 30).
LReversalBar: Boolean option to determine if low volume bar spread must indicate a reversal.
HReversalBar: Boolean option to determine if high volume bar spread must indicate a reversal.
Suggested Timeframes
M15: Without reversal considerations, use `nl=3`, `nh=3`, and `ext=20`.
M5: Without reversal considerations, use `nl=4`, `nh=4`, and `ext=35`.
M1: Use `nl=8`, `nh=8`, and `ext=58` for more detailed analysis.
Rempi Volume
Greetings, dear traders. I present to your attention the concept of a Rempi Volume indicator + info table.
Rempi Volume displays volume in a color palette, where:
gray color - very weak volume,
blue color - weak volume,
green color - normal volume,
orange color - high volume,
red color - very high volume,
purple color - ultra high volume
The indicator also supports the function of displaying a moving average, the default is 20.
The indicator can color bars on the main price chart, depending on how much volume is currently inside the bar.
The Rempi Volume indicator table has the following information for the trader:
Current Bar -information about the current bar: its volume in real time, as well as the percentage of buyers and sellers.
Previous Bar - information about the previous bar: its volume, as well as the percentage of buyers and sellers. (data is updated at bar close)
10 Bar Volume Comparison - data on the volume of buyers or sellers for the previous 10 bars on the chart.
Volume Change - changing the amount of volume between the current and previous bar, in real time.
Average Volume - average trading volume for the current day.
Market Volatility - market volatility and recommendations.
Current Trend - current trend on the market.
RSI - RSI indicator and recommendations.
/////////////////////////////////////////////////////////////
Приветствую вас уважаемые трейдеры. Вашему вниманию представляю концепт индикатора объемов Rempi Volume + информативная таблица.
Rempi Volume отображает объем в цветовой палитре , где:
серый цвет - очень слабый объем,
голубой цвет - слабый объем,
зеленый цвет - нормальный объем,
оранжевый цвет - высокий объем,
красный цвет - очень высокий объем,
фиолетовый цвет - ультра высокий объем
Также индикатор поддерживает функцию отображения скользящей средней, по умолчанию равна 20.
Индикатор может окрашивать бары на основном графике цены, в зависимости ,какой объем в данный момент внутри бара.
Таблица индикатора Rempi Volume имеет следующую информацию для трейдера:
Current Bar - информация о текущем баре: его объем в режиме реального времени, а также процентное соотношение покупателей и продавцов.
Previous Bar - информация о предыдущем баре: его объем , а также процентное соотношение покупателей и продавцов. ( данные обновляются на закрытии бара )
10 Bar Volume Comparison - данные об объеме покупателей или продавцов за предыдущие 10 баров на графике.
Volume Change - изменение количества объема между текущим и предыдущим баром,в режиме реального времени.
Average Volume - средний объем торгов за текущий день.
Market Volatility - волатильность рынка и рекомендации.
Current Trend - текущее направление рынка.
RSI - показатель RSI и рекомендации.
lib_no_delayLibrary "lib_no_delay"
This library contains modifications to standard functions that return na before reaching the bar of their 'length' parameter.
That is because they do not compromise speed at current time for correct results in the past. This is good for live trading in short timeframes but killing applications on Monthly / Weekly timeframes if instruments, like in crypto, do not have extensive history (why would you even trade the monthly on a meme coin ... not my decision).
Also, some functions rely on source (value at previous bar), which is not available on bar 1 and therefore cascading to a na value up to the last bar ... which in turn leads to a non displaying indicator and waste of time debugging this)
Anyway ... there you go, let me know if I should add more functions.
sma(source, length)
Parameters:
source (float) : Series of values to process.
length (simple int) : Number of bars (length).
Returns: Simple moving average of source for length bars back.
ema(source, length)
Parameters:
source (float) : Series of values to process.
length (simple int) : Number of bars (length).
Returns: (float) The exponentially weighted moving average of the source.
rma(source, length)
Parameters:
source (float) : Series of values to process.
length (simple int) : Number of bars (length).
Returns: Exponential moving average of source with alpha = 1 / length.
atr(length)
Function atr (average true range) returns the RMA of true range. True range is max(high - low, abs(high - close ), abs(low - close )). This adapted version extends ta.atr to start without delay at first bar and deliver usable data instead of na by averaging ta.tr(true) via manual SMA.
Parameters:
length (simple int) : Number of bars back (length).
Returns: Average true range.
rsi(source, length)
Relative strength index. It is calculated using the ta.rma() of upward and downward changes of source over the last length bars. This adapted version extends ta.rsi to start without delay at first bar and deliver usable data instead of na.
Parameters:
source (float) : Series of values to process.
length (simple int) : Number of bars back (length).
Returns: Relative Strength Index.
SessionLibrary "Session"
Helper functions for trading sessions. TradingView doesn't provide correct data when
calling some of the convenience methods like session.ismarket when you are looking at futures charts. This library corrects those mistakes by providing functions with the same names as the TradingView default properties. that reference a custom defined set of session hours for futures. It also provides a way for consumers to customize the map values by calling getSessionMap() and then overwriting (or adding) custom session definitions.
getSessionMap()
Returns a map of the futures rth & eth session hours. The map is keyed with symbol:session format (eg. ES:market or ES:overnight).
Returns: A map of futures symbols and their associated session hours.
getSessionString(session, symbol, sessionMap)
Returns a session string representing the session hours (and days) for the requested symbol (or the chart's symbol if the symbol value is not provided). If the session string is not found in the collection, it will return a blank string.
Parameters:
session (string) : A string representing the session hour being requested. One of: market (regular trading hours), overnight (extended/electronic trading hours), postmarket (after-hours), premarket
symbol (string) : The symbol to check. Optional. Defaults to chart symbol.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
inSession(session, sessionMap, barsBack)
Returns true if the current symbol is currently in the session parameters defined by sessionString.
Parameters:
session (string) : A string representing the session hour being requested. One of: market (regular trading hours), overnight (extended/electronic trading hours), postmarket (after-hours), premarket
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
barsBack (int) : Private. Only used by futures to check islastbar. Optional. The default is 0.
ismarket(sessionMap)
Returns true if the current bar is a part of the regular trading hours (i.e. market hours), false otherwise. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isfirstbar()
Returns true if the current bar is the first bar of the day's session, false otherwise. If extended session information is used, only returns true on the first bar of the pre-market bars. Works for futures (TradingView's methods do not).
Returns: bool
islastbar()
Returns true if the current bar is the last bar of the day's session, false otherwise. If extended session information is used, only returns true on the last bar of the post-market bars. Works for futures (TradingView's methods do not).
Returns: bool
ispremarket(sessionMap)
Returns true if the current bar is a part of the pre-market, false otherwise. On non-intraday charts always returns false. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
ispostmarket(sessionMap)
Returns true if the current bar is a part of the post-market, false otherwise. On non-intraday charts always returns false. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isfirstbar_regular(sessionMap)
Returns true on the first regular session bar of the day, false otherwise. The result is the same whether extended session information is used or not. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
islastbar_regular(sessionMap)
Returns true on the last regular session bar of the day, false otherwise. The result is the same whether extended session information is used or not. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isovernight(sessionMap)
Returns true if the current bar is a part of the pre-market or post-market, false otherwise. On non-intraday charts always returns false.
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
getSessionHighAndLow(session, sessionMap)
Returns a tuple containing the high and low print during the specified session.
Parameters:
session (string) : The session for which to get the high & low prints. Defaults to market.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: A tuple containing
Average Candle Range [UkutaLabs]█ OVERVIEW
The Average Candle Range is a powerful indicator that compares the size of the current bar to past bars. This comparison can be used in a wide variety of trading strategies, allowing traders to understand at a glance the relative size of each candle.
█ USAGE
As each candlestick forms, two bars will be plotted on the indicator. The grey bar represents the total range of the candle from the high to the low, and the second bar represents the body of the bar from the open to the close. Depending on whether the bar is bullish or bearish, the second bar will be colored green or red respectively.
Two averages will also be drawn over these bars that represent the average size of the two bar types over a period that is specified by the user. These averages can be toggled in the indicator settings.
█ SETTINGS
Configuration
• Period: Determines how many bars to use in the calculation of the averages.
• Show Bar Average: Determines whether or not the average for the full bar size is displayed.
• Show Body Average: Determines whether or not the average for the body is displayed.
Alert Sender Library [TradingFinder]Library "AlertSenderLibrary_TradingFinder"
🔵 Introduction
The "Alert Sender Library" is a management and production program for "Alert Messages" that enables the creation of unique messages for any type of signal generated by indicators or strategies.
These messages include the direction of the signal, symbol, time frame, the date and time the condition was triggered, prices related to the signal, and a personal message from you. To make better and more optimal use of this "library", you should carefully study " Key Features" and "How to Use".
🔵 Key Features
Automatic Detection of Appropriate Type :
Using two parameters, "AlertType" and "DetectionType", which you must enter at the beginning into the "AlertSender" function, the type of the alert message is determined.
For example, if you select one of the "DetectionType"s such as "Order Block Signal", "Signal", and "Setup", your alert type will be chosen based on "Long" and "Short". Whether it's "Long" or "Short" depends on the "AlertType" you have set to either "Bullish" or "Bearish".
Automatic Symbol Detection :
Whenever you add an alert for a specific symbol, if you want the name of that symbol to be in your message text, you must manually write the name of the symbol in your message. One of the capabilities of the "Alert Sender" is the automatic detection of the symbol and adding it to the message text.
Automatic Time Frame Detection :
When adding your alert, the "Alert Sender" detects the time frame of the symbol you intend to add the alert for and adds it to the text. This feature is very practical and can prevent traders from making mistakes.
For example, a trader might add alerts for a specific symbol using a specific indicator in different time frames, taking the main signal in the 1-hour time frame and only a confirmation signal in the 15-minute time frame. This feature helps to identify in which time frame the signal is set.
Detection of Date and Time When the Signal is Triggered :
You can have the date and time at the moment the message is sent. This feature has various uses. For example, if you use the Webhook URL feature to send messages to a Telegram channel, there might be issues with alert delivery on your server, causing delays, and you might receive the message when it has lost its validity.
With this feature, you can match the sending time of the message from TradingView with the receipt time in your messenger and detect if there is a delay in message delivery.
Important :
You can also set the Time Zone you wish to receive the date and time based on.
Display of "Key Prices" :
Key prices can vary based on the type of signals. For example, when the "DetectionType" is in "Order Block Signal" mode, the key prices are the "Distal" and "Proximal" prices. Or if the "DetectionType" is in "Setup" mode, the key prices are "Entry", "Stop Loss", and "Take Profit".
Receipt of Personal "Messages" :
You can enter your personal message using "input.string" or "input.text_area" in addition to the messages that are automatically created.
Beautiful and Functional Display of Messages :
The titles of messages sent by "AlertSender" are displayed using related emojis to prevent mistakes due to visual errors, enhancing beauty.
🔵 How to Use
🟣 Familiarity with Function and Parameters
AlertSender(Condition, Alert, AlertName, AlertType, DetectionType, SetupData, Frequency, UTC, MoreInfo, Message, o, h, l, c, Entry, TP, SL, Distal, Proximal)
Parameters:
- Condition (bool)
- Alert (string)
- AlertName (string)
- AlertType (string)
- DetectionType (string)
- SetupData (string)
- Frequency (string)
- UTC (string)
- MoreInfo (string)
- Message (string)
- o (float)
- h (float)
- l (float)
- c (float)
- Entry (float)
- TP (float)
- SL (float)
- Distal (float)
- Proximal (float)
To add "Alert Sender Library", you must first add the following code to your script.
import TFlab/AlertSenderLibrary_TradingFinder/1
🟣 Parameters
"Condition" : This parameter is a Boolean. You need to set it based on the condition that, when met (or fired), you want to receive an alert. The output should be either "true" or "false".
"Alert" : This parameter accepts one of two inputs, "On" or "Off". If set to "On", the alarm is active; if "Off", the alarm is deactivated. This input is useful when you have numerous alerts in an indicator or strategy and need to activate only a few of them. "Alert" is a string parameter.
Alert = input.string('On', 'Alert', , 'If you turn on the Alert, you can receive alerts and notifications after setting the "Alert".', group = 'Alert')
"AlertName" : This is a string parameter where you can enter the name you choose for your alert.
AlertName = input.string('Order Blocks Finder ', 'Alert Name', group = 'Alert')
"AlertType" : The inputs for this parameter are "Bullish" or "Bearish". If the condition selected in the "Condition" parameter is of a bullish bias, you should set this parameter to "Bullish", and if the condition is of a bearish bias, it should be set to "Bearish". "AlertType" is a string parameter.
"DetectionType" : This parameter's predefined inputs include "Order Block Signal", "Signal", "Setup", and "Analysis". You may provide other inputs, but some functionalities, like "Key Price", might be lost. "DetectionType" is a string parameter.
"SetupData" :
If "DetectionType" is set to "Setup", you must specify "SetupData" as either "Basic" or "Full". In "Basic" mode, only the "Entry" price needs to be defined in the function, and "TP" (Take Profit) and "SL" (Stop Loss) can be any number or NA. In "Full" mode, you need to define "Entry", "SL", and "TP". "Setup" is a string parameter.
"Frequency" : This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Frequency = input.string('Once Per Bar', 'Message Frequency', , 'The triggering frequency. Possible values are: All (all function calls trigger the alert), Once Per Bar (the first function call during the bar triggers the alert), Per Bar Close (the function call triggers the alert only when it occurs during the last script iteration of the real-time bar, when it closes). The default is alert.freq_once_per_bar.', group = 'Alert')
"UTC" : With this parameter, you can set the Time Zone for the date and time of the alert's dispatch. "UTC" is a string parameter and can be set as "UTC-4", "UTC+1", "UTC+9", or any other Time Zone.
UTC = input.string('UTC', 'Show Alert time by Time Zone', group = 'Alert')
"MoreInfo" : This parameter can take one of two inputs, "On" or "Off", which are strings. Additional information, including "Time" and "Key Price", is included. If set to "On", this information is received; if "Off", it is not displayed in the sent message.
MoreInfo = input.string('On', 'Display More Info', , group = 'Alert')
"Message" : This parameter captures the user's personal message through an input and displays it at the end of the sent message. It is a string input.
MessageBull = input.text_area('Long Position', 'Long Signal Message', group = 'Alert') MessageBear = input.text_area('Short Position', 'Short Signal Message', group = 'Alert')
"o" (Open Price): A floating-point number representing the opening price of the candle. This input is necessary when the "DetectionType" is set to "Signal". Otherwise, it can be any number or "na".
"h" (High Price): A float variable for the highest price of the candle. Required when "DetectionType" is "Signal"; in other cases, any number or "na" is acceptable.
"l" (Low Price): A float representing the lowest price of the candle. This field must be filled if "DetectionType" is "Signal". If not, it can be any number or "na".
"c" (Close Price): A floating-point variable indicating the closing price of the candle. Needed for "Signal" type detections; otherwise, it can take any value or "na".
"Entry" : A float variable indicating the entry price into a trading setup. This is relevant when "DetectionType" is in "Setup" mode. In other scenarios, it can be any number or "na". It denotes the price at which the trade setup is entered.
"TP" (Take Profit): A float that is necessary when "DetectionType" is "Setup" and "SetupData" is "Full". Otherwise, it can be any number or "na". It signifies the price target for taking profits in a trading setup.
"SL" (Stop Loss): A float required when "DetectionType" is "Setup" and "SetupData" is "Full". It can be any number or "na" in other cases. This value represents the price at which a stop loss is set to limit losses.
"Distal" : A float important for "Order Block Signal" detection. It can be any number or "na" if not in use. This variable indicates the price reaching the distal line of an order block.
"Proximal" : A float needed for "Order Block Signal" detection mode. It can take any value or "na" otherwise. It marks the price reaching the proximal line of an order block.
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
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形式发送出来,这算是一种订阅实时股价的方法。