Interest Rate Trading (Manually Added Rate Decisions) [TANHEF]Interest Rate Trading: How Interest Rates Can Guide Your Next Move.
How were interest rate decisions added?
All interest rate decision dates were manually retrieved from the 'Record of Policy Actions' and 'Minutes of Actions' on the Federal Reserve's website due to inconsistent dates from other sources. These were manually added as Pine Script currently only identifies rate changes, not pauses.
█ Simple Explanation:
This script is designed for analyzing and backtesting trading strategies based on U.S. interest rate decisions which occur during Federal Open Market Committee (FOMC) meetings, to make trading decisions. No trading strategy is perfect, and it's important to understand that expectations won't always play out. The script leverages historical interest rate changes, including increases, decreases, and pauses, across multiple economic time periods from 1971 to the present. The tool integrates two key data sources for interest rates—USINTR and FEDFUNDS—to support decision-making around rate-based trades. The focus is on identifying opportunities and tracking trades driven by interest rate movements.
█ Interest Rate Decision Sources:
As noted above, each decision date has been manually added from the 'Record of Policy Actions' and 'Minutes of Actions' documents on the Federal Reserve's website. This includes +50 years of more than 600 rate decisions.
█ Interest Rate Data Sources:
USINTR: Reflects broader U.S. interest rate trends, including Treasury yields and various benchmarks. This is the preferred option as it corresponds well to the rate decision dates.
FEDFUNDS: Tracks the Federal Funds Rate, which is a more specific rate targeted by the Federal Reserve. This does not change on the exact same days as the rate decisions that occur at FOMC meetings.
█ Trade Criteria:
A variety of trading conditions are predefined to suit different trading strategies. These conditions include:
Increase/Decrease: Standard rate increases or decreases.
Double/Triple Increase/Decrease: A series of consecutive changes.
Aggressive Increase/Decrease: Rate changes that exceed recent movements.
Pause: Identification of no changes (pauses) between rate decisions, including double or triple pauses.
Complex Patterns: Combinations of pauses, increases, or decreases, such as "Pause after Increase" or "Pause or Increase."
█ Trade Execution and Exit:
The script allows automated trade execution based on selected criteria:
Auto-Entry: Option to enter trades automatically at the first valid period.
Max Trade Duration: Optional exit of trades after a specified number of bars (candles).
Pause Days: Minimum duration (in days) to validate rate pauses as entry conditions. This is especially useful for earlier periods (prior to the 2000s), where rate decisions often seemed random compared to the consistency we see today.
█ Visualization:
Several visual elements enhance the backtesting experience:
Time Period Highlighting: Economic time periods are visually segmented on the chart, each with a unique color. These periods include historical phases such as "Stagflation (1971-1982)" and "Post-Pandemic Recovery (2021-Present)".
Trade and Holding Results: Displays the profit and loss of trades and holding results directly on the chart.
Interest Rate Plot: Plots the interest rate movements on the chart, allowing for real-time tracking of rate changes.
Trade Status: Highlights active long or short positions on the chart.
█ Statistics and Criteria Display:
Stats Table: Summarizes trade results, including wins, losses, and draw percentages for both long and short trades.
Criteria Table: Lists the selected entry and exit criteria for both long and short positions.
█ Economic Time Periods:
The script organizes interest rate decisions into well-defined economic periods, allowing traders to backtest strategies specific to historical contexts like:
(1971-1982) Stagflation
(1983-1990) Reaganomics and Deregulation
(1991-1994) Early 1990s (Recession and Recovery)
(1995-2001) Dot-Com Bubble
(2001-2006) Housing Boom
(2007-2009) Global Financial Crisis
(2009-2015) Great Recession Recovery
(2015-2019) Normalization Period
(2019-2021) COVID-19 Pandemic
(2021-Present) Post-Pandemic Recovery
█ User-Configurable Inputs:
Rate Source Selection: Choose between USINTR or FEDFUNDS as the primary interest rate source.
Trade Criteria Customization: Users can select the criteria for long and short trades, specifying when to enter or exit based on changes in the interest rate.
Time Period: Select the time period that you want to isolate testing a strategy with.
Auto-Entry and Pause Settings: Options to automatically enter trades and specify the number of days to confirm a rate pause.
Max Trade Duration: Limits how long trades can remain open, defined by the number of bars.
█ Trade Logic:
The script manages entries and exits for both long and short trades. It calculates the profit or loss percentage based on the entry and exit prices. The script tracks ongoing trades, dynamically updating the profit or loss as price changes.
█ Examples:
One of the most popular opinions is that when rate starts begin you should sell, then buy back in when rate cuts stop dropping. However, this can be easily proven to be a difficult task. Predicting the end of a rate cut is very difficult to do with the the exception that assumes rates will not fall below 0.25%.
2001-2009
Trade Result: +29.85%
Holding Result: -27.74%
1971-2024
Trade Result: +533%
Holding Result: +5901%
█ Backtest and Real-Time Use:
This backtester is useful for historical analysis and real-time trading. By setting up various entry and exit rules tied to interest rate movements, traders can test and refine strategies based on real historical data and rate decision trends.
This powerful tool allows traders to customize strategies, backtest them through different economic periods, and get visual feedback on their trading performance, helping to make more informed decisions based on interest rate dynamics. The main goal of this indicator is to challenge the belief that future events must mirror the 2001 and 2007 rate cuts. If everyone expects something to happen, it usually doesn’t.
ابحث في النصوص البرمجية عن "pattern"
Password Generator by Chervolino [CHE]Enhancing Password Security with Pine Script: A Deep Dive into Brute-Force Attack Prevention
1. Introduction: The Importance of Password Security
Why Password Security Matters:
In today’s digital age, protecting sensitive information through strong passwords is vital. Weak passwords are vulnerable to brute-force attacks, where attackers try every possible character combination until they guess the correct one.
What is Pine Script?
Pine Script is a scripting language developed by TradingView. While mainly used for financial analysis and strategy creation, its versatility allows us to explore other domains, such as password generation and security analysis.
2. Understanding Brute-Force Attacks
What is a Brute-Force Attack?
A brute-force attack systematically tries every possible combination of characters until the correct password is found. The longer and more complex the password, the more secure it is.
Types of Characters in Passwords:
Lowercase Letters (26 characters): Examples include 'a' to 'z'.
Uppercase Letters (26 characters): Examples include 'A' to 'Z'.
Digits (10 characters): Examples include '0' to '9'.
Special Characters: Characters such as '!@#$%^&*' add further complexity to a password.
3. The Role of Password Length in Security
Why Does Password Length Matter?
The number of possible combinations grows exponentially as the length of the password increases.
For example, a password made of only lowercase letters has 26 possible characters. A 7-character password in this case has 26 raised to the power of 7 possible combinations, which equals about 8 billion possibilities.
In comparison, if uppercase letters are included, the possible combinations jump to 52 raised to the power of 7, resulting in over 1 trillion combinations.
Time to Crack a Password:
Assuming a computer can test 2.15 billion passwords per second:
A 7-character password with only lowercase letters can be cracked in about 3.74 seconds.
If uppercase letters are added, it takes approximately 8 minutes.
Adding numbers and special characters makes the cracking time increase further to hours or even days.
4. Password Strength Analysis Using Pine Script
How Pine Script Helps in Password Analysis:
Pine Script can simulate password strength by generating random passwords and calculating how long it would take for a brute-force attack to crack them based on different character combinations and lengths.
We can experiment with using different types of characters (uppercase, lowercase, digits, special characters) and varying the length of the password to estimate the security.
For example:
A password consisting only of lowercase letters would take just a few seconds to crack.
By adding uppercase letters, the time increases to several minutes.
Including digits and special characters can make a password secure for many hours, or even days, depending on the length.
5. Results: Time to Crack Passwords
Here’s a textual summary of how different passwords can be cracked based on their composition and length:
Password with Lowercase Letters Only:
Length: 8 characters
Time to Crack: Less than 1 second.
Password with Uppercase and Lowercase Letters:
Length: 8 characters
Time to Crack: Approximately 24 hours.
Password with Uppercase, Lowercase, and Digits:
Length: 8 characters
Time to Crack: Around 27 minutes.
Password with Uppercase, Lowercase, Digits, and Special Characters:
Length: 12 characters
Time to Crack: Several hundred years.
From these examples, you can see that adding complexity to a password by using a variety of character types and increasing its length exponentially increases the time required to crack it.
6. Best Practices for Password Security
Use a mix of character types: Include lowercase and uppercase letters, digits, and special characters to increase complexity.
Increase the password length: The longer the password, the more difficult it is to crack.
Avoid predictable patterns: Refrain from using common words, dates, or sequential characters like "123456" or "password123".
Use a password manager: Tools like 1Password or LastPass can help store and manage complex passwords securely, so you only need to remember one master password.
7. Conclusion
Password length and complexity are the two most important factors in protecting against brute-force attacks.
Pine Script offers a powerful way to simulate password generation and security analysis, giving you insights into how secure your password is and how long it would take to crack it.
By applying these techniques, you can ensure that your passwords are strong and secure, making brute-force attacks infeasible.
EagleVision.V33 - Inside Pin Bar EagleVision.V33 is a specialized indicator designed for traders who focus on price action. It detects and highlights the Inside Pin Bar candle pattern, a key signal that can indicate potential market reversals or trend continuations. This tool is invaluable for traders who rely on precise candlestick patterns to make data-driven decisions.
Features:
• Customizable Pattern Highlighting: EagleVision.V33 allows traders to choose custom colors to highlight Inside Pin Bar patterns directly on the chart. This makes identifying critical trading signals straightforward, even in busy market conditions.
• Pin Bar Candle Customization: Beyond just highlighting, the indicator enables users to change the color of the detected pin bar itself, ensuring that crucial patterns are immediately visible and easy to track.
• Versatile Timeframe Application: The indicator can be applied across various timeframes, from intraday (1 minute, 5 minutes) to longer-term charts (daily, weekly). Users can easily switch between timeframes within the settings, making it adaptable to different trading strategies.
• Enhanced Visual Clarity with Background Highlighting: For traders who prefer additional emphasis, EagleVision.V33 offers an option to apply a background color that highlights the entire region where the Inside Pin Bar pattern is detected.
How It Works:
• Inside Bar Identification: The indicator first identifies an Inside Bar, where a candle’s high and low fall within the range of the preceding candle (the mother bar). This is a foundational pattern in price action trading.
• Pin Bar Detection: It then checks if the candle is a Pin Bar, characterized by a small body and a prominent wick (either upper or lower), which typically signals potential market turning points.
• Pattern Highlighting & Visualization: Upon detecting both conditions (Inside Bar and Pin Bar), EagleVision.V33 highlights the pattern using customizable shapes and colors, and optionally applies a background shade to further enhance visibility.
Use Cases:
• Reversals at Key Levels: The Inside Pin Bar pattern often appears at significant support or resistance levels, signaling potential reversals. EagleVision.V33 helps traders spot these opportunities early.
• Trend Continuations: In trending markets, this pattern can confirm the continuation of a trend, providing traders with the confidence to hold positions or enter new ones.
Customization Options:
• Pattern Highlight Color: Choose a distinct color for the label or shape that marks the Inside Pin Bar pattern, making it stand out against other chart elements.
• Pin Bar Candle Color: Customize the color of the Pin Bar itself, ensuring that it is immediately recognizable on the chart.
• Background Highlighting: Optionally apply a background color to the chart area where the pattern is detected, further enhancing visual clarity and making it easier to spot potential trading opportunities.
Why EagleVision.V33 Stands Out:
EagleVision.V33 is not just another pattern detection tool; it’s engineered for precision and clarity, with highly customizable features that cater to the unique needs of price action traders. By combining both Inside Bar and Pin Bar detection, it offers a powerful edge, providing traders with actionable insights directly on their charts.
ICT Immediate Rebalance Toolkit [LuxAlgo]The ICT Immediate Rebalance Toolkit is a comprehensive suite of tools crafted to aid traders in pinpointing crucial trading zones and patterns within the market.
The ICT Immediate Rebalance, although frequently overlooked, emerges as one of ICT's most influential concepts, particularly when considered within a specific context. The toolkit integrates commonly used price action tools to be utilized in conjunction with the Immediate Rebalance patterns, enriching the capacity to discern context for improved trading decisions.
The ICT Immediate Rebalance Toolkit encompasses the following Price Action components:
ICT Immediate Rebalance
Buyside/Sellside Liquidity
Order Blocks & Breaker Blocks
Liquidity Voids
ICT Macros
🔶 USAGE
🔹 ICT Immediate Rebalance
What is an Immediate Rebalance?
Immediate rebalances, a concept taught by ICT, hold significant importance in decision-making. To comprehend the concept of immediate rebalance, it's essential to grasp the notion of the fair value gap. A fair value gap arises from market inefficiencies or imbalances, whereas an immediate rebalance leaves no gap, no inefficiencies, or no imbalances that the price would need to return to.
Rule of Thumb
After an immediate rebalance, the expectation is for two extension candles to follow; otherwise, the immediate rebalance is considered failed. It's important to highlight that both failed and successful immediate rebalances, when considered within a context, are significant signatures in trading.
Immediate rebalances can occur anywhere and in any timeframe.
🔹 Buyside/Sellside Liquidity
In the context of Inner Circle Trader's teachings, liquidity primarily refers to the presence of stop losses or pending orders, that indicate concentrations of buy or sell orders at specific price levels. Institutional traders, like banks and large financial entities, frequently aim for these liquidity levels or pools to accumulate or distribute their positions.
Buyside liquidity denotes a chart level where short sellers typically position their stops, while Sellside liquidity indicates a level where long-biased traders usually place their stops. These zones often serve as support or resistance levels, presenting potential trading opportunities.
The presentation applied here is the multi-timeframe version of our previously published Buyside-Sellside-Liquidity script.
🔹 Order Blocks & Breaker Blocks
Order Blocks and Breaker Blocks hold significant importance in technical analysis and play a crucial role in shaping market behavior.
Order blocks are fundamental elements of price action analysis used by traders to identify key levels in the market where significant buying or selling activity has occurred. These blocks represent areas on a price chart where institutional traders, banks, or large market participants have placed substantial buy or sell orders, leading to a temporary imbalance in supply and demand.
Breaker blocks, also known as liquidity clusters or pools, complement order blocks by identifying zones where liquidity is concentrated on the price chart. These areas, formed from mitigated order blocks, often act as significant barriers to price movement, potentially leading to price stalls or reversals in the future.
🔹 Liquidity Voids
Liquidity voids are sudden price changes when the price jumps from one level to another. Liquidity voids will appear as a single or a group of candles that are all positioned in the same direction. These candles typically have large real bodies and very short wicks, suggesting very little disagreement between buyers and sellers.
Here is our previously released Liquidity-Voids script.
🔹 ICT Macros
In the context of ICT's teachings, a macro is a small program or set of instructions that unfolds within an algorithm, which influences price movements in the market. These macros operate at specific times and can be related to price runs from one level to another or certain market behaviors during specific time intervals. They help traders anticipate market movements and potential setups during specific time intervals.
Here is our previously released ICT-Macros script.
🔶 SETTINGS
🔹 Immediate Rebalances
Immediate Rebalances: toggles the visibility of the detected immediate rebalance patterns.
Bullish, and Bearish Immediate Rebalances: color customization options.
Wicks 75%, %50, and %25: color customization options of the wick price levels for the detected immediate rebalance.
Ignore Price Gaps: ignores price gaps during calculation.
Confirmation (Bars): specifies the number of bars required to confirm the validation of the detected immediate rebalance.
Immediate Rebalance Icon: allows customization of the size of the icon used to represent the immediate rebalance.
🔹 Buyside/Sellside Liquidity
Buyside/Sellside Liquidity: toggles the visibility of the buy-side/sell-side liquidity levels.
Timeframe: this option is to identify liquidity levels from higher timeframes. If a timeframe lower than the chart's timeframe is selected, calculations will be based on the chart's timeframe.
Detection Length: lookback period used for the detection.
Margin: sets margin/sensitivity for the liquidity levels.
Buyside/Sellside Liquidity Color: color customization option for buy-side/sell-side liquidity levels.
Visible Liquidity Levels: allows customization of the visible buy-side/sell-side liquidity levels.
🔹 Order Blocks & Breaker Blocks
Order Blocks: toggles the visibility of the order blocks.
Breaker Blocks: toggles the visibility of the breaker blocks.
Swing Detection Length: lookback period used for the detection of the swing points used to create order blocks & breaker blocks.
Mitigation Price: allows users to select between the closing price or the wick of the candle.
Use Candle Body in Detection: allows users to use candle bodies as order block areas instead of the full candle range.
Remove Mitigated Order Blocks & Breaker Blocks: toggles the visibility of the mitigated order blocks & breaker blocks.
Order Blocks: Bullish, Bearish Color: color customization option for order blocks.
Breaker Blocks: Bullish, Bearish Color: color customization option for breaker blocks.
Visible Order & Breaker Blocks: allows customization of the visible order & breaker blocks.
Show Order Blocks & Breaker Blocks Labels: toggles the visibility of the order blocks & breaker blocks labels.
🔹 Liquidity Voids
Liquidity Voids: toggles the visibility of the liquidity voids.
Liquidity Voids Width Filter: filtering threshold while detecting liquidity voids.
Ignore Price Gaps: ignores price gaps during calculation.
Remove Mitigated Liquidity Voids: remove mitigated liquidity voids.
Bullish, Bearish, and Mitigated Liquidity Voids: color customization option..
Liquidity Void Labels: toggles the visibility of the liquidity voids labels.
🔹 ICT Macros
London and New York (AM, Launch, and PM): toggles the visibility of specific macros, allowing users to customize macro colors.
Macro Top/Bottom Lines, Extend: toggles the visibility of the macro's pivot high/low lines and allows users to extend the pivot lines.
Macro Mean Line: toggles the visibility of the macro's mean (average) line.
Macro Labels: toggles the visibility of the macro labels, allowing customization of the label size.
🔶 RELATED SCRIPTS
ICT-Killzones-Toolkit
Smart-Money-Concepts
Thanks to our community for recommending this script. For more conceptual scripts and related content, we welcome you to explore by visiting >>> LuxAlgo-Scripts .
divergingchartpatternLibrary "divergingchartpattern"
Library having implementation of converging chart patterns
getPatternNameByType(patternType)
Returns pattern name based on type
Parameters:
patternType (int) : integer value representing pattern type
Returns: string name of the pattern
method find(this, sProperties, dProperties, patterns, ohlcArray)
find converging patterns for given zigzag
Namespace types: zg.Zigzag
Parameters:
this (Zigzag type from Trendoscope/ZigzagLite/2) : Current zigzag Object
sProperties (ScanProperties) : ScanProperties Object
dProperties (DrawingProperties type from Trendoscope/abstractchartpatterns/5) : DrawingProperties Object
patterns (array type from Trendoscope/abstractchartpatterns/5) : array of existing patterns to check for duplicates
ohlcArray (array type from Trendoscope/ohlc/1) : array of OHLC values for historical reference
Returns: string name of the pattern
ScanProperties
Object containing properties for pattern scanning
Fields:
baseProperties (ScanProperties type from Trendoscope/abstractchartpatterns/5) : Object of Base Scan Properties
convergingDistanceMultiplier (series float)
ZigZag Library [TradingFinder]🔵 Introduction
The "Zig Zag" indicator is an analytical tool that emerges from pricing changes. Essentially, it connects consecutive high and low points in an oscillatory manner. This method helps decipher price changes and can also be useful in identifying traditional patterns.
By sifting through partial price changes, "Zig Zag" can effectively pinpoint price fluctuations within defined time intervals.
🔵 Key Features
1. Drawing the Zig Zag based on Pivot points :
The algorithm is based on pivots that operate consecutively and alternately (switch between high and low swing). In this way, zigzag lines are connected from a swing high to a swing low and from a swing low to a swing high.
Also, with a very low probability, it is possible to have both low pivots and high pivots in one candle. In these cases, the algorithm tries to make the best decision to make the most suitable choice.
You can control what period these decisions are based on through the "PiPe" parameter.
2.Naming and labeling each pivot based on its position as "Higher High" (HH), "Lower Low" (LL), "Higher Low" (HL), and "Lower High" (LH).
Additionally, classic patterns such as HH, LH, LL, and HL can be recognized. All traders analyzing financial markets using classic patterns and Elliot Waves can benefit from the "zigzag" indicator to facilitate their analysis.
" HH ": When the price is higher than the previous peak (Higher High).
" HL ": When the price is higher than the previous low (Higher Low).
" LH ": When the price is lower than the previous peak (Lower High).
" LL ": When the price is lower than the previous low (Lower Low).
🔵 How to Use
First, you can add the library to your code as shown in the example below.
import TFlab/ZigZagLibrary_TradingFinder/1 as ZZ
Function "ZigZag" Parameters :
🟣 Logical Parameters
1. HIGH : You should place the "high" value here. High is a float variable.
2. LOW : You should place the "low" value here. Low is a float variable.
3. BAR_INDEX : You should place the "bar_index" value here. Bar_index is an integer variable.
4. PiPe : The desired pivot period for plotting Zig Zag is placed in this parameter. For example, if you intend to draw a Zig Zag with a Swing Period of 5, you should input 5.
PiPe is an integer variable.
Important :
Apart from the "PiPe" indicator, which is part of the customization capabilities of this indicator, you can create a multi-time frame mode for the indicator using 3 parameters "High", "Low" and "BAR_INDEX". In this way, instead of the data of the current time frame, use the data of other time frames.
Note that it is better to use the current time frame data, because using the multi-time frame mode is associated with challenges that may cause bugs in your code.
🟣 Setting Parameters
5. SHOW_LINE : It's a boolean variable. When true, the Zig Zag line is displayed, and when false, the Zig Zag line display is disabled.
6. STYLE_LINE : In this variable, you can determine the style of the Zig Zag line. You can input one of the 3 options: line.style_solid, line.style_dotted, line.style_dashed. STYLE_LINE is a constant string variable.
7. COLOR_LINE : This variable takes the input of the line color.
8. WIDTH_LINE : The input for this variable is a number from 1 to 3, which is used to adjust the thickness of the line that draws the Zig Zag. WIDTH_LINE is an integer variable.
9. SHOW_LABEL : It's a boolean variable. When true, labels are displayed, and when false, label display is disabled.
10. COLOR_LABEL : The color of the labels is set in this variable.
11. SIZE_LABEL : The size of the labels is set in this variable. You should input one of the following options: size.auto, size.tiny, size.small, size.normal, size.large, size.huge.
12. Show_Support : It's a boolean variable that, when true, plots the last support line, and when false, disables its plotting.
13. Show_Resistance : It's a boolean variable that, when true, plots the last resistance line, and when false, disables its plotting.
Suggestion :
You can use the following code snippet to import Zig Zag into your code for time efficiency.
//import Library
import TFlab/ZigZagLibrary_TradingFinder/1 as ZZ
// Input and Setting
// Zig Zag Line
ShZ = input.bool(true , 'Show Zig Zag Line', group = 'Zig Zag') //Show Zig Zag
PPZ = input.int(5 ,'Pivot Period Zig Zag Line' , group = 'Zig Zag') //Pivot Period Zig Zag
ZLS = input.string(line.style_dashed , 'Zig Zag Line Style' , options = , group = 'Zig Zag' )
//Zig Zag Line Style
ZLC = input.color(color.rgb(0, 0, 0) , 'Zig Zag Line Color' , group = 'Zig Zag') //Zig Zag Line Color
ZLW = input.int(1 , 'Zig Zag Line Width' , group = 'Zig Zag')//Zig Zag Line Width
// Label
ShL = input.bool(true , 'Label', group = 'Label') //Show Label
LC = input.color(color.rgb(0, 0, 0) , 'Label Color' , group = 'Label')//Label Color
LS = input.string(size.tiny , 'Label size' , options = , group = 'Label' )//Label size
Show_Support= input.bool(false, 'Show Last Support',
tooltip = 'Last Support' , group = 'Support and Resistance')
Show_Resistance = input.bool(false, 'Show Last Resistance',
tooltip = 'Last Resistance' , group = 'Support and Resistance')
//Call Function
ZZ.ZigZag(high ,low ,bar_index ,PPZ , ShZ ,ZLS , ZLC, ZLW ,ShL , LC , LS , Show_Support , Show_Resistance )
Fibonacci Archer Box [ChartPrime]Fibonacci Archer Box (ChartPrime) is a full featured Fibonacci box indicator that automatically plots based on pivot points. This indicator plots retracement levels, time lines, fan lines, and angles. Each one of these features are fully customizable with the ability to disable individual features. A unique aspect to this implementation is the ability to set targets based on retracement levels and time zones. This is set to 0.618 by default but you can pick any Fibonacci zone you like. Also included are markings that show you when Fibonacci levels are met or exceeded. These moments are plotted on the chart as colored dots that can be enabled or disabled. Along with these markings are crosses that can be shown when targets are hit. Both of these markings are colored with the related Fibonacci level colors.
When there is a zig-zag, this indicator will test to see if the zig-zag meets the criteria set up by the user before plotting a new Fibonacci box. You can pick from either higher highs or lower highs for bearish patterns, and higher lows or lower lows for bullish patterns. Both patterns can be set to use both when finding new boxes if you want to make it more sensitive. You also have the option to filter based on minimum and maximum size. If the box isn't within the selected size range, it will simply be ignored. The pivot levels can be configured to use either candle wicks or candle bodies. By default this is configured to use candle wick with a lookforward of 5 and lookback of 10.
We have included alerts for Fibonacci level crosses, Fibonacci time crosses, and target hits. All alerts are found in the add alert section built into tradingview to make alert creation as easy as possible. Each alert is labeled with their correct names to make navigation simple.
W.D. Gann, a renowned figure in the world of trading and market analysis, is often questioned for his use of Fibonacci levels in his strategies. However, evidence points to the fact that Gann did not directly employ Fibonacci price levels in his work. Instead, Gann had his unique approach, dividing price ranges into thirds, eighths, and other fractions, which, although somewhat aligning with Fibonacci levels, are not exact matches. It is clear that Gann was familiar with Fibonacci and the golden ratio, as references to them appear in his recommended reading list and some of his writings. Despite this awareness, Gann chose not to incorporate Fibonacci levels explicitly in his methodologies, preferring instead to use his divisions of price and time. Notably, Gann's emphasis on the 50% level—a marker not associated with Fibonacci numbers—further illustrates his departure from Fibonacci usage. This level, despite its popularity among some Fibonacci enthusiasts, does not stem from Fibonacci's sequence. This is why we opted to call this indicator Fibonacci Archer Box instead of a Gann Box as we didn't feel like it was appropriate.
In summary, the Fibonacci Archer Box (ChartPrime) is a tool that incorporates Fibonacci retracements and projections with an automated pivot point-based plotting system. It allows for customization across various features including retracement levels, timelines, fan lines, and angles, and integrates visual cues for level crosses and target hits. While it acknowledges the methodologies of W.D. Gann, it distinctively utilizes Fibonacci techniques, providing a straightforward tool for market analysis. We hope you enjoy using this indicator as much as we enjoyed making it!
Enjoy
Candlestick Bias OscillatorCandlestick Bias Oscillator (CBO)
The Candlestick Bias Oscillator (CBO) with Signal Line is a pioneering indicator developed for the TradingView platform, designed to offer traders a nuanced analysis of market sentiment through the unique lens of candlestick patterns. This indicator stands out by merging traditional concepts of price action analysis with innovative mathematical computations, providing a fresh perspective on trend detection and potential market reversals.
Originality and Utility
At the core of the CBO's originality is its method of calculating the bias of candlesticks. Unlike conventional oscillators that may rely solely on closing prices or high-low ranges, the CBO incorporates both the body and wick of candlesticks into its analysis. This dual consideration allows for a more rounded understanding of market sentiment, capturing both the directional momentum and the strength of price rejections within a single oscillator.
Mathematical Foundations
1. Body Bias: The CBO calculates the body bias by assessing the relative position of the close to the open within the day's range, scaled to a -100 to 100 range. This calculation reflects the bullish or bearish sentiment of the market, based on the day's closing momentum.
Body Bias = (Close−Open)/(High−Low) x 100
Wick Bias: Similarly, the wick bias calculation takes into account the lengths of the upper and lower wicks, indicating rejection levels beyond the body's close. The balance between these wicks is scaled similarly to the body bias, offering insight into the market's indecision or rejection of certain price levels.
Wick Bias=(Lower Wick−Upper Wick)/(Total Wick Length) × 100
3. Overall Bias and Oscillator: By averaging the body and wick biases, the CBO yields an overall bias score, which is then smoothed over a user-defined period to create the oscillator. This oscillator provides a clear visual representation of the market's underlying sentiment, smoothed to filter out the noise.
4. Signal Line: A secondary smoothing of the oscillator creates the signal line, offering a trigger for potential trading signals when the oscillator crosses this line, indicative of a change in market momentum.
How to Use the CBO:
The CBO is versatile, suitable for various trading strategies, including scalping, swing trading, and long-term trend following. Traders can use the oscillator and signal line crossovers as indications for entry or exit points. The relative position of the oscillator to the zero line further provides insight into the prevailing market bias, enabling traders to align their strategies with the broader market sentiment.
Why It Adds Value:
The CBO's innovative approach to analyzing candlestick patterns fills a gap in the existing array of TradingView indicators. By providing a detailed analysis of both candle bodies and wicks, the CBO offers a more comprehensive view of market sentiment than traditional oscillators. This can be particularly useful for traders looking to gauge the strength of price movements and potential reversal points with greater precision.
Conclusion:
The Candle Bias Oscillator with Signal Line is not just another addition to the plethora of indicators on TradingView. It represents a significant advancement in the analysis of market sentiment, combining traditional concepts with a novel mathematical approach. By offering a deeper insight into the dynamics of candlestick patterns, the CBO equips traders with a powerful tool to navigate the complexities of the market with increased confidence.
Explore the unique insights provided by the CBO and integrate it into your trading strategy for a more informed and nuanced market analysis.
basechartpatternsLibrary "basechartpatterns"
Library having complete chart pattern implementation
getPatternNameById(id)
Returns pattern name by id
Parameters:
id (int) : pattern id
Returns: Pattern name
method find(points, properties, dProperties, ohlcArray)
Find patterns based on array of points
Namespace types: chart.point
Parameters:
points (chart.point ) : array of chart.point objects
properties (ScanProperties type from Trendoscope/abstractchartpatterns/1) : ScanProperties object
dProperties (DrawingProperties type from Trendoscope/abstractchartpatterns/1) : DrawingProperties object
ohlcArray (OHLC type from Trendoscope/ohlc/1)
Returns: Flag indicating if the pattern is valid, Current Pattern object
method find(this, properties, dProperties, patterns, ohlcArray)
Find patterns based on the currect zigzag object but will not store them in the pattern array.
Namespace types: zg.Zigzag
Parameters:
this (Zigzag type from Trendoscope/ZigzagLite/2) : Zigzag object containing pivots
properties (ScanProperties type from Trendoscope/abstractchartpatterns/1) : ScanProperties object
dProperties (DrawingProperties type from Trendoscope/abstractchartpatterns/1) : DrawingProperties object
patterns (Pattern type from Trendoscope/abstractchartpatterns/1) : Array of Pattern objects
ohlcArray (OHLC type from Trendoscope/ohlc/1)
Returns: Flag indicating if the pattern is valid, Current Pattern object
Consolidation FilterDescription:
Consolidation is a technical analysis term used to describe a assets's price movement within a given support and resistance range for a period of time. Consolidations happen either during trending market phases or before a new trend. Consolidation is generally interpreted as market indecisiveness and uncertainty as to which way the market will go next caused due to trader indecisiveness, which ends when the asset's price moves above or below the trading level. A consolidation level could be broken for several reasons, such as the release of materially important news or the triggering of a succession of limit orders.
Markets spend a great amount of time ranging and going sideways. It pays off to know how to identify and trade consolidations because they happen so frequently.
Periods of consolidation can be found in price charts for any time interval, and these periods can last for days, weeks, or months. Technical traders look for support and resistance levels in price charts and then use these levels to make buy and sell decisions. Typically, traders look for certain consolidation patterns: sideways ranges, downward or upward sloping ranges (also called flags), or triangular consolidations (triangles, wedges and pennants).
In contrast, this script offers an alternative, fairly straightforward but effective, way to pinpoint consolidation periods using a forecast oscillator method and simply highlighting relevant regions in the chart (with a yellow background).
In the settings menu you can select one of the three calculation methods, but all of them are based on the forecast oscillator. The indicator settings depend on the asset and on the timeframe. For example for the 2H timeframe BTSUSD preferred settings are period:10/method:2/threshold:0.2, and for the 15M timeframe BTSUSD the settings are period:10/method:2/threshold:0.02. Feel free to experiment with settings to suit your needs.
@tk · spectral█ OVERVIEW
This script is an indicator that helps traders to identify the price difference between spot and futures of the current crypto plotted into the chart. It works in both types of markets, when the chart is plotting the crypto in spot market, it will compare with its respective futures ticker and vice-versa. If the current asset isn't a crypt ticker, the indicator will not be plotted into the chart.
█ MOTIVATION
Since crypto's derivative market is based on spot market asset's price, to calculate the arbitrage mechanisms that attempts to balance the asset price, this indicator can help traders to identify some spot and futures price divergence that can create an anomaly of funding rate and can push it to an extreme negative — or positive — rate. So, easing to track the price difference between both markets will bring more evidences to identify an artificial price move, specially in crypto assets with low market cap.
█ CONCEPT
The trading concept to use this indicator is the concept of the arbitrage machamism created by exchanges that calculates the funding rate based on spot and futures price difference that will vary from exchange to exchange. This strategy don't works alone. It needs to be aligned together with others indicators like Exponential Moving Averages, Chart Patterns, Support and Resistance, and so on... Even more confluences that you have, bigger are your chances to increase the probability for a successful trade. So, don't use this indicator alone. Compose a trading strategy and use it to improve your analysis.
█ CUSTOMIZATION
This indicator allows the trader to customize the following settings:
GENERAL
Text size
Changes the font size of price difference table to improve accessibility.
Type: string
Options: `tiny`, `small`, `normal`, `large`.
Default: `small`
Position
Changes the position of price difference table.
Type: string
Options: `top_left`, `top_center`, `top_right`, `middle_left`, `middle_center`, `middle_right`, `bottom_left`, `bottom_center`, `bottom_right`.
Default: `bottom_right`
Pair Quote
The ticker quote symbol that will be used to base the ticker comparison from spot to futures (e.g. BTCUSDT which `USDT` is the quote. ETHBTC which `BTC` is the quote).
Type: string
Default: USDT
Spectrum Color
The color of the spectrum candles. Spectrum candles are the candles of the opposite market. If the current ticker is in the spot market, the spectrum candles will be the price of the futures market.
Type: color
Default: #434651
█ FUNCTIONS
The indicator contains the following functions:
stripStarts(src, str)
Strips a defined pattern from a string.
Parameters:
src: (string) Source string
str: (string) String pattern to be stripped from start of source string.
Returns: (string) Stripped string with matched regex pattern.
Custom Candlestick MarkingsThis indicator allows you to filter candlesticks based on their body (the real body) and wick lengths. Specifically, it marks candlesticks based on the following criteria:
For Bearish Candles:
1. The close price is lower than the open price (indicating a bearish candle).
2. The difference between the high and the maximum of open and close is less than or equal to the specified upper wick length.
3. The absolute difference between the close and open is greater than or equal to the specified body height.
For Bullish Candles:
1. The close price is higher than the open price (indicating a bullish candle).
2. The difference between the maximum of open and close and the low is less than or equal to the specified lower wick length.
3. The absolute difference between the close and open is greater than or equal to the specified body height.
These conditions are used to filter and mark candlesticks that meet the specified criteria, allowing you to visually identify them on the chart. This can be useful for technical analysis and identifying specific candlestick patterns or conditions based on body and wick lengths.
Certainly, this indicator can help in identifying trends more easily. Specifically, by applying certain criteria based on the length of candlestick bodies and wicks, it becomes easier to visually capture changes in market trends and specific patterns.
For instance, you can use this indicator to identify candlestick patterns that match specific body heights or wick lengths. This makes it easier to detect signs of trend reversals or trend changes, and it can assist in making trading decisions when combined with trendlines or support and resistance levels.
However, it's common to use this indicator in conjunction with other technical analysis tools and indicators. Confirming trends and pinpointing entry points often requires multiple sources of information and analysis. In investing and trading, thorough research and careful strategy are essential.
KeitoFX Dynamic Indicator Free vers.This script represents a versatile dynamic indicator called "KeitoFX Dynamic Indicator Free version." It is developed by the author "KeitoFX" and operates as a custom indicator overlaying on financial charts. The indicator utilizes a unique algorithm to dynamically identify bullish and bearish candlestick patterns with specific criteria.
Key Features:
- The indicator visually marks bullish and bearish candlestick patterns using triangle shapes, providing quick visual cues to traders.
- Bullish patterns are detected when the closing price is higher than the opening price and the high and low prices of the candlestick form a narrow range.
- Bearish patterns are identified when the closing price is lower than the opening price, and the high and low prices also form a narrow range.
The indicator incorporates flexible settings that users can customize to fit their trading preferences:
- Users can choose the table's placement, either at the "Top Right," "Middle Right," or "Bottom Right" of the chart.
- Customizable dimensions for the width and height of the table are available.
- Adjustable text size settings ranging from "Auto" to "Huge" are provided for the displayed text.
- A descriptive table containing trading rules and conditions is optionally displayed below the price chart.
Additional Information:
- The indicator's color scheme is harmonious, with shades of purple and neutral tones.
- The "Require FVG" setting influences the pattern detection's sensitivity.
- A dynamic standard deviation is calculated based on the selected displacement settings and historical candle ranges.
- A "FVG" condition enhances pattern accuracy.
- Bullish and bearish pattern detection includes overlapping with other predefined arrays to increase pattern significance.
Note:
This indicator is provided under the Mozilla Public License 2.0, as indicated by the source code comment at the beginning of the script. Users are encouraged to review and comply with the license terms when using this indicator in their trading activities.
Candles In Row (Expo)█ Overview
The Candles In Row (Expo) indicator is a powerful tool designed to track and visualize sequences of consecutive candlesticks in a price chart. Whether you're looking to gauge momentum or determine the prevailing trend, this indicator offers versatile functionality tailored to the needs of active traders. The Candles In Row indicator can be an integral part of a multi-timeframe trading strategy, allowing traders to understand market momentum, and set trading bias. By recognizing the patterns and likelihood of future price movements, traders can make more informed decisions and align their trades with the overall market direction.
█ How to use
The indicator enhances traders' understanding of the consecutive candle patterns, helping them to uncover trends and momentum. Consecutive candles in the same direction may indicate a strong trend. The Candles In Row indicator can be an essential tool for traders employing a multiple timeframes strategy.
Analyzing a Higher Timeframe:
Understanding Momentum: By analyzing consecutive green or red candles in a higher timeframe, traders can identify the prevailing momentum in the market. A series of green candles would suggest an upward trend, while a series of red candles would indicate a downward trend.
Predicting Next Candle: The indicator's predictive feature calculates the likelihood of the next candle being green or red based on historical patterns. This probability helps traders gauge the potential continuation of the trend.
Setting the Trading Bias: If the likelihood of the next candle being green is high, the trader may decide to focus on long (buy) opportunities. Conversely, if the likelihood of the next candle being red is high, the trader may look for short (sell) opportunities.
In this example, we are using the Heikin Ashi candles.
Moving to a Lower Timeframe:
Finding Entry Points: Once the trading bias is set based on the higher timeframe analysis, traders can switch to a lower timeframe to look for entry points in the direction of the bias. For example, if the higher timeframe suggests a high likelihood of a green candle, traders may look for buy opportunities in the lower timeframe.
Combining Timeframes for a Comprehensive Strategy:
Confirmation and Alignment: By analyzing the higher timeframe and confirming the direction in the lower timeframe, traders can ensure that they are trading in alignment with the broader trend.
Avoiding False Signals: By using a higher timeframe to set the trading bias and a lower timeframe to find entries, traders can avoid false signals and whipsaws that might be present in a single timeframe analysis.
█ Settings
Price Input Selection: Choose between regular open and close prices or Heikin Ashi candles as the basis for calculation.
Data Window Control: Decide between displaying the full data window or only the active data. You can also enable a counter that keeps track of the number of candles.
Alert Configuration: Set the desired number and color of consecutive candles that must occur in a row to trigger an alert.
Table Display Customization: Customize the location and size of the display table according to your preferences.
-----------------
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!
CandlestickPatternsLibrary "CandlestickPatterns"
This library provides a wide range of candlestick patterns, and available for user to call each pattern individually. It's a comprehensive and common tool designed for traders seeking to raise their technical analysis, and it may help users identify key turning of price action in financial instruments. Credit to public technical “*All Candlestick Patterns*” indicator.
abandonedBaby(order, d1)
The "Abandoned Baby" candlestick pattern is a bullish/bearish pattern consists of three candles.
Parameters:
order (simple string) : (simple string) Pattern order type "bull" or "bear".
d1 (simple float) : (simple float) Previous candle's body percentage out of candle range. Optional argument, default is 5.
darkCloudCover(c1, n)
The "Dark Cloud Cover" is a bearish pattern consists of two candles.
Parameters:
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
doji(d0)
The "Doji" is neither bullish or bearish consists of one candles.
Parameters:
d0 (simple float) : (simple float) Current candle's body percentage out of candle range. Optional argument, default is 5.
dojiStar(order, c1, n, d0)
The "Doji Star" is a bullish/bearish pattern consists of two candles.
Parameters:
order (simple string) : (simple string) Pattern order type "bull" or "bear" .
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
d0 (simple float) : (simple float) Current candle's body percentage out of candle range. Optional argument, default is 5.
downsideTasukiGap(c2, c1, n)
The "Downside Tasuki Gap" is a bearish pattern consists of three candles.
Parameters:
c2 (simple bool) : (simple bool) Before previous candle's body must be higher than average. Optional argument, default is true.
c1 (simple bool) : (simple bool) Previous candle's body must be lower than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
dragonflyDoji(d0)
The "Dragon Fly Doji" is a bullish pattern consists of one candle.
Parameters:
d0 (simple float) : (simple float) Current candle's body percentage out of candle range. Optional argument, default is 5.
engulfing(order, c1, c0, n)
The "Engulfing" is a bullish/bearish pattern consists of two candles.
Parameters:
order (simple string) : (simple string) Pattern order type "bull" or "bear".
c1 (simple bool) : (simple bool) Previous candle's body must be lower than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
eveningDojiStar(c2, c0, d1, n)
The "Evening Doji Star" is a bearish pattern consists of three candles.
Parameters:
c2 (simple bool) : (simple bool) Before previous candle's body must be higher than average, default is true.
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
d1 (simple float) : (simple float) Previous candle's body percentage out of candle range. Optional argument, default is 5.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
eveningStar(c2, c1, c0, n)
The "Evening Star" is a bearish pattern consists of three candles.
Parameters:
c2 (simple bool) : (simple bool) Before previous candle's body must be higher than average. Optional argument, default is true.
c1 (simple bool) : (simple bool) Previous candle's body must be lower than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
fallingThreeMethods(c4, c3, c2, c1, c0, n)
The "Falling Three Methods" is a bearish pattern consists of five candles.
Parameters:
c4 (simple bool) : (simple bool) 5th candle ago body must be higher than average. Optional argument, default is true.
c3 (simple bool) : (simple bool) 4th candle ago body must be lower than average. Optional argument, default is true.
c2 (simple bool) : (simple bool) 3rd candle ago body must be lower than average. Optional argument, default is true.
c1 (simple bool) : (simple bool) 2nd candle ago body must be lower than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
Returns: (bool)
fallingWindow()
The "Falling Window" is a bearish pattern consists of two candles.
gravestoneDoji(d0)
The "Gravestone Doji" is a bearish pattern consists of one candle.
Parameters:
d0 (simple float) : (simple float) Current candle's body percentage out of candle range. Optional argument, default is 5.
hammer(c0, n)
The "Hammer" is a bullish pattern consists of one candle.
Parameters:
c0 (simple bool) : (simple bool) Current candle's body must be lower than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
hangingMan(c0, n)
The "Hanging Man" is a bearish pattern consists of one candle.
Parameters:
c0 (simple bool) : (simple bool) Current candle's body must be lower than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
haramiCross(order, c1, n)
The "Harami Cross" candlestick pattern is a bullish/bearish pattern consists of two candles.
Parameters:
order (string) : (simple string) Pattern order type "bull" or "bear".
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
harami(order, c1, c0, n)
The "Harami" candlestick pattern is a bullish/bearish pattern consists of two candles.
Parameters:
order (string) : (simple string) Pattern order type "bull" or "bear"
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Current candle's body must be lower than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
invertedHammer(c0, n)
The "Inverted Hammer" is a bullish pattern consists of one candle.
Parameters:
c0 (simple bool) : (simple bool) Current candle's body must be lower than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
kicking(order, c1, c0, n)
The "Kicking" candlestick pattern is a bullish/bearish pattern consists of two candles.
Parameters:
order (string) : (simple string) Pattern order type "bull" or "bear"
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
longLowerShadow(l0)
The "Long Lower Shadow" candlestick pattern is a bullish pattern consists of one candles.
Parameters:
l0 (simple float) : (simple float) Current candle's lower wick min percentage out of candle range. Optional argument, default is 75.
longUpperShadow(u0)
The "Long Upper Shadow" candlestick pattern is a bearish pattern consists of one candles.
Parameters:
u0 (simple float) : (simple float) Current candle's upper wick min percentage out of candle range. Optional argument, default is 75.
marubozuBlack(c0, n)
The "Marubozu Black" candlestick pattern is a bearish pattern consists of one candles.
Parameters:
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
marubozuWhite(c0, n)
The "Marubozu White" candlestick pattern is a bullish pattern consists of one candles.
Parameters:
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
morningDojiStar(c2, d1, c0, n)
The "Morning Doji Star" candlestick pattern is a bullish pattern consists of three candles.
Parameters:
c2 (simple bool) : (simple bool) Before previous candle's body must be higher than average. Optional argument, default is true.
d1 (simple float) : (simple float) Previous candle's body percentage out of candle range. Optional argument, default is 5.
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
morningStar(c2, c1, c0, n)
The "Morning Star" candlestick pattern is a bullish pattern consists of three candles.
Parameters:
c2 (simple bool) : (simple bool) Before previous candle's body must be higher than average. Optional argument, default is true.
c1 (simple bool) : (simple bool) Previous candle's body must be lower than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Cuurent candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
onNeck(c1, c0, n)
The "On Neck" candlestick pattern is a bearish pattern consists of two candles.
Parameters:
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Cuurent candle's body must be lower than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
piercing(c1, n)
The "Piercing" candlestick pattern is a bullish pattern consists of two candles.
Parameters:
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
risingThreeMethods(c4, c3, c2, c1, c0, n)
The "Rising Three Methods" candlestick pattern is a bullish pattern consists of five candles.
Parameters:
c4 (simple bool) : (simple bool) 5th candle ago body must be higher than average. Optional argument, default is true.
c3 (simple bool) : (simple bool) 4th candle ago body must be Lower than average. Optional argument, default is true.
c2 (simple bool) : (simple bool) 3rd candle ago body must be Lower than average. Optional argument, default is true.
c1 (simple bool) : (simple bool) 2nd candle ago body must be Lower than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
risingWindow()
The "Rising Window" candlestick pattern is a bullish pattern consists of two candle.
shootingStar(c0, n)
The "Shooting Star" candlestick pattern is a bearish pattern consists of one candle.
Parameters:
c0 (simple bool) : (simple bool) Current candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
spinningTopBlack(l0, u0)
The "Spinning Top Black" is neither bullish or bearish.
Parameters:
l0 (simple float) : (simple float) Current candle's lower wick min percentage out of candle range. Optional argument, default is 34.
u0 (simple float) : (simple float) Current candle's upper wick min percentage out of candle range. Optional argument, default is 34.
spinningTopWhite(l0, u0)
The "Spinning Top White" is neither bullish or bearish.
Parameters:
l0 (simple float) : (simple float) Current candle's lower wick min percentage out of candle range. Optional argument, default is 34.
u0 (simple float) : (simple float) Current candle's upper wick min percentage out of candle range. Optional argument, default is 34.
threeBlackCrows(c2, c1, c0, n)
The "Three Black Crows" candlestick pattern is a bearish pattern consists of three candles.
Parameters:
c2 (simple bool) : (simple bool) Before previous candle's body must be higher than average. Optional argument, default is true.
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Cuurent candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
threeWhiteSoldiers(c2, c1, c0, n)
The "Three White Soldiers" candlestick pattern is a bullish pattern consists of three candles.
Parameters:
c2 (simple bool) : (simple bool) Before previous candle's body must be higher than average. Optional argument, default is true.
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
c0 (simple bool) : (simple bool) Cuurent candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
triStar(order, d2, d1, d0)
The "Tri Star" candlestick pattern is a bullish/bearish pattern consists of three candles.
Parameters:
order (simple string) : (simple string) Pattern order type "bull" or "bear".
d2 (simple float) : (simple float) Before previous candle's body percentage out of candle range. Optional argument, default is 5.
d1 (simple float) : (simple float) Previous candle's body percentage out of candle range. Optional argument, default is 5.
d0 (simple float) : (simple float) Current candle's body percentage out of candle range. Optional argument, default is 5.
tweezerBottom(c1, n)
The "Tweezer Bottom" candlestick pattern is a bullish pattern consists of two candles.
Parameters:
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
tweezerTop(c1, n)
The "Tweezer Top" candlestick pattern is a bearish pattern consists of two candles.
Parameters:
c1 (simple bool) : (simple bool) Previous candle's body must be higher than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
upsideTasukiGap(c2, c1, n)
The "Tri Star" candlestick pattern is a bullish pattern consists of three candles.
Parameters:
c2 (simple bool) : (simple bool) Before Previous candle's body must be higher than average. Optional argument, default is true.
c1 (simple bool) : (simple bool) Previous candle's body must be lower than average. Optional argument, default is true.
n (simple int) : (simple int) Length of average candle's body. Optional argument, default is 14.
Percentile Calculation @xcod33This script calculates the current price percentile based on the highest and lowest price range in the last 52 weeks.
How to Use:
This script will provide the current price percentile relative to the 52-week price range on your chart. You can use it as an indicator to help identify where the current price stands relative to the historical price range in that period.
Targeted Market:
This script can be applied to various financial markets, including stocks, forex, indices, commodities, and others. It is not limited to a specific market and can be used across various trading instruments.
Market Conditions:
Here are some market conditions where this script can be useful:
1. Identifying Price Extremes: By looking at the current percentile, you can see if the price is near the highest or lowest extremes in the last 52 weeks. If the percentile is close to 0%, it means the price is near the lowest, while a percentile close to 100% indicates the price is near the highest.
Finding Consolidation Patterns: You can identify whether the price is within a certain range by looking at the percentile. If the percentile is around 50%, it indicates a relatively consistent price range.
2. Identifying Breakouts and Pullbacks: When the price is outside the historical range and the percentile approaches 100%, it indicates a breakout. When the price retraces back to the range and the percentile approaches 50%, it indicates a pullback.
3. However, keep in mind that this indicator only provides an additional perspective on the price relative to the 52-week range. It is not recommended to use this indicator as the sole basis for trading decisions. Always use further analysis and other indicators to confirm your trading signals.
Credit :
- M Rico Aditya Prayoga | Author
- Tri Okta Setiawan Marblo | Maker of formulas and ideas
Engulfing and Doji Scanner with SLThe Bullish Engulfing pattern occurs when the close is higher than the open, and scripts will look for this pattern by checking the difference in the close and open prices sufficiently in pips. Likewise, the Bearish Engulfing pattern occurs when the close is lower than the open, and scripts will look for this pattern by checking for sufficient difference in the open and close in pips.
The Doji pattern occurs when the absolute difference between the open and close prices is very small compared to the price range for that period. The script will look for these patterns by comparing the difference between the open and close prices by a certain percentage of the price range.
After the patterns are detected, the script will calculate the Stop Loss (SL) and Take Profit (TP) levels based on the parameters set. The SL level will be determined based on the lowest price range with certain adjustments, while the TP level is calculated using a 1:1 ratio to the SL distance.
This script will display arrows and Stop Loss and Take Profit labels on the chart to assist traders in identifying relevant patterns and levels. However, it is important to remember that these scripts only assist in the analysis of patterns and levels, and a more complete trading strategy and decision-making remains the responsibility of the trader.
ahpuhelperLibrary "ahpuhelper"
Helper Library for Auto Harmonic Patterns UltimateX. It is not meaningful for others. This is supposed to be private library. But, publishing it to make sure that I don't delete accidentally. Some functions may be useful for coders.
insert_open_trades_table_column(showOpenTrades, table_id, column, colors, values, intStatus, harmonicTrailingStartState, lblSizeOpenTrades)
add data to open trades table column
Parameters:
showOpenTrades : flag to show open trades table
table_id : Table Id
column : refers to pattern data
colors : backgroud and text color array
values : cell values
intStatus : status as integer
harmonicTrailingStartState : trailing Start state as per configs
lblSizeOpenTrades : text size
Returns: nextColumn
populate_closed_stats(ClosedStatsPosition, bullishCounts, bearishCounts, bullishRetouchCounts, bearishRetouchCounts, bullishSizeMatrix, bearishSizeMatrix, bullishRR, bearishRR, allPatternLabels, flags, rowMain, rowHeaders)
populate closed stats for harmonic patterns
Parameters:
ClosedStatsPosition : Table position for closed stats
bullishCounts : Matrix containing bullish trade stats
bearishCounts : Matrix containing bearish trade stats
bullishRetouchCounts : Matrix containing bullish trade stats for those which retouched entry
bearishRetouchCounts : Matrix containing bearish trade stats for those which retouched entry
bullishSizeMatrix : Matrix containing data about size of bullish patterns
bearishSizeMatrix : Matrix containing data about size of bearish patterns
bullishRR : Matrix containing Risk Reward data of bullish patterns
bearishRR : Matrix containing Risk Reward data of bearish patterns
allPatternLabels : array containing pattern labels
flags : display flags
rowMain : Pattern header data
rowHeaders : header grouping data
Returns: void
get_rr_details(patternTradeDetails, harmonicTrailingStartState, disableTrail, breakEvenTrail)
calculate and return risk reward based on targets and stops
Parameters:
patternTradeDetails : array containing stop, entry and targets
harmonicTrailingStartState : trailing point
disableTrail : If set, ignores trailing point
breakEvenTrail : If set, trailing does not go beyond breakeven.
Returns: nextColumn
Chervolinos-Wave-PM-ForecastThe Wave PM (Whistler Active Volatility Energy – Price Mass) indicator is an oscillator described in Mark Whistler's book, Volatility Illuminated.
The Wave PM is specifically designed to help read volatility cycles. When we visualize volatility cycles as a chart, we can get a clear view of the market volatility phases in multiple time frames. This indicator forms an arithmetic mean over 30 observed periods. Traders can thus get a better insight into "potential" volatility from up to pent-up energy, the different zones give strong help to predict future price developments.
Possible interpretation patterns:
You are at the end of a long uptrend and you want to know if the price is going to go down, if the indicator shows red and the value is above 25, it is likely to do so.
You're in a downtrend and there's a bit of a recovery phase, so you might be wondering if it's going to continue when the indicator shows green. It would go further with yellow, but with green it can be assumed that it is going down rapidly.
Special thanks to sourcey who programmed the 3D Wave-PM.
This variant of sourcey looks very nice, but was too confusing for me. In order to get a strong overview, forming an arithmetic mean is very useful.
I hope you and the Mods like my version
Best regards, Chervolino
SubCandleI created this script as POC to handle specific cases where not having tick data on historical bars create repainting. Happy to share if this serves purpose for other coders.
What is the function of this script?
Script plots a sub-candle which is remainder of candle after forming the latest peak.
Higher body of Sub-candle refers to strong retracement of price from its latest peak. Color of the sub-candle defines the direction of retracement.
Higher wick of Sub-candle refers to higher push in the direction of original candle. Meaning, after price reaching its peak, price retraced but could not hold.
Here is a screenshot with explanation to visualise the concept:
Settings
There is only one setting which is number of backtest bars. Lower timeframe resolution which is used for calculating the Sub-candle uses this number to automatically calculate maximum possible lower timeframe so that all the required backtest windows are covered without having any issue.
We need to keep in mind that max available lower timeframe bars is 100,000. Hence, with 5000 backtest bars, lower timeframe resolution can be about 20 (100000/5000) times lesser than that of regular chart timeframe. We need to also keep in mind that minimum resolution available as part of security_lower_tf is 1 minute. Hence, it is not advisable to use this script for chart timeframes less than 15 mins.
Application
I have been facing this issue in pattern recognition scripts where patterns are formed using high/low prices but entry and targets are calculated based on the opposite side (low/high). It becomes tricky during extreme bars to identify entry conditions based on just the opposite peak because, the candle might have originated from it before identifying the pattern and might have never reached same peak after forming the pattern. Due to lack of tick data on historical bars, we cannot use close price to measure such conditions. This leads to repaint and few unexpected results. I am intending to use this method to overcome the issue up-to some extent.
RSI Swing Trading Setup (2-Period)A simple script that adjusts the RSI visibly in order to better accommodate swing trading and certain swing trading setups/strategies.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Best used in conjunction with "Linear Regression Channel by LonesomeTheBlue" with 2.2σ (std.dev) and Show Fib Levels.
^Click image for a redirect to that script.
--------------------------------------------------------------------------------------------------------------------------------------------------------
In certain price action patterns:
A bearish reversal from a previously bullish move can indicate tops of a rally if the RSI moves from 0-40 to 60 (1)
A bullish reversal from a previously bearish move can indicate bottoms of a pullback if the RSI moves from 60-100 to 40 (2)
(USE THE LINEAR REGRESSION CHANNEL TO VALIDIFY THE RETRACEMENTS)
--------------------------------------------------------------------------------------------------------------------------------------------------------
(1)
--------------------------------------------------------------------------------------------------------------------------------------------------------
(2)
--------------------------------------------------------------------------------------------------------------------------------------------------------
pandas_taLibrary "pandas_ta"
Level: 3
Background
Today is the first day of 2022 and happy new year every tradingviewers! May health and wealth go along with you all the time. I use this chance to publish my 1st PINE v5 lib : pandas_ta
This is not a piece of cake like thing, which cost me a lot of time and efforts to build this lib. Beyond 300 versions of this script was iterated in draft.
Function
Library "pandas_ta"
PINE v5 Counterpart of Pandas TA - A Technical Analysis Library in Python 3 at github.com
The Original Pandas Technical Analysis (Pandas TA) is an easy to use library that leverages the Pandas package with more than 130 Indicators and Utility functions and more than 60 TA Lib Candlestick Patterns.
I realized most of indicators except Candlestick Patterns because tradingview built-in Candlestick Patterns are even more powerful!
I use this to verify pandas_ta python version indicators for myself, but I realize that maybe many may need similar lib for pine v5 as well.
Function Brief Descriptions (Pls find details in script comments)
bton --> Binary to number
wcp --> Weighted Closing Price (WCP)
counter --> Condition counter
xbt --> Between
ebsw --> Even Better SineWave (EBSW)
ao --> Awesome Oscillator (AO)
apo --> Absolute Price Oscillator (APO)
xrf --> Dynamic shifted values
bias --> Bias (BIAS)
bop --> Balance of Power (BOP)
brar --> BRAR (BRAR)
cci --> Commodity Channel Index (CCI)
cfo --> Chande Forcast Oscillator (CFO)
cg --> Center of Gravity (CG)
cmo --> Chande Momentum Oscillator (CMO)
coppock --> Coppock Curve (COPC)
cti --> Correlation Trend Indicator (CTI)
dmi --> Directional Movement Index(DMI)
er --> Efficiency Ratio (ER)
eri --> Elder Ray Index (ERI)
fisher --> Fisher Transform (FISHT)
inertia --> Inertia (INERTIA)
kdj --> KDJ (KDJ)
kst --> 'Know Sure Thing' (KST)
macd --> Moving Average Convergence Divergence (MACD)
mom --> Momentum (MOM)
pgo --> Pretty Good Oscillator (PGO)
ppo --> Percentage Price Oscillator (PPO)
psl --> Psychological Line (PSL)
pvo --> Percentage Volume Oscillator (PVO)
qqe --> Quantitative Qualitative Estimation (QQE)
roc --> Rate of Change (ROC)
rsi --> Relative Strength Index (RSI)
rsx --> Relative Strength Xtra (rsx)
rvgi --> Relative Vigor Index (RVGI)
slope --> Slope
smi --> SMI Ergodic Indicator (SMI)
sqz* --> Squeeze (SQZ) * NOTE: code sufferred from very strange error, code was commented.
sqz_pro --> Squeeze PRO(SQZPRO)
xfl --> Condition filter
stc --> Schaff Trend Cycle (STC)
stoch --> Stochastic (STOCH)
stochrsi --> Stochastic RSI (STOCH RSI)
trix --> Trix (TRIX)
tsi --> True Strength Index (TSI)
uo --> Ultimate Oscillator (UO)
willr --> William's Percent R (WILLR)
alma --> Arnaud Legoux Moving Average (ALMA)
xll --> Dynamic rolling lowest values
dema --> Double Exponential Moving Average (DEMA)
ema --> Exponential Moving Average (EMA)
fwma --> Fibonacci's Weighted Moving Average (FWMA)
hilo --> Gann HiLo Activator(HiLo)
hma --> Hull Moving Average (HMA)
hwma --> HWMA (Holt-Winter Moving Average)
ichimoku --> Ichimoku Kinkō Hyō (ichimoku)
jma --> Jurik Moving Average Average (JMA)
kama --> Kaufman's Adaptive Moving Average (KAMA)
linreg --> Linear Regression Moving Average (linreg)
mgcd --> McGinley Dynamic Indicator
rma --> wildeR's Moving Average (RMA)
sinwma --> Sine Weighted Moving Average (SWMA)
ssf --> Ehler's Super Smoother Filter (SSF) © 2013
supertrend --> Supertrend (supertrend)
xsa --> X simple moving average
swma --> Symmetric Weighted Moving Average (SWMA)
t3 --> Tim Tillson's T3 Moving Average (T3)
tema --> Triple Exponential Moving Average (TEMA)
trima --> Triangular Moving Average (TRIMA)
vidya --> Variable Index Dynamic Average (VIDYA)
vwap --> Volume Weighted Average Price (VWAP)
vwma --> Volume Weighted Moving Average (VWMA)
wma --> Weighted Moving Average (WMA)
zlma --> Zero Lag Moving Average (ZLMA)
entropy --> Entropy (ENTP)
kurtosis --> Rolling Kurtosis
skew --> Rolling Skew
xev --> Condition all
zscore --> Rolling Z Score
adx --> Average Directional Movement (ADX)
aroon --> Aroon & Aroon Oscillator (AROON)
chop --> Choppiness Index (CHOP)
xex --> Condition any
cksp --> Chande Kroll Stop (CKSP)
dpo --> Detrend Price Oscillator (DPO)
long_run --> Long Run
psar --> Parabolic Stop and Reverse (psar)
short_run --> Short Run
vhf --> Vertical Horizontal Filter (VHF)
vortex --> Vortex
accbands --> Acceleration Bands (ACCBANDS)
atr --> Average True Range (ATR)
bbands --> Bollinger Bands (BBANDS)
donchian --> Donchian Channels (DC)
kc --> Keltner Channels (KC)
massi --> Mass Index (MASSI)
natr --> Normalized Average True Range (NATR)
pdist --> Price Distance (PDIST)
rvi --> Relative Volatility Index (RVI)
thermo --> Elders Thermometer (THERMO)
ui --> Ulcer Index (UI)
ad --> Accumulation/Distribution (AD)
cmf --> Chaikin Money Flow (CMF)
efi --> Elder's Force Index (EFI)
ecm --> Ease of Movement (EOM)
kvo --> Klinger Volume Oscillator (KVO)
mfi --> Money Flow Index (MFI)
nvi --> Negative Volume Index (NVI)
obv --> On Balance Volume (OBV)
pvi --> Positive Volume Index (PVI)
dvdi --> Dual Volume Divergence Index (DVDI)
xhh --> Dynamic rolling highest values
pvt --> Price-Volume Trend (PVT)
Remarks
I also incorporated func descriptions and func test script in commented mode, you can test the functino with the embedded test script and modify them as you wish.
This is a Level 3 free and open source indicator library.
Feedbacks are appreciated.
This is not the end of pandas_ta lib publication, but it is start point with pine v5 lib function and I will add more and more funcs into this lib for my own indicators.
Function Name List:
bton()
wcp()
count()
xbt()
ebsw()
ao()
apo()
xrf()
bias()
bop()
brar()
cci()
cfo()
cg()
cmo()
coppock()
cti()
dmi()
er()
eri()
fisher()
inertia()
kdj()
kst()
macd()
mom()
pgo()
ppo()
psl()
pvo()
qqe()
roc()
rsi()
rsx()
rvgi()
slope()
smi()
sqz_pro()
xfl()
stc()
stoch()
stochrsi()
trix()
tsi()
uo()
willr()
alma()
wcx()
xll()
dema()
ema()
fwma()
hilo()
hma()
hwma()
ichimoku()
jma()
kama()
linreg()
mgcd()
rma()
sinwma()
ssf()
supertrend()
xsa()
swma()
t3()
tema()
trima()
vidya()
vwap()
vwma()
wma()
zlma()
entropy()
kurtosis()
skew()
xev()
zscore()
adx()
aroon()
chop()
xex()
cksp()
dpo()
long_run()
psar()
short_run()
vhf()
vortex()
accbands()
atr()
bbands()
donchian()
kc()
massi()
natr()
pdist()
rvi()
thermo()
ui()
ad()
cmf()
efi()
ecm()
kvo()
mfi()
nvi()
obv()
pvi()
dvdi()
xhh()
pvt()
Harmonic Trading System Educational (Source Code)This indicator was intended as educational purpose only for Harmonic Patterns using XABCD Pattern Tool.
This indicator was build upon Harmonic Trading : Volume One and Harmonic Trading : Volume Three, written by Scott M Carney.
Harmonic Trading System consist of 3 important elements such as Trade Identification, Trade Execution and Trade Management, each of these element description can be hover at each label.
Harmonic Trading System
1. Trade Identification
This technique use historically proven and repetitive price patterns that focus on overbought and oversold signals generated by price action.
Understanding parameters is critical to define specific opportunities based on individual harmonic pattern including ratio is important.
2. Trade Execution
During harmonic pattern is complete, must focus actual trade within specific time period.
3. Trade Management
Specific Initial Price Objective (IPO) based on risk and opportunity.
Indikator ini bertujuan sebagai pendidikan sahaja untuk Harmonic Pattern menggunakan XABCD Pattern Tool.
Indikator ini dibina berdasarkan buku Harmonic Trading : Volume One dan Harmonic Trading : Volume Three, ditulis oleh Scott M Carney.
Harmonic Trading System mengandungi 3 element penting seperti Trade Identification, Trade Execution dan Trade Management, penerangan setiap elemen boleh didapati dengan meletak mouse pada label.
Harmonic Trading System
1. Trade Identification
Teknik ini menggunakan price patterns yang berulang dan sejarahnya terbukti yang fokus pada signal overbought dan oversold terhasil daripada price action.
Memahami parameter adalah penting untuk mengenalpasti peluang secara spesifik berdasarkan harmonic patern yang tertentu termasuk ratio adalah penting.
2. Trade Execution
Semasa harmonic pattern adalah lengkap, mestilah focus pada trade yang sebenar dalam jangka masa yang spesifik.
3. Trade Management
Initial Price Objective (IPO) secara spesifik berdasarkan risiko dan peluang.
Indicator features :
1. List XAB=CD patterns including ratio and reference page.
2. For desktop display only, not for mobile.
3. Hover to label to display tooltip (example Trade identification).
Kemampuan indikator :
1. Senarai XAB=CD pattern termasuk ratio and rujukan muka surat.
2. Untuk paparan desktop sahaja, bukan untuk mobile.
3. Letak mouse pada labell untuk memaparkan tooltip (example Trade identification).
FAQ
1. Credits / Kredit
Scott M Carney, Harmonic Trading : Volume One
Scott M Carney, Harmonic Trading : Volume Three
2. Pattern and Chapter involved / Pattern dan Bab terlibat
Bullish Harmonic Trade Management Model - Harmonic Trading: Volume One - Page 209
Bearish Harmonic Trade Management Model - Harmonic Trading: Volume One - Page 220
The Harmonic Trading Process - Harmonic Trading: Volume Three - Page 42 to 44
Bullish Phases of Trading - Harmonic Trading: Volume Three - Page 48
Bearish Phases of Trading - Harmonic Trading: Volume Three - Page 50
3. Code Usage / Penggunaan Kod
Free to use for personal usage but credits are most welcomed especially for credits to Scott M Carney.
Bebas untuk kegunaan peribadi tetapi kredit adalah amat dialu-alukan terutamanya kredit kepada Scott M Carney.
Bullish Harmonic Trading System
Bearish Harmonic Trading System






















