Market Structure & Price Action Toolkit (Expo)█ Overview
This comprehensive Market Structure and Price Action toolkit integrates pioneering price action concepts, including fractal-based market structure, grid-price action system, retail and institutional levels/zones, liquidity concepts, and a plethora of advanced customization options to give you a trading advantage via price action automatically. Different from traditional technical indicators, which can be lagging, complex, and cluttered, this indicator focuses solely on raw price data to deliver accurate and real-time insights. All the features in this script originate exclusively from price action, concentrating on fractals-based swing highs, swing lows, and market structure. This enables users to automate their price action analysis across any market or timeframe.
The toolkit focuses on the real-time application of price data rather than historical data to ensure its usefulness for price action and smart money (ICT) traders. With this indicator, users can automate their price action analysis across various markets and timeframes, gaining a significant edge in their trading strategies.
█ Features and How They Work
█ Trading Systems
Market Structure:
Market Structure deals with the interpretation of price action that forms the market structure, focusing on understanding key shifts and changes in the market that may indicate where 'smart money' (large institutional investors and professional traders) might be moving in the market. This feature is based on real-time fractals instead of static pivot points. Fractals are based on the idea that markets are patterned, and those patterns repeat themselves on all scales – hence, the term "fractal", which means "fraction of the whole". The function uses fractal zones that refer to areas where the price is likely to experience a change in direction. These zones are identified by observing a series of fractal points.
Grid:
The grid system works similarly to the market structure but displays the data as a grid of support and resistance zones. This is a new and unique approach to understanding market structure. It might be a more convenient way for traders to understand how to act.
█ Retail Zones
Support/Resistance:
Support and Resistance zone are often seen and displayed with a delay. This feature is 100% real-time and displays SR levels as the price reacts and forms new highs and lows.
Confirmed Support/Resistance:
As the name suggests, the confirmed zone is first displayed on the chart when the price has reacted to a high/low formation over x period of time. This feature is handy to trade retest after breakouts of the zone.
We wanted to keep the retail zones simple regarding how they work and function to help all kinds of traders understand how to use them.
█ Institutional Zones
Supply/Demand:
Calculating supply and demand in its raw form is challenging due to the complexity and dynamism of financial markets. However, the function uses several concepts to gauge supply and demand levels.
Buying and Selling pressure: The buying pressure represents the highest price point (over x period and volume), while the selling pressure price represents the lowest price point (over x period and volume). The gap between the two is known as the buying/selling pressure spread. A narrow spread often signifies high liquidity and balanced supply and demand, while a wider spread might indicate imbalances.
Price Trends: Upward price movements indicate higher demand, while downward trends may suggest increased supply.
Order blocks:
Order blocks are similar to supply/demand, and the main difference is that an order block is created at specific price action and market structure patterns.
█ How to use the Market Structure Toolkit
Market Structure
Market Structure + Confirmed S/R
Grid System
Demand Zone
Supply Zone
Order Block
Support/Resistance Zones
Confirmed Support/Resistance Zone
Retest of SR Levels
█ Why Use Price Action and Market Structure
A comprehensive trading strategy often involves using both price action and market structure. Traders can use price action to understand the immediate behavior of the price and market structure to understand the broader context within which the price is moving.
Market Structure combined with Price Action refers to the observable pattern of price movement. Traders use this structure to identify trend direction (up, down, or sideways), market phase (trend or range), and key price levels (like support and resistance).
Here are some core concepts within price action trading:
Trend Identification: This is a fundamental aspect of price action trading. By simply looking at the raw price data on a chart, traders can identify whether the instrument is in an uptrend (making higher highs and higher lows), a downtrend (making lower highs and lower lows), or ranging sideways.
Support and Resistance Levels: These are horizontal lines drawn on a chart where the price has historically had difficulty moving beyond. Support is a price level where buying pressure is strong enough to prevent the price from falling further, while resistance is a level where selling pressure is strong enough to prevent further price increases.
Candlestick Patterns: Price action traders rely heavily on candlestick patterns, which can provide a lot of information about market sentiment.
Chart Patterns: In addition to individual candlestick patterns, price action traders often look for larger chart patterns like double tops/bottoms, triangles, wedges, head and shoulders patterns, and more. These patterns can take longer to form but can also provide insight into potential price movement.
Price Zones: Rather than exact price levels, many price action traders consider zones of support and resistance, understanding that market behavior isn't always perfectly precise. A zone might cover a small range of prices at which the market has repeatedly reversed in the past.
The idea behind price action trading is that the price itself can provide clues to what the market might do next. Traders who follow this approach believe that price is the final determinant of value and contains all the information needed.
█ Any Alert Function Call
This function allows traders to combine any feature and create customized alerts. These alerts can be set for various conditions and customized according to the trader's strategy or preferences.
█ In conclusion, This toolkit is particularly useful for price action and smart money traders, as it prioritizes real-time application of price data, which in turn allows a more responsive and informed decision-making process in trading.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Marketstructure
ChanLun ProChanLun, also known as Entanglement Theory or "缠论", is a highly regarded technical analysis methodology that originated in China. Since its introduction in 2006, ChanLun has rapidly gained significant attention and a strong following within the Chinese trader community due to its exceptional ability to navigate complex market dynamics.
ChanLun places great emphasis on market structure, price action, momentum, and the intricate interplay between market forces. It recognizes that the market operates in cyclical patterns and aims to capture the underlying structure and rhythm of price movements. Through meticulous analysis of the intricate relationships between price and time, it provides traders with a unique perspective on market trends, potential reversals, and critical turning points.
This indicator offers a meticulous and comprehensive implementation of the ChanLun theory. It facilitates in-depth analysis and visual representation of all essential components, encompassing “Candlestick Conversion”, "Candlestick Standardization", "Fractal", "Stroke", "Segment", "Pivot", and "Buying/Selling Point".
🟠 Algorithm
🔵 Step 1: Candlestick Conversion
In ChanLun, candlestick analysis focuses less on the opening/closing prices and wicks, but rather emphasizes the price range at which the stock price has reached. As a result, the initial step in ChanLun involves converting each candlestick to contain solely the high and low prices, disregarding other elements.
🔵 Step 2: Candlestick Standardization
In the second step, the converted candlesticks are standardized to ensure strict directional consistency and eliminate the presence of inner bars or outer bars. For any adjacent two candlesticks A and B where one’s price range completely encompasses another, A and B are merged into a new candlestick C. If A is trending up from its previous candle, then C will be defined such that high(C) = max(high(A), high(B)) and low(C) = max(low(A), low(B)). If A is trending down from its previous candle, then C will be defined such that high(C) = min(high(A), high(B)) and low(C) = min(low(A), low(B)).
After completing these steps, when considering any adjacent candlesticks A and B, we can always observe either of the following conditions:
1. high(A) > high(B) and low(A) > low(B)
2. high(A) < high(B) and low(A) < low(B)
The chart below illustrates how the candlesticks would appear after this step.
🔵 Step 3: Fractals
A "Fractal" refers to the pattern formed by three consecutive "standardized" candlesticks, where the middle candlestick shows a clear higher or lower value compared to the surrounding candlesticks. When considering three adjacent candlesticks, A, B, and C, we have either of the two conditions:
1. high(B) > high(A) and high(B) > high(C) and low(B) > low(A) and low(B) > low(C)
2. high(B) < low(A) and high(B) < low(C) and low(B) < low(A) and low(B) < low(C)
For #1 above, we refer to the combination of A, B, and C as a “Top Fractal”, whereas for #2 we designate it as a “Bottom Fractal”.
The chart below illustrates all the fractals, with the red triangles indicating the Top Fractals and the green triangles indicating the Bottom Fractals.
🔵 Step 4: Strokes
A “Stroke” is a line connecting a top fractal and a bottom fractal, subject to the following rules:
1. There must be at least one "free" candlestick positioned between these fractals, meaning it is not part of either the top or bottom fractal. This guarantees that a stroke encompasses a minimum range of five candlesticks from beginning to end.
2. The top fractal must have a higher price compared to the bottom fractal.
3. The endpoint fractals should represent the highest or lowest point throughout the entire span of the stroke. (There is an option within this indicator to enable or disable this rule.)
Strokes enable traders to identify and visualize significant price swings or trends while effectively filtering out minor fluctuations.
🔵 Step 5: Segments
A "Segment" is a higher-level line that connects the starting and ending points of at least three consecutive strokes, reflecting the current trend of the market structure. It continues to extend as new strokes emerge, until there is a break in the market structure. The break occurs when an uptrend forms a lower high and lower low, or when a downtrend forms a higher high and higher low. It's worth noting that during trading ranges, it is common for strokes to exhibit a higher high and lower low or a higher low and lower high pattern (similar to inner bars and outer bars). In such cases, the strokes will be merged in a similar manner as described earlier for candlesticks, until there is a distinct break in the market structure. Segments provide a relatively stable depiction of the market trend in a higher timeframe, as opposed to strokes.
It is important to note that the algorithm used to calculate segments from strokes can be recursively applied to the generated segments again, forming higher-level segments that represent the market trend on a even larger timeframe.
🔵 Step 6: Pivots
In ChanLun, the term "Pivot" does not indicate a price reversal point. Instead, it represents a trading range where the price of a security tends to fluctuate. Within a given "Segment," the pivot is determined by the overlap of two consecutive strokes moving in the opposite direction of the segment. When two downtrend strokes A and B form a pivot P within an uptrend segment S, the upper and lower bounds of the pivot are defined as follows:
1. upper(P) = min(high(A), high(B)
2. lower(P) = max(low(A), low(B))
The pivot range is typically where consolidation occurs and where there is a high trading volume.
If a future stroke, moving in the opposite direction of the current segment, overlaps with the upper and lower bounds of the pivot, it is merged into the existing pivot and extends the pivot along the x-axis. A new pivot is formed when two consecutive strokes moving in the opposite direction of the current segment, intersect with each other without overlapping the previous pivot.
Likewise, pivots can also be recursively identified within the higher-level segments. The blue boxes below represent the "Segment Pivots" that are identified within the context of higher-level segments.
🔵 Step 7: Buying/Selling Points
There are three types of buying/selling points defined in ChanLun.
1. Type 1 Buying and Selling Points: Also known as trend reversal points. These points are where the old segments terminate and new segments are generated.
2. Type 2 Buying and Selling Points: Also known as trend continuation points. These points occur while the price is in the midst of a trend and signify the continuation of the trend. In an uptrend, the Type 2 buying point is the rebound point after the price retraces to a previous low or support level, indicating that the price may continue to rise. In a downtrend, the Type 2 selling point is the pullback point after the price rallies to a previous high or resistance level, indicating that the price may continue to decline.
3. Type 3 Buying and Selling Points: These points indicate the retests of breakouts from pivot ranges. The presence of these retest points suggests that the price has the potential to continue its upward/downward movement above/below the pivot levels.
A discerning reader may notice that these buying/selling points are lagging indicators. For example, by the time a new segment is confirmed, multiple candlesticks have already occurred since the type 1 buying/selling point of that segment.
Indeed, it is true that the buying/selling points lag behind the actual market movements. However, ChanLun addresses this issue through the utilization of multi-timeframe analysis. By examining the confirmed buying/selling points in a lower timeframe, one can gather additional confidence in determining the overall trend of the higher timeframe.
🔵 Step 8: Divergence
Another core technique in ChanLun is the application of divergence to anticipate the emergence of type 1 buying/selling points. While MACD is the most commonly employed indicator for detecting divergence, other indicators such as RSI can also be utilized for this purpose.
🟠 Summary
In essence, ChanLun is a robust approach to technical analysis that integrates the careful examination and interpretation of price charts, the application of technical indicators and quantitative tools, and a keen attention to multiple timeframes. Its objective is to identify prevailing market trends and uncover potential trading prospects. What sets ChanLun apart is its holistic methodology, which blends both qualitative and quantitative analysis to facilitate informed and successful trading decisions.
🟠 NOTE
The freely available "ChanLun | AlgoTrader" script, published by the same account, incorporates only a limited set of fundamental concepts from ChanLun.
In contrast, this script is a premium invite-only version that represents a comprehensive implementation of the complete ChanLun methodology, specifically tailored for more experienced and professional traders.
________________________________________________________________________________
该指标严格按照缠论原文实现了包括“K线标准化”、“分型”、“笔”、“线段”、“中枢”和“买卖点”在内的所有关键元素。它旨在为缠友们提供一个准确可靠的缠论实现,以便快速而精准地分析市场,从而获得更优秀的交易业绩。
该指标的主要特点如下:
1. 实时标记所有缠论元素:该指标具备实时识别和标记分型、笔、线段、中枢和买卖点的功能,提供清晰的信号和准确的趋势判断。
2. 多种笔段算法选择:提供三种不同的笔算法(“老笔”、“新笔”和“4K”)以及两种线段算法(“特征序列”和“1+1终结”),满足不同交易者个性化需求,可根据偏好和策略选择最适合的算法。
3. 三级别联立:指标同步计算并显示笔、线段和递归高级段,提供更全面的市场动态分析。
4. 自定义颜色:用户可以根据个人喜好和需求自定义指标的颜色方案,与图表风格和视觉需求完美匹配。
5. 完美实现K线回放功能:指标充分利用了K线回放功能,让交易者能够回顾和分析历史市场数据,提高对市场趋势的研究和理解,增强市场洞察力和决策能力。
ChanLun [AlgoTrader]ChanLun, also known as Entanglement Theory or "缠论," is a highly regarded technical analysis methodology that originated in China. Since its introduction in 2006, ChanLun has rapidly gained significant attention and a strong following within the Chinese trader community due to its exceptional ability to navigate complex market dynamics.
ChanLun places great emphasis on market structure, price action, momentum, and the intricate interplay between market forces. It recognizes that the market operates in cyclical patterns and aims to capture the underlying structure and rhythm of price movements. Through meticulous analysis of the intricate relationships between price and time, it provides traders with a unique perspective on market trends, potential reversals, and critical turning points.
This indicator incorporates three fundamental components of the ChanLun methodology, namely "Candle Standardization," "Fractal," and "Stroke."
- "Candle Standardization" is a process in which the candles are standardized to ensure strict directional consistency and eliminate the presence of inner bars or outer bars.
- "Fractal" refers to the formation of three consecutive "standardized" bars, with the middle bar demonstrating a definitive higher or lower value compared to the bars surrounding it.
- "Stroke" is a line connecting a top fractal and a bottom fractal, subject to the strict condition that there is a minimum of one free bar positioned between them. This requirement ensures that a stroke encompasses a minimum span of five bars from end to end. It is crucial to emphasize that the top fractal consistently maintains a higher value than the bottom fractal.
Within the ChanLun algorithm, these components are processed meticulously and sequentially. The initial step involves candle standardization, where the candles are harmonized to adhere to strict criteria. Subsequently, the identification of fractals takes place by examining the standardized candles. Finally, the stroke component is applied, establishing connections between top and bottom fractals while ensuring the defined conditions are met.
The final component, stroke, enables traders to identify and visualize significant price swings or trends while effectively filtering out minor fluctuations. This functionality proves particularly valuable in recognizing major support and resistance levels, trend reversals, and chart patterns, enhancing the overall analysis process.
__________________________________________________________________________________________________________
本指标严格按照缠论原理实现了三个核心要素,分别为“K线标准化”、“分型”和“笔”。它旨在为缠友们提供准确而可靠的市场分析工具,以在交易中获得更好的表现。
该指标的特色如下:
1. 实时标记分型和笔:本指标具备实时识别和标记分型和笔的功能,以提供清晰的信号和准确的趋势判断。
2. 多种笔算法选择:本指标提供三种不同的笔算法,包括“老笔”、“新笔”和“4K”。这样的设计能够满足不同缠友的个性化需求,让大家根据自己的偏好和策略选择最适合的算法。
3. 自定义颜色:缠友们可以根据自己的喜好和需求,自定义指标的颜色方案。这样的灵活性使得指标能够与图表风格和视觉需求完美匹配。
4. 完美实现K线回放功能:本指标充分利用了K线回放功能,使缠友们能够回顾和分析历史市场数据,从而可以更好地研究和理解市场趋势,提高对市场的洞察力和决策能力。
ICT Donchian Smart Money Structure (Expo)█ Concept Overview
The Inner Circle Trader (ICT) methodology is focused on understanding the actions and implications of the so-called "smart money" - large institutions and professional traders who often influence market movements. Key to this is the concept of market structure and how it can provide insights into potential price moves.
Over time, however, there has been a notable shift in how some traders interpret and apply this methodology. Initially, it was designed with a focus on the fractal nature of markets. Fractals are recurring patterns in price action that are self-similar across different time scales, providing a nuanced and dynamic understanding of market structure.
However, as the ICT methodology has grown in popularity, there has been a drift away from this fractal-based perspective. Instead, many traders have started to focus more on pivot points as their primary tool for understanding market structure.
Pivot points provide static levels of potential support and resistance. While they can be useful in some contexts, relying heavily on them could provide a skewed perspective of market structure. They offer a static, backward-looking view that may not accurately reflect real-time changes in market sentiment or the dynamic nature of markets.
This shift from a fractal-based perspective to a pivot point perspective has significant implications. It can lead traders to misinterpret market structure and potentially make incorrect trading decisions.
To highlight this issue, you've developed a Donchian Structure indicator that mirrors the use of pivot points. The Donchian Channels are formed by the highest high and the lowest low over a certain period, providing another representation of potential market extremes. The fact that the Donchian Structure indicator produces the same results as pivot points underscores the inherent limitations of relying too heavily on these tools.
While the Donchian Structure indicator or pivot points can be useful tools, they should not replace the original, fractal-based perspective of the ICT methodology. These tools can provide a broad overview of market structure but may not capture the intricate dynamics and real-time changes that a fractal-based approach can offer.
It's essential for traders to understand these differences and to apply these tools correctly within the broader context of the ICT methodology and the Smart Money Concept Structure. A well-rounded approach that incorporates fractals, along with other tools and forms of analysis, is likely to provide a more accurate and comprehensive understanding of market structure.
█ Smart Money Concept - Misunderstandings
The Smart Money Concept is a popular concept among traders, and it's based on the idea that the "smart money" - typically large institutional investors, market makers, and professional traders - have superior knowledge or information, and their actions can provide valuable insight for other traders.
One of the biggest misunderstandings with this concept is the belief that tracking smart money activity can guarantee profitable trading.
█ Here are a few common misconceptions:
Following Smart Money Equals Guaranteed Success: Many traders believe that if they can follow the smart money, they will be successful. However, tracking the activity of large institutional investors and other professionals isn't easy, as they use complex strategies, have access to information not available to the public, and often intentionally hide their moves to prevent others from detecting their strategies.
Instantaneous Reaction and Results: Another misconception is that market movements will reflect smart money actions immediately. However, large institutions often slowly accumulate or distribute positions over time to avoid moving the market drastically. As a result, their actions might not produce an immediate noticeable effect on the market.
Smart Money Always Wins: It's not accurate to assume that smart money always makes the right decisions. Even the most experienced institutional investors and professional traders make mistakes, misjudge market conditions, or are affected by unpredictable events.
Smart Money Activity is Transparent: Understanding what constitutes smart money activity can be quite challenging. There are many indicators and metrics that traders use to try and track smart money, such as the COT (Commitments of Traders) reports, Level II market data, block trades, etc. However, these can be difficult to interpret correctly and are often misleading.
Assuming Uniformity Among Smart Money: 'Smart Money' is not a monolithic entity. Different institutional investors and professional traders have different strategies, risk tolerances, and investment horizons. What might be a good trade for a long-term institutional investor might not be a good trade for a short-term professional trader, and vice versa.
█ Market Structure
The Smart Money Concept Structure deals with the interpretation of price action that forms the market structure, focusing on understanding key shifts or changes in the market that may indicate where 'smart money' (large institutional investors and professional traders) might be moving in the market.
█ Three common concepts in this regard are Change of Character (CHoCH), and Shift in Market Structure (SMS), Break of Structure (BMS/BoS).
Change of Character (CHoCH): This refers to a noticeable change in the behavior of price movement, which could suggest that a shift in the market might be about to occur. This might be signaled by a sudden increase in volatility, a break of a trendline, or a change in volume, among other things.
Shift in Market Structure (SMS): This is when the overall structure of the market changes, suggesting a potential new trend. It usually involves a sequence of lower highs and lower lows for a downtrend, or higher highs and higher lows for an uptrend.
Break of Structure (BMS/BoS): This is when a previously defined trend or pattern in the price structure is broken, which may suggest a trend continuation.
A key component of this approach is the use of fractals, which are repeating patterns in price action that can give insights into potential market reversals. They appear at all scales of a price chart, reflecting the self-similar nature of markets.
█ Market Structure - Misunderstandings
One of the biggest misunderstandings about the ICT approach is the over-reliance or incorrect application of pivot points. Pivot points are a popular tool among traders due to their simplicity and easy-to-understand nature. However, when it comes to the Smart Money Concept and trying to follow the steps of professional traders or large institutions, relying heavily on pivot points can create misconceptions and lead to confusion. Here's why:
Delayed and Static Information: Pivot points are inherently backward-looking because they're calculated based on the previous period's data. As such, they may not reflect real-time market dynamics or sudden changes in market sentiment. Furthermore, they present a static view of market structure, delineating pre-defined levels of support and resistance. This static nature can be misleading because markets are fundamentally dynamic and constantly changing due to countless variables.
Inadequate Representation of Market Complexity: Markets are influenced by a myriad of factors, including economic indicators, geopolitical events, institutional actions, and market sentiment, among others. Relying on pivot points alone for reading market structure oversimplifies this complexity and can lead to a myopic understanding of market dynamics.
False Signals and Misinterpretations: Pivot points can often give false signals, especially in volatile markets. Prices might react to these levels temporarily but then continue in the original direction, leading to potential misinterpretation of market structure and sentiment. Also, a trader might wrongly perceive a break of a pivot point as a significant market event, when in fact, it could be due to random price fluctuations or temporary volatility.
Over-simplification: Viewing market structure only through the lens of pivot points simplifies the market to static levels of support and resistance, which can lead to misinterpretation of market dynamics. For instance, a trader might view a break of a pivot point as a definite sign of a trend, when it could just be a temporary price spike.
Ignoring the Fractal Nature of Markets: In the context of the Smart Money Concept Structure, understanding the fractal nature of markets is crucial. Fractals are self-similar patterns that repeat at all scales and provide a more dynamic and nuanced understanding of market structure. They can help traders identify shifts in market sentiment or direction in real-time, providing more relevant and timely information compared to pivot points.
The key takeaway here is not that pivot points should be entirely avoided or that they're useless. They can provide valuable insights and serve as a useful tool in a trader's toolbox when used correctly. However, they should not be the sole or primary method for understanding the market structure, especially in the context of the Smart Money Concept Structure.
█ Fractals
Instead, traders should aim for a comprehensive understanding of markets that incorporates a range of tools and concepts, including but not limited to fractals, order flow, volume analysis, fundamental analysis, and, yes, even pivot points. Fractals offer a more dynamic and nuanced view of the market. They reflect the recursive nature of markets and can provide valuable insights into potential market reversals. Because they appear at all scales of a price chart, they can provide a more holistic and real-time understanding of market structure.
In contrast, the Smart Money Concept Structure, focusing on fractals and comprehensive market analysis, aims to capture a more holistic and real-time view of the market. Fractals, being self-similar patterns that repeat at different scales, offer a dynamic understanding of market structure. As a result, they can help to identify shifts in market sentiment or direction as they happen, providing a more detailed and timely perspective.
Furthermore, a comprehensive market analysis would consider a broader set of factors, including order flow, volume analysis, and fundamental analysis, which could provide additional insights into 'smart money' actions.
█ Donchian Structure
Donchian Channels are a type of indicator used in technical analysis to identify potential price breakouts and trends, and they may also serve as a tool for understanding market structure. The channels are formed by taking the highest high and the lowest low over a certain number of periods, creating an envelope of price action.
Donchian Channels (or pivot points) can be useful tools for providing a general view of market structure, and they may not capture the intricate dynamics associated with the Smart Money Concept Structure. A more nuanced approach, centered on real-time fractals and a comprehensive analysis of various market factors, offers a more accurate understanding of 'smart money' actions and market structure.
█ Here is why Donchian Structure may be misleading:
Lack of Nuance: Donchian Channels, like pivot points, provide a simplified view of market structure. They don't take into account the nuanced behaviors of price action or the complex dynamics between buyers and sellers that can be critical in the Smart Money Concept Structure.
Limited Insights into 'Smart Money' Actions: While Donchian Channels can highlight potential breakout points and trends, they don't necessarily provide insights into the actions of 'smart money'. These large institutional traders often use sophisticated strategies that can't be easily inferred from price action alone.
█ Indicator Overview
We have built this Donchian Structure indicator to show that it returns the same results as using pivot points. The Donchian Structure indicator can be a useful tool for market analysis. However, it should not be seen as a direct replacement or equivalent to the original Smart Money concept, nor should any indicator based on pivot points. The indicator highlights the importance of understanding what kind of trading tools we use and how they can affect our decisions.
The Donchian Structure Indicator displays CHoCH, SMS, BoS/BMS, as well as premium and discount areas. This indicator plots everything in real-time and allows for easy backtesting on any market and timeframe. A unique candle coloring has been added to make it more engaging and visually appealing when identifying new trading setups and strategies. This candle coloring is "leading," meaning it can signal a structural change before it actually happens, giving traders ample time to plan their next trade accordingly.
█ How to use
The indicator is great for traders who want to simplify their view on the market structure and easily backtest Smart Money Concept Strategies. The added candle coloring function serves as a heads-up for structure change or can be used as trend confirmation. This new candle coloring feature can generate many new Smart Money Concepts strategies.
█ Features
Market Structure
The market structure is based on the Donchian channel, to which we have added what we call 'Structure Response'. This addition makes the indicator more useful, especially in trending markets. The core concept involves traders buying at a discount and selling or shorting at a premium, depending on the order flow. Structure response enables traders to determine the order flow more clearly. Consequently, more trading opportunities will appear in trending markets.
Structure Candles
Structure Candles highlight the current order flow and are significantly more responsive to structural changes. They can provide traders with a heads-up before a break in structure occurs
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
SME Backtesting [TFO]This strategy script is an extension of my Smart Money Essentials (SME) indicator and aims to provide a simplified means of backtesting complex trade models that incorporate a variety of Smart Money Concepts.
Among other things, Smart Money Essentials contains logic for:
- Market structure
- Fair Value Gaps
- Order Blocks
- Breaker Blocks
- Optimal Trade Entries
- HTF Market Structure
The Confluence section can then be utilized to build and test trade models from any combination of the included factors. As a basic example, we could test a strategy that only utilizes market structure. With Manual Exit turned off, we would simply be flipping long on bullish market structure shifts, and reversing short on bearish market structure shifts for the duration of the user-defined session.
As one might expect, such a simple strategy isn't expected to produce very reliable results by itself. However, we could build on these ideas by adding extra layers of Confluence, like looking for entries where Market Structure aligns with Order Block interactions. We could also turn on Manual Exit with a 40 tick stop loss and 80 tick profit target (10 points and 20 points, respectively, for ES futures), for more defined exit criteria.
One could expand on these ideas by adding factors like Fair Value Gaps, HTF Market Structure, etc. Any of the core pieces of SME can be used to build and backtest strategies that would otherwise be extremely tedious to do by hand, and as the SME indicator grows, so too will this backtesting script. Ultimately, the purpose of this is to make Smart Money Concepts more objective and easily testable so that users may better understand where these concepts may perform best.
Simple ICT Market Structure by toodegreesThis Simple ICT Market Structure is based on the teachings of ICT, specifically in his episode 12 of the Public 2022 Mentorship.
The only omission here is the peculiar calculation of Intermediate Term points, for which I am not using the concept of repricing imbalances – this can be added later!
Feel free to use this tool, however it is quite simple and market structure is something we all know very well how to spot. In my opinion it is helpful to display the long term swing points to identify more mature pools of liquidity.
The reason for coding this tool is to help new coders understand PineScript (I have a video tutorial where I code this from start to finish), as well as fostering some algorithmic thinking in your trading of ICT Concepts and Algorithmic Delivery.
If you have any questions about the code, shoot me a message!
Hope you learn something and GLGT!
Market Structure Trailing Stop [LuxAlgo]This script returns trailing stops on the occurrence of market structure (CHoCH/BOS labeling). Trailing stops are adjusted based on trailing maximums/minimums with the option for users to be able to control how quickly a trailing stop can converge toward the price.
🔶 SETTINGS
Pivot Lookback: Pivot length used for the detection of swing points.
Increment Factor %: Controls how fast trailing stops converge toward the price, with lower values returning slower converging trailing stops.
Reset Stop On: Determines if trailing stops are reset on CHoCH structure or all (CHoCH + BOS).
Show Structure: Determines if market structure is displayed.
🔶 USAGE
Trailing stops allow traders to protect them against downside risk while also guaranteeing a potential profit in case the market goes in the expected direction of the trade.
Users making use of market structure as a primary entry condition can benefit from having trailing stops based on these to either provide an additional exit condition or to provide points of support/resistance with the price.
Trailing stops can avoid being hit more frequently by using a lower Increment Factor % setting.
Finally, users can reset the trailing stop when any market structure is detected (or only on CHoCHs). Allowing trailing stops to reset on the detection of any market structure allows the indicator to return trailing stops closer to the price. CHoCH labels are highlighted as dashed lines while BOS labels are highlighted as dotted lines.
🔶 DETAILS
When a new structure (or only CHoCH if specified by the user) is detected, trailing stops will initially be set based on the maximum/minimum made on the previous trend. This will also set the trailing maximum/minimum to the current price value.
If an uptrend is detected (most recent market structure is bullish) then the trailing stop will increase if the trailing maximum increase, the increment is calculated as:
trailing stop = trailing stop + Increment Factor % of (trailing maximum - previous trailing maximum)
If a downtrend is detected (most recent market structure is bearish) then the trailing stop will decrease if the trailing minimum decrease, the decrement is calculated as:
trailing stop = trailing stop + Increment Factor % of (trailing minimum - previous trailing minimum)
ICT Concepts [LuxAlgo]The ICT Concepts indicator regroups core concepts highlighted by trader and educator "The Inner Circle Trader" (ICT) into an all-in-one toolkit. Features include Market Structure (MSS & BOS), Order Blocks, Imbalances, Buyside/Sellside Liquidity, Displacements, ICT Killzones, and New Week/Day Opening Gaps.
🔶 SETTINGS
🔹 Mode
When Present is selected, only data of the latest 500 bars are used/visualized, except for NWOG/NDOG
🔹 Market Structure
Enable/disable Market Structure.
Length: will set the lookback period/sensitivity.
In Present Mode only the latest Market Structure trend will be shown, while in Historical Mode, previous trends will be shown as well:
You can toggle MSS/BOS separately and change the colors:
🔹 Displacement
Enable/disable Displacement.
🔹 Volume Imbalance
Enable/disable Volume Imbalance.
# Visible VI's: sets the amount of visible Volume Imbalances (max 100), color setting is placed at the side.
🔹 Order Blocks
Enable/disable Order Blocks.
Swing Lookback: Lookback period used for the detection of the swing points used to create order blocks.
Show Last Bullish OB: Number of the most recent bullish order/breaker blocks to display on the chart.
Show Last Bearish OB: Number of the most recent bearish order/breaker blocks to display on the chart.
Color settings.
Show Historical Polarity Changes: Allows users to see labels indicating where a swing high/low previously occurred within a breaker block.
Use Candle Body: Allows users to use candle bodies as order block areas instead of the full candle range.
Change in Order Blocks style:
🔹 Liquidity
Enable/disable Liquidity.
Margin: sets the sensitivity, 2 points are fairly equal when:
'point 1' < 'point 2' + (10 bar Average True Range / (10 / margin)) and
'point 1' > 'point 2' - (10 bar Average True Range / (10 / margin))
# Visible Liq. boxes: sets the amount of visible Liquidity boxes (max 50), this amount is for Sellside and Buyside boxes separately.
Colour settings.
Change in Liquidity style:
🔹 Fair Value Gaps
Enable/disable FVG's.
Balance Price Range: this is the overlap of latest bullish and bearish Fair Value Gaps.
By disabling Balance Price Range only FVGs will be shown.
Options: Choose whether you wish to see FVG or Implied Fair Value Gaps (this will impact Balance Price Range as well)
# Visible FVG's: sets the amount of visible FVG's (max 20, in the same direction).
Color settings.
Change in FVG style:
🔹 NWOG/NDOG
Enable/disable NWOG; color settings; amount of NWOG shown (max 50).
Enable/disable NDOG ; color settings; amount of NDOG shown (max 50).
🔹 Fibonacci
This tool connects the 2 most recent bullish/bearish (if applicable) features of your choice, provided they are enabled.
3 examples (FVG, BPR, OB):
Extend lines -> Enabled (example OB):
🔹 Killzones
Enable/disable all or the ones you need.
Time settings are coded in the corresponding time zones.
🔶 USAGE
By default, the indicator displays each feature relevant to the most recent price variations in order to avoid clutter on the chart & to provide a very similar experience to how a user would contruct ICT Concepts by hand.
Users can use the historical mode in the settings to see historical market structure/imbalances. The ICT Concepts indicator has various use cases, below we outline many examples of how a trader could find usage of the features together.
In the above image we can see price took out Sellside liquidity, filled two bearish FVGs, a market structure shift, which then led to a clean retest of a bullish FVG as a clean setup to target the order block above.
Price then fills the OB which creates a breaker level as seen in yellow.
Broken OBs can be useful for a trader using the ICT Concepts indicator as it marks a level where orders have now been filled, indicating a solidified level that has proved itself as an area of liquidity. In the image above we can see a trade setup using a broken bearish OB as a potential entry level.
We can see the New Week Opening Gap (NWOG) above was an optimal level to target considering price may tend to fill / react off of these levels according to ICT.
In the next image above, we have another example of various use cases where the ICT Concepts indicator hypothetically allow traders to find key levels & find optimal entry points using market structure.
In the image above we can see a bearish Market Structure Shift (MSS) is confirmed, indicating a potential trade setup for targeting the Balanced Price Range imbalance (BPR) below with a stop loss above the buyside liquidity.
Although what we are demonstrating here is a hindsight example, it shows the potential usage this toolkit gives you for creating trading plans based on ICT Concepts.
Same chart but playing out the history further we can see directly after price came down to the Sellside liquidity & swept below it...
Then by enabling IFVGs in the settings, we can see the IFVG retests alongside the Sellside & Buyside liquidity acting in confluence.
Which allows us to see a great bullish structure in the market with various key levels for potential entries.
Here we can see a potential bullish setup as price has taken out a previous Sellside liquidity zone and is now retesting a NWOG + Volume Imbalance.
Users also have the option to display Fibonacci retracements based on market structure, order blocks, and imbalance areas, which can help place limit/stop orders more effectively as well as finding optimal points of interest beyond what the primary ICT Concepts features can generate for a trader.
In the above image we can see the Fibonacci extension was selected to be based on the NWOG giving us some upside levels above the buyside liquidity.
🔶 DETAILS
Each feature within the ICT Concepts indicator is described in the sub sections below.
🔹 Market Structure
Market structure labels are constructed from price breaking a prior swing point. This allows a user to determine the current market trend based on the price action.
There are two types of Market Structure labels included:
Market Structure Shift (MSS)
Break Of Structure (BOS)
A MSS occurs when price breaks a swing low in an uptrend or a swing high in a downtrend, highlighting a potential reversal. This is often labeled as "CHoCH", but ICT specifies it as MSS.
On the other hand, BOS labels occur when price breaks a swing high in an uptrend or a swing low in a downtrend. The occurrence of these particular swing points is caused by retracements (inducements) that highlights liquidity hunting in lower timeframes.
🔹 Order Blocks
More significant market participants (institutions) with the ability of placing large orders in the market will generally place a sequence of individual trades spread out in time. This is referred as executing what is called a "meta-order".
Order blocks highlight the area where potential meta-orders are executed. Bullish order blocks are located near local bottoms in an uptrend while bearish order blocks are located near local tops in a downtrend.
When price mitigates (breaks out) an order block, a breaker block is confirmed. We can eventually expect price to trade back to this breaker block offering a new trade opportunity.
🔹 Buyside & Sellside Liquidity
Buyside / Sellside liquidity levels highlight price levels where market participants might place limit/stop orders.
Buyside liquidity levels will regroup the stoploss orders of short traders as well as limit orders of long traders, while Sellside liquidity levels will regroup the stoploss orders of long traders as well as limit orders of short traders.
These levels can play different roles. More informed market participants might view these levels as source of liquidity, and once liquidity over a specific level is reduced it will be found in another area.
🔹 Imbalances
Imbalances highlight disparities between the bid/ask, these can also be defined as inefficiencies, which would suggest that not all available information is reflected by the price and would as such provide potential trading opportunities.
It is common for price to "rebalance" and seek to come back to a previous imbalance area.
ICT highlights multiple imbalance formations:
Fair Value Gaps: A three candle formation where the candle shadows adjacent to the central candle do not overlap, this highlights a gap area.
Implied Fair Value Gaps: Unlike the fair value gap the implied fair value gap has candle shadows adjacent to the central candle overlapping. The gap area is constructed from the average between the respective shadow and the nearest extremity of their candle body.
Balanced Price Range: Balanced price ranges occur when a fair value gap overlaps a previous fair value gap, with the overlapping area resulting in the imbalance area.
Volume Imbalance: Volume imbalances highlight gaps between the opening price and closing price with existing trading activity (the low/high overlap the previous high/low).
Opening Gap: Unlike volume imbalances opening gaps highlight areas with no trading activity. The low/high does not reach previous high/low, highlighting a "void" area.
🔹 Displacement
Displacements are scenarios where price forms successive candles of the same sentiment (bullish/bearish) with large bodies and short shadows.
These can more technically be identified by positive auto correlation (a close to open change is more likely to be followed by a change of the same sign) as well as volatility clustering (large changes are followed by large changes).
Displacements can be the cause for the formation of imbalances as well as market structure, these can be caused by the full execution of a meta order.
🔹 Kill Zones
Killzones represent different time intervals that aims at offering optimal trade entries. Killzones include:
- New York Killzone (7:9 ET)
- London Open Killzone (2:5 ET)
- London Close Killzone (10:12 ET)
- Asian Killzone (20:00 ET)
🔶 Conclusion & Supplementary Material
This script aims to emulate how a trader would draw each of the covered features on their chart in the most precise representation to how it's actually taught by ICT directly.
There are many parallels between ICT Concepts and Smart Money Concepts that we released in 2022 which has a more general & simpler usage:
ICT Concepts, however, is more specifically aligned toward the community's interpretation of how to analyze price 'based on ICT', rather than displaying features to have a more classic interpretation for a technical analyst.
Steel Step Assistant: Trend Visualizer + Market Flow 1.0This is a market flow signal indicator. Flow with the market and you will find yourself in good hands.
This indicator simply gives you a signal of the RIGHT time to follow a market trend/direction. The indicator is designed with Steel Step strategy rules for determining directions.
It calculates and provides the most market direction signals within a particular period of time.
It also gives a relatively accurate signal of trend reversals. Being an indicator, it is prone to a certain extent of inaccuracy. It is programmed to provide an accurate market direction/flow to the best of its abilities.
Always remember that the Steel Step strategy does not rely on indicators to trade.
The trend visualizer is an ordinary table that shows you trends in different time frames.
This indicator can be used on all charts and markets; crypto, commodities, forex, stock, indices, etc.
It is suitable for intra-day traders.
One way of using this is to enhance your information gathering on trends in order to understand the market structure or direction better.
This indicator helps educate users on the market structure. Users can quickly break down the market into layers, analyze the layers and connect them all to understand the market as a whole. After users understand the market, users need to decide and choose a specific trend they want to trade. The basic idea is to flow with the market.
This indicator can be combined with EW theory to understand the market structure easily.
When I understand the whole market structure, it boosts my trading performance to the maximum.
According to the Steel Step strategy, this indicator is designed to show the trend "one layer" above "the current TF layer". This method has been tested to enhance accuracy. This may sound confusing to some of you. You can find educational materials about the layer logic from my Steel Step strategy.
Find the instructions on how to view signals below.
***SIGNAL GUIDE***
To view signals/set signal alerts:
- To view 15min signals, use 3min chart
- To view 1H signals, use 15min chart
A second version to include more time frame layers and trends will be published soon. Look forward to it!
Please comment below or message me if you have any questions. Enjoy!
*Nobody should use this indicator as a confirmation signal for entry/exit for your trades. Please message me on how to use this indicator correctly. This indicator was designed to be used in conjunction with my Steel Step strategy, hence the name.
Steel Step Assistant: Trend Visualizer + Divergence Signal 1.0Disclaimer: Nobody should use this indicator as a confirmation signal for entry/exit for your trades. Please message me on how to use this indicator correctly. This indicator was designed to be used in conjunction with my Steel Step strategy, hence the name.
This indicator simply gives you a signal of trend reversals.
The trend visualizer is an ordinary table that shows you the trends of different time frames.
The signal is designed with the Steel Step strategy for determining the more important reversals/pivots.
Being an indicator, it is prone to a certain extent of inaccuracy. It is programmed to provide an accurate market trend reversal to the best of its abilities.
Always remember that the Steel Step strategy does not rely on indicators to trade.
This indicator can be used on all charts and markets; crypto, commodities, forex, stock, indices, etc.
It is suitable for intra-day traders. Another version with all time frames is being made as I publish this.
One way of using this is to enhance your information gathering on trends in order to understand the market structure or direction better.
This indicator helps educate users on the market structure. Users can quickly break down the market into layers, analyze the layers and connect them all to understand the market as a whole. After users understand the market, users need to decide and choose a specific trend they want to trade. The basic idea is to flow with the market.
This indicator can be combined with EW theory to understand the market structure easily.
When I understand the whole market structure, it boosts my trading performance to the maximum.
The user inputs (settings) should be very straightforward. The default settings produce directions that are very similar to what I use for my strategy. You can change the settings as desired.
The default settings are configured to show you the trend reversal or market direction of "one layer" above "the current time frame layer". You can find educational materials about the layer logic from my Steel Step strategy.
Find the instructions on how to view signals below.
***SIGNAL GUIDE***
To view signals/set signal alerts:
- To view 15min signals, use 3min chart
- To view 1H signals, use 15min chart
A second version to include more time frames and trends will be published soon. Look forward to it!
Please comment below or message me if you have any questions. Enjoy!
Steel Step Assistant: Divergence IndicatorDisclaimer: Nobody should use this indicator as a confirmation signal for entry/exit for your trades. Please message me on how to use this indicator correctly. This indicator was designed to be used in conjunction with my Steel Step strategy, hence the name.
This indicator simply gives you a signal of a trend reversal.
The default settings produce directions that are very similar to what I use for my strategy. You can change the settings as desired.
The user inputs (settings) should be very straightforward. Length is the distance you want to compare the price.
This indicator can be used on all charts and markets; crypto, commodities, forex, stock, indices, etc.
It is suitable for intra-day traders, as well as HTF traders.
The default settings are configured to show you the trend reversal or market direction of "one layer" above "the current time frame layer". You can find educational materials about the layer logic from my Steel Step strategy.
One way of using this is to enhance your information gathering on trends in order to understand the market structure or direction better.
This indicator educates users on the market structure. Users can quickly break down the market into layers, analyze the layers and connect them all to understand the market as a whole. After users understand the market, users need to decide and choose a specific trend they want to trade. The basic idea is to flow with the market.
This indicator can be combined with EW theory to understand the market structure easily.
When I understand the whole market structure, it boosts my trading performance to the maximum.
Please comment below or message me if you have any questions. Enjoy!
Steel Step Assistant: Trend VisualizerSpecial thanks to Turicumo and Psychil for helping me write the code, both from my group.
Disclaimer: Nobody should use this indicator as a confirmation signal for entry/exit for your trades. Please message me on how to use this indicator correctly. This indicator was designed to be used in conjunction with my Steel Step strategy, hence the name.
This indicator simply gives a quick outlook of the market.
This indicator is an ordinary table that shows you the trends.
The default settings produce directions that are very similar to what I use for my strategy. You can change the settings as desired.
This indicator can be used on all charts and markets; crypto, commodities, forex, stock, indices, etc.
It is suitable for intra-day traders, as well as HTF traders.
One way of using this is to enhance your information gathering on trends in order to understand the market structure or direction better.
This indicator educates users on the market structure. Users can quickly break down the market into layers, analyze the layers and connect them all to understand the market as a whole. After users understand the market, users need to decide and choose a specific trend they want to trade. The basic idea is to flow with the market.
This indicator can be combined with EW theory to understand the market structure easily.
When I understand the whole market structure, it boosts my trading performance to the maximum.
Please comment below or message me if you have any questions. Enjoy!
Simple Market StructureThis indicator is meant for education and experimental purposes only.
Many Market Structure Script out there isn't open-sourced and some could be complicated to understand to modify the code. Hence, I published this code to make life easier for beginner programmer like me to modify the code to fit their custom indicator.
As I am not a expert or pro in coding it might not be as accurate as other reputable author.
Any experts or pros that is willing to contribute this code in the comment section below would be appreciated, I will modify and update the script accordingly as part of my learning journey.
It is useful to a certain extend to detect Market Structure using Swing High/Low in all market condition.
Here are some points that I am looking to improve / fix:
To fix certain horizontal lines that does not paint up to the point where it breaks through.
To add in labels when a market structure is broken.
Allow alerts to be sent when market structure is broken (Probably be done in the last few updates after knowing it is stable and as accurate as possible)
Any suggested improvement, please do let me know in the comment section below and I will try my best to implement it into the script.
Faytterro Market Structerethis indicator creates the market structure with a little delay but perfectly. each zigzag is always drawn from highest to lowest. It also signals when the market structure is broken. signals fade over time.
The table above shows the percentage distance of the price from the last high and the last low.
zigzags are painted green when making higher peaks, while lower peaks are considered downtrends and are painted red. In fact, the indicator is quite simple to understand and use.
"length" is used to change the frequency of the signal.
"go to past" is used to see historical data.
Please review the examples:
Swing Levels and Liquidity - By LeviathanThis script will plot pivot points (swing highs and lows) in the form of lines, boxes or labels to help you identify market structure, “liquidity” areas, swing failure patterns, etc. You are also able to see the volume traded at each pivot point, which will help you compare their significance.
Bars Left-Right
A pivot high (swing high) is a bar in a series of bars that has a higher value than the bars around it and a pivot low (swing low) is a bar in a series of bars that has a lower value than the bars surrounding it. The Bars Left and Bars Right parameters are used to define the number of bars on the left and right sides of a pivot point that the function should consider when identifying pivot highs and lows in a time series. For example, if Bars Left is set to 5 and Bars Right is set to 6, the function will look for a pivot point by comparing the value of the current bar with the values of the 5 bars to its left and the 6 bars to its right. If the value of the current bar is higher than all of these bars, it is considered a pivot high point. These parameter can be used to adjust the sensitivity of the script (lowering the Bars Left and Bars Right parameters will give you more swing points and increasing the Bars Left and Bars Right parameters will give you fewer swing points).
”Show Boxes” - This will draw a box above the swing high and a box below the swing low to help you visualise a large area of interest around swing points. Additional box types and the width of the box can be adjusted in Appearance settings below.
”Show Lines” - This will draw a horizontal line at the level of each swing high and swing low.
”Show Labels” - This will plot a circle at the high point of each swing high and at the low point of each swing low.
”Show Volume” - This will display the amount of volume traded in a given swing point candle. It can help you identify the significance of a given swing point by comparing it to the volumes of other swing points.
”Extend Until Filled” - This will extend the swing point levels until they are mitigated by the price. Turning it off will continue plotting the levels just a few more bars after a swing point occurs.
”Appearance” - You can show/hide swing points, choose the colors of labels, lines and boxes, choose the size and positioning of the text, choose line and box appearance (adjust the Box Width when switching between timeframes!) and more.
More updates coming soon (MTF, more data…)
Market Structure Double BOS Confirm
🔥 Overview
🎯 This Double BOS(Break Of Structure) Confirm indicator combined ma-based BOS and classic BOS
to achieve a more credible BOS signal . it works well in most symbols with 2 parameters finetune.
🎯 It's a enhanced version compare with previous script.
🎯 at the same time, I keep D-BOS and BOS separately, you can use them in combination freely.
🔥 Indicator design logic
🎯 there are 3 parts in this indicator.
Part 1: MA-Based BOS
1. use close-in EMA's highest/lowest value mark as SWING High/Low when EMA crossover/under,
not use func ta.pivothigh()/ta.pivotlow()
2. once price reaching EMA’s SWING High/Low, draw a line link High/Low to current bar, labled as BOS
3. more MA-Based BOS details can get from my previous script.
Part 2: Classic BOS
1. use pivothigh/low function to find pivot (decided by left/right swing length)
2. when get new pivothigh, compare with previous high, calculate HH/LH/HL/LL result
3. once bar closed and break pivothigh then labed as BOS
Part 3: Double BOS Confirms
1. when MA-Based BOS and Classic BOS occured at the same bar closed signed as D-BOS
2. when two BOS events one bar apart, signed as D-BOS
🔥 Settings
🎯 there are 13 input properties in script, 4 properties(Bold field) have an impact on the results and the other 9 show display effects.
GRP1
MA_Type : MA type you can choose(EMA/RMA/SMA/HMA/WMA/VWMA), default is HMA
short_ma_len : MA length of your current timeframe on chart, default 30
show_ma_bos_line: whether show ma-based BOS line, default false
GRP2
left_swing_len : pivothigh(source, left,right), it‘s left swing length
right_swing_len : right swing length
show_pivot_bos_line: whether show pivot-based BOS line, default false
GRP3
show_double_bos_line: show double_bos_line, default true
double_bos_linewidth: linewidth, default 2 (Bold line)
double_bos_linestyle: default Dashed
🔥 Usage
🎯 BOS signal usually worked fine in high volatility market, low volatility is meaningless.
🎯 D-BOS will filtered much more signals than ma-based BOS and classic BOS
We can see that it performs well in trending market of different symbols, and BOS is an opportunity to add positions,
D-BOS will filtered much more signals
Double-BOS Confirm : BINANCE:BTCUSDTPERP 30m
MA-Based BOS : BINANCE:BTCUSDTPERP 30m
🎯 Support classic HH/HL label, MA-Based Zigzag
🎯 You can use only D-BOS, MA-BOS or Classic-BOS alone, or D-BOS and one of the other, it's up to you,
but my personal preference is to use D-BOS and MA-BOS in combination
🎯 any questions or suggestion please comment below, I would appreciate it greatly.
Additionally, I plan to publish 20 profitable strategies in 2023; indicatior not one of them,
let‘s witness it together!
Hope this indicator will be useful for you :)
enjoy! 🚀🚀🚀
Market Structure MA Based BOS [liwei666]
🎲 Overview
🎯 This BOS(Break Of Structure) indicator build based on different MA such as EMA/RMA/HMA, it's usually earlier than pivothigh() method
when trend beginning, customer your BOS with 2 parameters now.
🎲 Indicator design logic
🎯 The logic is simple and code looks complex, I‘ll explain core logic but not code details.
1. use close-in EMA's highest/lowest value mark as SWING High/Low when EMA crossover/under,
not use func ta.pivothigh()/ta.pivotlow()
2. once price reaching EMA’s SWING High/Low, draw a line link High/Low to current bar, labled as BOS
3. find regular pattern benefit your trading.
🎲 Settings
🎯 there are 4 input properties in script, 2 properties are meaningful in 'GRP1' another 2 are display config in 'GRP2'.
GRP1
MA_Type: MA type you can choose(EMA/RMA/SMA/HMA), default is 'HMA'.
short_ma_len: MA length of your current timeframe on chart
GRP2
show_short_zz: Show short_ma Zigzag
show_ma_cross_signal: Show ma_cross_signal
🎲 Usage
🎯 BOS signal usually worked fine in high volatility market, low volatility is meaningless.
🎯 We can see that it performs well in trending market of different symbols, and BOS is an opportunity to add positions
BINANCE:BTCUSDTPERP
BINANCE:ETHUSDTPERP
🎯 MA Based signal is earlier than pivothigh()/pivotlow() method when trend beginning. it means higher profit-loss rate.
🎯 any questions or suggestion please comment below.
Additionally, I plan to publish 20 profitable strategies in 2023; indicatior not one of them,
let‘s witness it together!
Hope this indicator will be useful for you :)
enjoy! 🚀🚀🚀
MarketStructureLibrary "MarketStructure"
This library contains functions for identifying Lows and Highs in a rule-based way, and deriving useful information from them.
f_simpleLowHigh()
This function finds Local Lows and Highs, but NOT in order. A Local High is any candle that has its Low taken out on close by a subsequent candle (and vice-versa for Local Lows).
The Local High does NOT have to be the candle with the highest High out of recent candles. It does NOT have to be a Williams High. It is not necessarily a swing high or a reversal or anything else.
It doesn't have to be "the" high, so don't be confused.
By the rules, Local Lows and Highs must alternate. In this function they do not, so I'm calling them Simple Lows and Highs.
Simple Highs and Lows, by the above definition, can be useful for entries and stops. Because I intend to use them for stops, I want them all, not just the ones that alternate in strict order.
@param - there are no parameters. The function uses the chart OHLC.
@returns boolean values for whether this bar confirms a Simple Low/High, and ints for the bar_index of that Low/High.
f_localLowHigh()
This function finds Local Lows and Highs, in order. A Local High is any candle that has its Low taken out on close by a subsequent candle (and vice-versa for Local Lows).
The Local High does NOT have to be the candle with the highest High out of recent candles. It does NOT have to be a Williams High. It is not necessarily a swing high or a reversal or anything else.
By the rules, Local Lows and Highs must alternate, and in this function they do.
@param - there are no parameters. The function uses the chart OHLC.
@returns boolean values for whether this bar confirms a Local Low/High, and ints for the bar_index of that Low/High.
f_enhancedSimpleLowHigh()
This function finds Local Lows and Highs, but NOT in order. A Local High is any candle that has its Low taken out on close by a subsequent candle (and vice-versa for Local Lows).
The Local High does NOT have to be the candle with the highest High out of recent candles. It does NOT have to be a Williams High. It is not necessarily a swing high or a reversal or anything else.
By the rules, Local Lows and Highs must alternate. In this function they do not, so I'm calling them Simple Lows and Highs.
Simple Highs and Lows, by the above definition, can be useful for entries and stops. Because I intend to use them for trailing stops, I want them all, not just the ones that alternate in strict order.
The difference between this function and f_simpleLowHigh() is that it also tracks the lowest/highest recent level. This level can be useful for trailing stops.
In effect, these are like more "normal" highs and lows that you would pick by eye, but confirmed faster in many cases than by waiting for the low/high of that particular candle to be taken out on close,
because they are instead confirmed by ANY subsequent candle having its low/high exceeded. Hence, I call these Enhanced Simple Lows/Highs.
The levels are taken from the extreme highs/lows, but the bar indexes are given for the candles that were actually used to confirm the Low/High.
This is by design, because it might be misleading to label the extreme, since we didn't use that candle to confirm the Low/High..
@param - there are no parameters. The function uses the chart OHLC.
@returns - boolean values for whether this bar confirms an Enhanced Simple Low/High
ints for the bar_index of that Low/High
floats for the values of the recent high/low levels
floats for the trailing high/low levels (for debug/post-processing)
bools for market structure bias
f_trueLowHigh()
This function finds True Lows and Highs.
A True High is the candle with the highest recent high, which then has its low taken out on close by a subsequent candle (and vice-versa for True Lows).
The difference between this and an Enhanced High is that confirmation requires not just any Simple High, but confirmation of the very candle that has the highest high.
Because of this, confirmation is often later, and multiple Simple Highs and Lows can develop within ranges formed by a single big candle without any of them being confirmed. This is by design.
A True High looks like the intuitive "real high" when you look at the chart. True Lows and Highs must alternate.
@param - there are no parameters. The function uses the chart OHLC.
@returns - boolean values for whether this bar confirms an Enhanced Simple Low/High
ints for the bar_index of that Low/High
floats for the values of the recent high/low levels
floats for the trailing high/low levels (for debug/post-processing)
bools for market structure bias
ICT 2022 Mentorship Model [TFO]An attempt at programming the logic from the Inner Circle Trader (ICT) 2022 Mentorship Model. It's not perfect by any means, and NOT intended as a substitute for learning the model itself. I just wanted to share what I’ve been able to make thus far. PLEASE read this description thoroughly before reaching out with questions.
How it works, as of the initial release (bullish example):
When major Sell Side Liquidity (SSL) is taken, this script will start looking for displacement through a recent swing high, marking a potential Market Structure Shift (MSS)
From the bar that created the MSS, displacement is deemed valid if the range of that bar is greater than the standard deviation of recent price history, multiplied by the “Displacement Strength” parameter. Valid displacement also requires that a Fair Value Gap (FVG) was created
Once the above conditions are met, the script will assume we are now seeking Buy Side Liquidity (BSL), and will continue to look for long entries in an FVG after subsequent displacement through swing highs. *This script will keep looking for long entries until price takes out BSL*
Similarly, if price took out BSL and displaced through a swing low, the script will only look for short entries in an FVG until an SSL pivot is reached (alerts can be configured to show these potential entries)
Settings:
Show Structure Breaks: show breaks of structure on the current timeframe
Show Liquidity Taken: show when major liquidity has been traded through
Show Liquidity Pivots: show all pivots that are being considered as liquidity
Structure Pivot Strength: determines how strong a local high/low must be for structural pivots on the current timeframe
Liquidity Multiplier: this number, multiplied by Structure Pivot Strength, will determine the pivot strength used to find valid liquidity, which should always be greater than the Structure Pivot Strength
BOS Type: “Close” will only count structure breaks when price closes through a prior pivot, whereas “Wick” will include structure breaks even if price only wicks through the prior pivot
Show Displacement: show bar coloring for valid displacement through a swing high/low
Show Displacement FVG: show FVGs that results from valid displacement
Displacement Type: use “Open to Close” to look for displacement using only the body of a candle, or “High to Low” to use the candle’s entire price range
Displacement Strength: higher values will look for more significant displacement candles, and vice versa
Max Bars to Extend FVG: if an FVG has not been overwritten or invalidated, it will extend to the right for a maximum of this many bars
I recommend lowering the values for Structure Pivot Strength and Liquidity Multiplier for larger chart timeframes, and increasing the values for smaller timeframes. I prefer keeping the displacement strength to >= 3, which would be 3 times the standard deviation of recent price history.
SFC Smart Money Manipulation - Time, Advanced Market StructureThis indicator shows the market structure in more advanced way and different time cycles.
Markets moves in cycles and swings. The indicator will help to determine these cycles and swings by time and price. These are the two columns of the market understanding. The third one is volume/ momentum, but it will not be discussed here.
Advanced Market Structure
According to ICT and Larry Williams Market Structure is not only Highs and Lows.
They present more advanced understanding of the MS:
-Short Term Highs/ Lows
-Intermediate Term Highs/ Lows
-Long Term Highs/ Lows
Rules of how to determine the Swing Points according to Larry Williams:
"A market has made a short-term low when we have a day (or bar if you are using different time periods) that has a higher low on both sides. By the same token a short-term high will be a day (or bar) that has lower bars on both sides of it."
"A short-term high with lower short-term highs on both sides is an intermediate- term high. By the same token, a short-term low with higher short-term lows on both sides is an intermediate-term low."
"An intermediate-term high with lower intermediate-term highs on both sides of it is just naturally a long-term high by our definition, thanks to understanding market structure.
An intermediate-term low with higher intermediate-term lows on both sides of it is just naturally a long-term low by our definition, thanks to understanding market structure."
If the Highs and Lows are labeled properly there is high probability to predict the next High or Low. In this way the trader will know how the current trend is changing and what kind of retracement is coming - deep or shallow.
Timing
Market moves in time cycles.
There is a theory that the swings are equal by time and length. This is not always the case, but very very often.
Indicator time features:
- Swing Trading days - how many time market needed to form a swing. Only Long term(main) Swings are measured. This will help trader to label T-formations.
" T Formations is cyclically related for formations that can be drawn to project the time frame of likely turning points. Basically T-formations are based on the concept that the time distance between the starting low/high of the cyclical wave and its peak is likely to be subsequently repeated between that peak and the final low/high of that cycle."
- Seasonality - theoretically an asset should go up or down in particular yearly quarter. Practically the direction not always match to quarters. Thats why the indicator shows the theoretical seasonal direction and historical real direction.
Seasonal direction is automatically displayed or XAUUSD, XAGUSD, EURUSD, AUDUSD, GBPUSD. There is a ways to set the seasonality manually.
- Earnings Season - This time is very important for Stocks and Indices. Most of the time the assets are in bullish trend during the Earnings Seasons.
- Monthly separator - Shows the monthly time cycle
- Gold bullish months - There are studies on Gold market. They shows that Gold is very bullish in particular months. These are displayed.
The indicator works only on Daily Time Frame.
Market Structure - By LeviathanThis indicator helps you identify market structure by plotting swing highs and lows (HH, LH, HL, LL), BOS/CHOCH and 0.5 retracement levels. Other functionalities will be added in future updates.
Indicator Settings Overview
SWING LENGTH
The number of leftbars and rightbars when searching for swing points. The lower the value, the more swing points are shown and the higher the value, the less swing points are shown. I suggest adjusting it to fit your style and when switching between different timeframes.
BOS CONFIRMATION
Choose whether a Break of Structure is determined by a candle close or a wick breaching previous swing point. Using the "Wick" confirmation option will result in more breaks of structure.
CHOCH
Turning this ON renames the first counter trend Break of Structure (BOS) to CHoCH (Change of Character) and therefore signaling a possible trend shift.
SHOW 0.5 RETRACEMENT LEVEL
This will show a level halfway between a swing low and a swing high of an expansion move, which can act as an approximate retracement point if the trend continues.
In uptrends, 0.5 level is drawn between Higher Lows (HL) and Higher Highs ( HHs ). Long entries can be placed around that level if you suspect that the uptrend will continue.
In downtrends, 0.5 level is drawn between Lower Highs (LH) and Lower Lows (LLs). Short entries can be placed around that level if you suspect that the downtrend will continue.
Traders Reality MainThis indicator serves as the Tradingview equivalent of an MT4 indicator suite.
It differentiates from existing TV indicators in its style and total feature set (most notably PVSRA and PVSRA Override)
It was originally designed for forex markets, and it will work for crypto as well, but it has not been tested on stocks.
List of features:
PVSRA Candles
Market boxes (NY/JP/ HK /UK/ FR and Brinks Boxes)
5/13/50/200/800 EMAs (cloud for 50EMA)
Pivot points (S/M/R 1,2,3; PP )
Yesterday and Last Week price range
Average Daily Range (Weekly and Monthly as well)
Daily Open
PVSRA Override
Psychological High/Low
Vector Candle Zones
All of these are configurable in the indicator settings.
Usage instructions:
PVSRA Candle colors meaning:
Green (bull) and red (bear): Candles with volume >= 200% of the average volume of the 10 previous chart candles, and candles where the product of candle spread x candle volume is >= the highest for the 10 previous chart time candles.
Blue (bull) and blue-violet (bear): Candles with volume >= 150% of the average volume of the 10 previous chart candles
PVSRA Override
In order to get reliable bar coloring, we need accurate data. If you're on a chart with low volume on some obscure exchange, you may want to use another exchanges datafeed for the symbol you are on to calculate the PVSRA bar colors with. This lets you do exactly that. By default it's off, but you can turn it on and use INDEX:BTCUSD, or really any other chart you want. You can combine charts too, e.g. use BINANCE:BTCUSDT+COINBASE:BTCUSD.
PVSRA Alerts
Alerts can be made for PVSRA "vector"/"climax" candles:
1. Create Alert (Clock with + sign)
2. Set Condition: "Traders Reality",
3. Select "Alert on Vector Candle",
4. Set it to Once per Bar,
5. choose your notification options.
Market boxes
The market boxes times are configurable and will change depending on the exchange timezone. I recommend to pick your main exchange/chart and adjust the times so that they are correct. Technically you will need to shift the time from the exchanges' timezone to GMT . Default values should be good for UTC based exchanges in current US+UK summer time.
Psychological High/Low
Configurable for Crypto or Forex - draws the perceived Psychological High/Low ranges for the week. Can display historical values too.
Vector Candle Zones
displays unrecovered liquidity left behind on unrecovered vectors. Configurable to take into account candle bodies or candles and wicks.
Recommended additional Tradingview indicator(s):
- TDI - Goldminds, Edited for Market Makers Method by Jakub Donovan
Footnotes
The code was originally by plasmapug, continued development (with permission) is now done by infernix and peshocore and xtech5192 in collaboration with TradersReality.
If you have suggestions or questions, you can message me or leave a comment.
Traders_Reality_LibLibrary "Traders_Reality_Lib"
This library contains common elements used in Traders Reality scripts
calcPvsra(pvsraVolume, pvsraHigh, pvsraLow, pvsraClose, pvsraOpen, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, darkGreyCandleColor, lightGrayCandleColor)
calculate the pvsra candle color and return the color as well as an alert if a vector candle has apperared.
Situation "Climax"
Bars with volume >= 200% of the average volume of the 10 previous chart TFs, or bars
where the product of candle spread x candle volume is >= the highest for the 10 previous
chart time TFs.
Default Colors: Bull bars are green and bear bars are red.
Situation "Volume Rising Above Average"
Bars with volume >= 150% of the average volume of the 10 previous chart TFs.
Default Colors: Bull bars are blue and bear are violet.
Parameters:
pvsraVolume : the instrument volume series (obtained from request.sequrity)
pvsraHigh : the instrument high series (obtained from request.sequrity)
pvsraLow : the instrument low series (obtained from request.sequrity)
pvsraClose : the instrument close series (obtained from request.sequrity)
pvsraOpen : the instrument open series (obtained from request.sequrity)
redVectorColor : red vector candle color
greenVectorColor : green vector candle color
violetVectorColor : violet/pink vector candle color
blueVectorColor : blue vector candle color
darkGreyCandleColor : regular volume candle down candle color - not a vector
lightGrayCandleColor : regular volume candle up candle color - not a vector
@return
adr(length, barsBack)
Parameters:
length : how many elements of the series to calculate on
barsBack : starting possition for the length calculation - current bar or some other value eg last bar
@return adr the adr for the specified lenght
adrHigh(adr, fromDo)
Calculate the ADR high given an ADR
Parameters:
adr : the adr
fromDo : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrHigh the position of the adr high in price
adrLow(adr, fromDo)
Parameters:
adr : the adr
fromDo : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrLow the position of the adr low in price
splitSessionString(sessXTime)
given a session in the format 0000-0100:23456 split out the hours and minutes
Parameters:
sessXTime : the session time string usually in the format 0000-0100:23456
@return
calcSessionStartEnd(sessXTime, gmt)
calculate the start and end timestamps of the session
Parameters:
sessXTime : the session time string usually in the format 0000-0100:23456
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return
drawOpenRange(sessXTime, sessXcol, showOrX, gmt)
draw open range for a session
Parameters:
sessXTime : session string in the format 0000-0100:23456
sessXcol : the color to be used for the opening range box shading
showOrX : boolean flag to toggle displaying the opening range
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return void
drawSessionHiLo(sessXTime, show_rectangleX, show_labelX, sessXcolLabel, sessXLabel, gmt, sessionLineStyle)
Parameters:
sessXTime : session string in the format 0000-0100:23456
show_rectangleX : show the session high and low lines
show_labelX : show the session label
sessXcolLabel : the color to be used for the hi/low lines and label
sessXLabel : the session label text
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
sessionLineStyle : the line stile for the session high low lines
@return void
calcDst()
calculate market session dst on/off flags
@return indicating if DST is on or off for a particular region
timestampPreviousDayOfWeek(previousDayOfWeek, hourOfDay, gmtOffset, oneWeekMillis)
Timestamp any of the 6 previous days in the week (such as last Wednesday at 21 hours GMT)
Parameters:
previousDayOfWeek : Monday or Satruday
hourOfDay : the hour of the day when psy calc is to start
gmtOffset : the gmt offset string usually in the format GMT+1 or GMT+2 etc
oneWeekMillis : the amount if time for a week in milliseconds
@return the timestamp of the psy level calculation start time
getdayOpen()
get the daily open - basically exchange midnight
@return the daily open value which is float price
newBar(res)
new_bar: check if we're on a new bar within the session in a given resolution
Parameters:
res : the desired resolution
@return true/false is a new bar for the session has started
toPips(val)
to_pips Convert value to pips
Parameters:
val : the value to convert to pips
@return the value in pips
rLabel(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
rLabelOffset(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
rLabelLastBar(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series only on the last bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
drawLine(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, labelXOffset, validTimeFrame)
a function that draws a line and a label for a series
Parameters:
xSeries : series float the y coordinate of the line/label
res : the desired resolution controlling when a new line will start
tag : the text for the lable
xColor : the color for the label
xStyle : the style for the line
xWidth : the width of the line
xExtend : extend the line
isLabelValid : a boolean flag that allows for turning on or off a label
labelXOffset : how much to offset the label from the current position
validTimeFrame : a boolean flag that allows for turning on or off a line drawn
drawLineDO(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, labelXOffset, validTimeFrame)
a function that draws a line and a label for the daily open series
Parameters:
xSeries : series float the y coordinate of the line/label
res : the desired resolution controlling when a new line will start
tag : the text for the lable
xColor : the color for the label
xStyle : the style for the line
xWidth : the width of the line
xExtend : extend the line
isLabelValid : a boolean flag that allows for turning on or off a label
labelXOffset : how much to offset the label from the current position
validTimeFrame : a boolean flag that allows for turning on or off a line drawn
drawPivot(pivotLevel, res, tag, pivotColor, pivotLabelColor, pivotStyle, pivotWidth, pivotExtend, isLabelValid, validTimeFrame, levelStart, pivotLabelXOffset)
draw a pivot line - the line starts one day into the past
Parameters:
pivotLevel : series of the pivot point
res : the desired resolution
tag : the text to appear
pivotColor : the color of the line
pivotLabelColor : the color of the label
pivotStyle : the line style
pivotWidth : the line width
pivotExtend : extend the line
isLabelValid : boolean param allows to turn label on and off
validTimeFrame : only draw the line and label at a valid timeframe
levelStart : basically when to start drawing the levels
pivotLabelXOffset : how much to offset the label from its current postion
@return the pivot line series
getPvsraFlagByColor(pvsraColor, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
convert the pvsra color to an internal code
Parameters:
pvsraColor : the calculated pvsra color
redVectorColor : the user defined red vector color
greenVectorColor : the user defined green vector color
violetVectorColor : the user defined violet vector color
blueVectorColor : the user defined blue vector color
lightGrayCandleColor : the user defined regular up candle color
@return pvsra internal code
updateZones(pvsra, direction, boxArr, maxlevels, pvsraHigh, pvsraLow, pvsraOpen, pvsraClose, transperancy, zoneupdatetype, zonecolor, zonetype, borderwidth, coloroverride, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
a function that draws the unrecovered vector candle zones
Parameters:
pvsra : internal code
direction : above or below the current pa
boxArr : the array containing the boxes that need to be updated
maxlevels : the maximum number of boxes to draw
pvsraHigh : the pvsra high value series
pvsraLow : the pvsra low value series
pvsraOpen : the pvsra open value series
pvsraClose : the pvsra close value series
transperancy : the transparencfy of the vecor candle zones
zoneupdatetype : the zone update type
zonecolor : the zone color if overriden
zonetype : the zone type
borderwidth : the width of the border
coloroverride : if the color overriden
redVectorColor : the user defined red vector color
greenVectorColor : the user defined green vector color
violetVectorColor : the user defined violet vector color
blueVectorColor : the user defined blue vector color
lightGrayCandleColor : the user defined regular up candle color
cleanarr(arr)
clean an array from na values
Parameters:
arr : the array to clean
@return if the array was cleaned
calcPsyLevels(oneWeekMillis, showPsylevels, psyType, sydDST)
calculate the psy levels
4 hour res based on how mt4 does it
mt4 code
int Li_4 = iBarShift(NULL, PERIOD_H4, iTime(NULL, PERIOD_W1, Li_0)) - 2 - Offset;
ObjectCreate("PsychHi", OBJ_TREND, 0, Time , iHigh(NULL, PERIOD_H4, iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)), iTime(NULL, PERIOD_W1, 0), iHigh(NULL, PERIOD_H4,
iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)));
so basically because the session is 8 hours and we are looking at a 4 hour resolution we only need to take the highest high an lowest low of 2 bars
we use the gmt offset to adjust the 0000-0800 session to Sydney open which is at 2100 during dst and at 2200 otherwize. (dst - spring foward, fall back)
keep in mind sydney is in the souther hemisphere so dst is oposite of when london and new york go into dst
Parameters:
oneWeekMillis : a constant value
showPsylevels : should psy levels be calculated
psyType : the type of Psylevels - crypto or forex
sydDST : is Sydney in DST
@return