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.
Cerca negli script per "豪24配债"
Uptrick: Dual Moving Average Volume Oscillator
Title: Uptrick: Dual Moving Average Volume Oscillator (DPVO)
### Overview
The "Uptrick: Dual Moving Average Volume Oscillator" (DPVO) is an advanced trading tool designed to enhance market analysis by integrating volume data with price action. This indicator is specially developed to provide traders with deeper insights into market dynamics, making it easier to spot potential entry and exit points based on volume and price interactions. The DPVO stands out by offering a sophisticated approach to traditional volume analysis, setting it apart from typical volume indicators available on the TradingView platform.
### Unique Features
Unlike traditional indicators that analyze volume and price movements separately, the DPVO combines these two critical elements to offer a comprehensive view of market behavior. By calculating the Volume Impact, which involves the product of the exponential moving averages (EMAs) of volume and the price range (close - open), this indicator highlights significant trading activities that could indicate strong buying or selling pressure. This method allows traders to see not just the volume spikes, but how those spikes relate to price movements, providing a clearer picture of market sentiment.
### Customization and Inputs
The DPVO is highly customizable, catering to various trading styles and strategies:
- **Oscillator Length (`oscLength`)**: Adjusts the period over which the volume and price difference is analyzed, allowing traders to set it according to their trading timeframe.
- **Fast and Slow Moving Averages (`fastMA` and `slowMA`)**: These parameters control the responsiveness of the DPVO. A shorter `fastMA` coupled with a longer `slowMA` can help in identifying trends quicker or smoothing out market noise for more conservative approaches.
- **Signal Smoothing (`signalSmooth`)**: This input helps in reducing signal noise, making the crossover and crossunder points between the DVO and its smoothed signal line clearer and easier to interpret.
### Functionality Details
The DPVO operates through a sequence of calculated steps that integrate volume data with price movement:
1. **Volume Impact Calculation**: This is the foundational step where the product of the EMA of volume and the EMA of price range (close - open) is calculated. This metric highlights trading sessions where significant volume accompanies substantial price movements, suggesting a strong market response.
2. **Dynamic Volume Oscillator (DVO)**: The heart of the indicator, the DVO, is derived by calculating the difference between the fast EMA and the slow EMA of the Volume Impact. This result is then normalized by dividing by the EMA of the volume over the same period to scale the output, making it consistent across various trading environments.
3. **Signal Generation**: The final output is smoothed using a simple moving average of the DVO to filter out market noise. Buy and sell signals are generated based on the crossover and crossunder of the DVO with its smoothed version, providing clear cues for market entry or exit.
### Originality
The DPVO's originality lies in its innovative integration of volume and price movement, a novel approach not typically observed in other volume indicators. By analyzing the product of volume and price change EMAs, the DPVO captures the essence of market dynamics more holistically than traditional tools, which often only reflect volume levels without contextualizing them with price actions. This dual analysis provides traders with a deeper understanding of market forces, enabling them to make more informed decisions based on a combination of volume surges and significant price movements. The DPVO also introduces a unique normalization and smoothing technique that refines the oscillator's output, offering cleaner and more reliable signals that are adaptable to various market conditions and trading styles.
### Practical Application
The DPVO excels in environments where volume plays a crucial role in validating price movements. Traders can utilize the buy and sell signals generated by the DPVO to enhance their decision-making process. The signals are plotted directly on the trading chart, with buy signals appearing below the price bars and sell signals above, ensuring they are prominent and actionable. This setup is particularly useful for day traders and swing traders who rely on timely and accurate signals to maximize their trading opportunities.
### Best Practices
To maximize the effectiveness of the DPVO, traders should consider the following best practices:
- **Market Selection**: Use the DPVO in markets known for strong volume-price correlation such as major forex pairs, popular stocks, and cryptocurrencies.
- **Signal Confirmation**: While the DPVO provides powerful signals, confirming these signals with additional indicators such as RSI or MACD can increase trade reliability.
- **Risk Management**: Always use stop-loss orders to manage risks associated with trading signals. Adjust the position size based on the volatility of the asset to avoid significant losses.
### Practical Example + How to use it
Practical Example1: Day Trading Cryptocurrencies
For a day trader focusing on the highly volatile cryptocurrency market, the DPVO can be an effective tool on a 15-minute chart. Suppose a trader is monitoring Bitcoin (BTC) during a period of high market activity. The DPVO might show an upward crossover of the DVO above its smoothed signal line while also indicating a significant increase in volume. This could signal that strong buying pressure is entering the market, suggesting a potential short-term rally. The trader could enter a long position based on this signal, setting a stop-loss just below the recent support level to manage risk. If the DPVO later shows a crossover in the opposite direction with decreasing volume, it might signal a good exit point, allowing the trader to lock in profits before a potential pullback.
- **Swing Trading Stocks**: For a swing trader looking at stocks, the DPVO could be applied on a daily chart. If the oscillator shows a consistent downward trend along with increasing volume, this could suggest a potential sell-off, providing a sell signal before a significant downturn.
You can look for:
--> Increase in volume - You can use indicators like 24-hour-Volume to have a better visualization
--> Uptrend/Downtrend in the indicator (HH, HL, LL, LH)
--> Confirmation (Buy signal/Sell signal)
--> Correct Price action (Not too steep moves up or down. Stable moves.) (Optional)
--> Confirmation with other indicators (Optional)
Quick image showing you an example of a buy signal on SOLANA:
### Technical Notes
- **Calculation Efficiency**: The DPVO utilizes exponential moving averages (EMAs) in its calculations, which provides a balance between responsiveness and smoothing. EMAs are favored over simple moving averages in this context because they give more weight to recent data, making the indicator more sensitive to recent market changes.
- **Normalization**: The normalization of the DVO by the EMA of the volume ensures that the oscillator remains consistent across different assets and timeframes. This means the indicator can be used on a wide variety of markets without needing significant adjustments, making it a versatile tool for traders.
- **Signal Line Smoothing**: The final signal line is smoothed using a simple moving average (SMA) to reduce noise. The choice of SMA for smoothing, as opposed to EMA, is intentional to provide a more stable signal that is less prone to frequent whipsaws, which can occur in highly volatile markets.
- **Lag and Sensitivity**: Like all moving average-based indicators, the DPVO may introduce a slight lag in signal generation. However, this is offset by the indicator’s ability to filter out market noise, making it a reliable tool for identifying genuine trends and reversals. Adjusting the `fastMA`, `slowMA`, and `signalSmooth` inputs allows traders to fine-tune the sensitivity of the DPVO to match their specific trading strategy and market conditions.
- **Platform Compatibility**: The DPVO is written in Pine Script™ v5, ensuring compatibility with the latest features and functionalities offered by TradingView. This version takes advantage of optimized functions for performance and accuracy in calculations, making it well-suited for real-time analysis.
Conclusion
The "Uptrick: Dual Moving Average Volume Oscillator" is a revolutionary tool that merges volume analysis with price movement to offer traders a more nuanced understanding of market trends and reversals. Its ability to provide clear, actionable signals based on a unique combination of volume and price changes makes it an invaluable addition to any trader's toolkit. Whether you are managing long-term positions or looking for quick trades, the DPVO provides insights that can help refine any trading strategy, making it a standout choice in the crowded field of technical indicators.
Nothing from this indicator or any other Uptrick Indicators is financial advice. Only you are ultimately responsible for your choices.
Intramarket Difference Index StrategyHi Traders !!
The IDI Strategy:
In layman’s terms this strategy compares two indicators across markets and exploits their differences.
note: it is best the two markets are correlated as then we know we are trading a short to long term deviation from both markets' general trend with the assumption both markets will trend again sometime in the future thereby exhausting our trading opportunity.
📍 Import Notes:
This Strategy calculates trade position size independently (i.e. risk per trade is controlled in the user inputs tab), this means that the ‘Order size’ input in the ‘Properties’ tab will have no effect on the strategy. Why ? because this allows us to define custom position size algorithms which we can use to improve our risk management and equity growth over time. Here we have the option to have fixed quantity or fixed percentage of equity ATR (Average True Range) based stops in addition to the turtle trading position size algorithm.
‘Pyramiding’ does not work for this strategy’, similar to the order size input togeling this input will have no effect on the strategy as the strategy explicitly defines the maximum order size to be 1.
This strategy is not perfect, and as of writing of this post I have not traded this algo.
Always take your time to backtests and debug the strategy.
🔷 The IDI Strategy:
By default this strategy pulls data from your current TV chart and then compares it to the base market, be default BINANCE:BTCUSD . The strategy pulls SMA and RSI data from either market (we call this the difference data), standardizes the data (solving the different unit problem across markets) such that it is comparable and then differentiates the data, calling the result of this transformation and difference the Intramarket Difference (ID). The formula for the the ID is
ID = market1_diff_data - market2_diff_data (1)
Where
market(i)_diff_data = diff_data / ATR(j)_market(i)^0.5,
where i = {1, 2} and j = the natural numbers excluding 0
Formula (1) interpretation is the following
When ID > 0: this means the current market outperforms the base market
When ID = 0: Markets are at long run equilibrium
When ID < 0: this means the current market underperforms the base market
To form the strategy we define one of two strategy type’s which are Trend and Mean Revesion respectively.
🔸 Trend Case:
Given the ‘‘Strategy Type’’ is equal to TREND we define a threshold for which if the ID crosses over we go long and if the ID crosses under the negative of the threshold we go short.
The motivating idea is that the ID is an indicator of the two symbols being out of sync, and given we know volatility clustering, momentum and mean reversion of anomalies to be a stylised fact of financial data we can construct a trading premise. Let's first talk more about this premise.
For some markets (cryptocurrency markets - synthetic symbols in TV) the stylised fact of momentum is true, this means that higher momentum is followed by higher momentum, and given we know momentum to be a vector quantity (with magnitude and direction) this momentum can be both positive and negative i.e. when the ID crosses above some threshold we make an assumption it will continue in that direction for some time before executing back to its long run equilibrium of 0 which is a reasonable assumption to make if the market are correlated. For example for the BTCUSD - ETHUSD pair, if the ID > +threshold (inputs for MA and RSI based ID thresholds are found under the ‘‘INTRAMARKET DIFFERENCE INDEX’’ group’), ETHUSD outperforms BTCUSD, we assume the momentum to continue so we go long ETHUSD.
In the standard case we would exit the market when the IDI returns to its long run equilibrium of 0 (for the positive case the ID may return to 0 because ETH’s difference data may have decreased or BTC’s difference data may have increased). However in this strategy we will not define this as our exit condition, why ?
This is because we want to ‘‘let our winners run’’, to achieve this we define a trailing Donchian Channel stop loss (along with a fixed ATR based stop as our volatility proxy). If we were too use the 0 exit the strategy may print a buy signal (ID > +threshold in the simple case, market regimes may be used), return to 0 and then print another buy signal, and this process can loop may times, this high trade frequency means we fail capture the entire market move lowering our profit, furthermore on lower time frames this high trade frequencies mean we pay more transaction costs (due to price slippage, commission and big-ask spread) which means less profit.
By capturing the sum of many momentum moves we are essentially following the trend hence the trend following strategy type.
Here we also print the IDI (with default strategy settings with the MA difference type), we can see that by letting our winners run we may catch many valid momentum moves, that results in a larger final pnl that if we would otherwise exit based on the equilibrium condition(Valid trades are denoted by solid green and red arrows respectively and all other valid trades which occur within the original signal are light green and red small arrows).
another example...
Note: if you would like to plot the IDI separately copy and paste the following code in a new Pine Script indicator template.
indicator("IDI")
// INTRAMARKET INDEX
var string g_idi = "intramarket diffirence index"
ui_index_1 = input.symbol("BINANCE:BTCUSD", title = "Base market", group = g_idi)
// ui_index_2 = input.symbol("BINANCE:ETHUSD", title = "Quote Market", group = g_idi)
type = input.string("MA", title = "Differrencing Series", options = , group = g_idi)
ui_ma_lkb = input.int(24, title = "lookback of ma and volatility scaling constant", group = g_idi)
ui_rsi_lkb = input.int(14, title = "Lookback of RSI", group = g_idi)
ui_atr_lkb = input.int(300, title = "ATR lookback - Normalising value", group = g_idi)
ui_ma_threshold = input.float(5, title = "Threshold of Upward/Downward Trend (MA)", group = g_idi)
ui_rsi_threshold = input.float(20, title = "Threshold of Upward/Downward Trend (RSI)", group = g_idi)
//>>+----------------------------------------------------------------+}
// CUSTOM FUNCTIONS |
//<<+----------------------------------------------------------------+{
// construct UDT (User defined type) containing the IDI (Intramarket Difference Index) source values
// UDT will hold many variables / functions grouped under the UDT
type functions
float Close // close price
float ma // ma of symbol
float rsi // rsi of the asset
float atr // atr of the asset
// the security data
getUDTdata(symbol, malookback, rsilookback, atrlookback) =>
indexHighTF = barstate.isrealtime ? 1 : 0
= request.security(symbol, timeframe = timeframe.period,
expression = [close , // Instentiate UDT variables
ta.sma(close, malookback) ,
ta.rsi(close, rsilookback) ,
ta.atr(atrlookback) ])
data = functions.new(close_, ma_, rsi_, atr_)
data
// Intramerket Difference Index
idi(type, symbol1, malookback, rsilookback, atrlookback, mathreshold, rsithreshold) =>
threshold = float(na)
index1 = getUDTdata(symbol1, malookback, rsilookback, atrlookback)
index2 = getUDTdata(syminfo.tickerid, malookback, rsilookback, atrlookback)
// declare difference variables for both base and quote symbols, conditional on which difference type is selected
var diffindex1 = 0.0, var diffindex2 = 0.0,
// declare Intramarket Difference Index based on series type, note
// if > 0, index 2 outpreforms index 1, buy index 2 (momentum based) until equalibrium
// if < 0, index 2 underpreforms index 1, sell index 1 (momentum based) until equalibrium
// for idi to be valid both series must be stationary and normalised so both series hae he same scale
intramarket_difference = 0.0
if type == "MA"
threshold := mathreshold
diffindex1 := (index1.Close - index1.ma) / math.pow(index1.atr*malookback, 0.5)
diffindex2 := (index2.Close - index2.ma) / math.pow(index2.atr*malookback, 0.5)
intramarket_difference := diffindex2 - diffindex1
else if type == "RSI"
threshold := rsilookback
diffindex1 := index1.rsi
diffindex2 := index2.rsi
intramarket_difference := diffindex2 - diffindex1
//>>+----------------------------------------------------------------+}
// STRATEGY FUNCTIONS CALLS |
//<<+----------------------------------------------------------------+{
// plot the intramarket difference
= idi(type,
ui_index_1,
ui_ma_lkb,
ui_rsi_lkb,
ui_atr_lkb,
ui_ma_threshold,
ui_rsi_threshold)
//>>+----------------------------------------------------------------+}
plot(intramarket_difference, color = color.orange)
hline(type == "MA" ? ui_ma_threshold : ui_rsi_threshold, color = color.green)
hline(type == "MA" ? -ui_ma_threshold : -ui_rsi_threshold, color = color.red)
hline(0)
Note it is possible that after printing a buy the strategy then prints many sell signals before returning to a buy, which again has the same implication (less profit. Potentially because we exit early only for price to continue upwards hence missing the larger "trend"). The image below showcases this cenario and again, by allowing our winner to run we may capture more profit (theoretically).
This should be clear...
🔸 Mean Reversion Case:
We stated prior that mean reversion of anomalies is an standerdies fact of financial data, how can we exploit this ?
We exploit this by normalizing the ID by applying the Ehlers fisher transformation. The transformed data is then assumed to be approximately normally distributed. To form the strategy we employ the same logic as for the z score, if the FT normalized ID > 2.5 (< -2.5) we buy (short). Our exit conditions remain unchanged (fixed ATR stop and trailing Donchian Trailing stop)
🔷 Position Sizing:
If ‘‘Fixed Risk From Initial Balance’’ is toggled true this means we risk a fixed percentage of our initial balance, if false we risk a fixed percentage of our equity (current balance).
Note we also employ a volatility adjusted position sizing formula, the turtle training method which is defined as follows.
Turtle position size = (1/ r * ATR * DV) * C
Where,
r = risk factor coefficient (default is 20)
ATR(j) = risk proxy, over j times steps
DV = Dollar Volatility, where DV = (1/Asset Price) * Capital at Risk
🔷 Risk Management:
Correct money management means we can limit risk and increase reward (theoretically). Here we employ
Max loss and gain per day
Max loss per trade
Max number of consecutive losing trades until trade skip
To read more see the tooltips (info circle).
🔷 Take Profit:
By defualt the script uses a Donchain Channel as a trailing stop and take profit, In addition to this the script defines a fixed ATR stop losses (by defualt, this covers cases where the DC range may be to wide making a fixed ATR stop usefull), ATR take profits however are defined but optional.
ATR SL and TP defined for all trades
🔷 Hurst Regime (Regime Filter):
The Hurst Exponent (H) aims to segment the market into three different states, Trending (H > 0.5), Random Geometric Brownian Motion (H = 0.5) and Mean Reverting / Contrarian (H < 0.5). In my interpretation this can be used as a trend filter that eliminates market noise.
We utilize the trending and mean reverting based states, as extra conditions required for valid trades for both strategy types respectively, in the process increasing our trade entry quality.
🔷 Example model Architecture:
Here is an example of one configuration of this strategy, combining all aspects discussed in this post.
Future Updates
- Automation integration (next update)
Simple SessionsThis is a simple sessions indicator that allows you to highlight up to 3 different sessions on your chart. This is intended for charts in any timeframe lower than the Daily timeframe. Really simple, clean, and minimalistic on purpose, intended to help and not clutter the chart.
Options/parameters:
Sessions: Check and setup beginning and end of the sessions. Up to 3 sessions at the same time.
Enable specific timezone: You can specify your exact timezone so that the sessions stay consistent even when you’re viewing different assets from different brokers that might be providing the price data in different timezones.
Show next day: Check to allow for your sessions to be viewed in advance for the following day so that you can expect your trading session in the chart (something simple, but quite useful).
Show next day input also accepts an integer value (default at 0). This numeric value is useful only for a few different assets that don’t have price data (aren’t tradable) 24 hours of each week-day. When that’s the case the calculation to show the session in the future day is not precise so with this number you can adjust it. For example, on OANDA:SPX500USD in the 30m time-frame, between 5pm and 6pm NY time there’s no price data. If you check that chart on any day at 4:30pm NY time, the next bar should be at 5pm, however since there’s no data it jumps to 6pm NY time. For that example you can set the input number to -2 and it will move the sessions to the correct time window you specified in the Sessions input.
Optional comment: This is a comment that will be shown in the status line. There’s no other use for this. It’s only helpful when you have multiple instances of the indicator for different assets for example. In that case with this comment you would be able to instantly detect which indicator is for which chart.
Scalping with Williams %R, MACD, and SMA (1m)Overview:
This trading strategy is designed for scalping in the 1-minute timeframe. It uses a combination of the Williams %R, MACD, and SMA indicators to generate buy and sell signals. It also includes alert functionalities to notify users when trades are executed or closed.
Indicators Used:
Williams %R : A momentum indicator that measures overbought and oversold conditions. The Williams %R values range from -100 to 0.
Length: 140 bars (i.e., 140-period).
MACD (Moving Average Convergence Divergence) : A trend-following momentum indicator that shows the relationship between two moving averages of a security's price.
Fast Length: 24 bars
Slow Length: 52 bars
MACD Length: 9 bars (signal line)
SMA (Simple Moving Average) : A trend-following indicator that smooths out price data to create a trend-following indicator.
Length: 7 bars
Conditions and Logic:
Timeframe Check :
The strategy is designed specifically for the 1-minute timeframe. If the current chart is not on the 1-minute timeframe, a warning label is displayed on the chart instructing the user to switch to the 1-minute timeframe.
Williams %R Conditions :
Buy Condition: The strategy looks for a crossover of Williams %R from below -94 to above -94. This indicates a potential buying opportunity when the market is moving out of an oversold condition.
Sell Condition: The strategy looks for a crossunder of Williams %R from above -6 to below -6. This indicates a potential selling opportunity when the market is moving out of an overbought condition.
Deactivate Buy: If Williams %R crosses above -40, the buy signal is deactivated, suggesting that the buying condition is no longer valid.
Deactivate Sell: If Williams %R crosses below -60, the sell signal is deactivated, suggesting that the selling condition is no longer valid.
MACD Conditions :
MACD Histogram: Used to identify the momentum and the direction of the trend.
Long Entry: The strategy initiates a buy order if the MACD histogram shows a positive bar after a negative bar while a buy condition is active and Williams %R is above -94.
Long Exit: The strategy exits the buy position if the MACD histogram turns negative and is below the previous histogram bar.
Short Entry: The strategy initiates a sell order if the MACD histogram shows a negative bar after a positive bar while a sell condition is active and Williams %R is below -6.
Short Exit: The strategy exits the sell position if the MACD histogram turns positive and is above the previous histogram bar.
Trend Confirmation (Using SMA) :
Bullish Trend: The strategy considers a bullish trend if the current price is above the 7-bar SMA. A buy signal is only considered if this condition is met.
Bearish Trend: The strategy considers a bearish trend if the current price is below the 7-bar SMA. A sell signal is only considered if this condition is met.
Alerts:
Long Entry Alert: An alert is triggered when a buy order is executed.
Long Exit Alert: An alert is triggered when the buy order is closed.
Short Entry Alert: An alert is triggered when a sell order is executed.
Short Exit Alert: An alert is triggered when the sell order is closed.
Summary:
Buy Signal: Activated when Williams %R crosses above -94 and the price is above the 7-bar SMA. A buy order is placed if the MACD histogram shows a positive bar after a negative bar. The buy order is closed when the MACD histogram turns negative and is below the previous histogram bar.
Sell Signal: Activated when Williams %R crosses below -6 and the price is below the 7-bar SMA. A sell order is placed if the MACD histogram shows a negative bar after a positive bar. The sell order is closed when the MACD histogram turns positive and is above the previous histogram bar.
This strategy combines momentum (Williams %R), trend-following (MACD), and trend confirmation (SMA) to identify trading opportunities in the 1-minute timeframe. It is designed for short-term trading or scalping.
Risk Appetite & Directional Bias [NariCapitalTrading]Guide to the Risk Appetite & Directional Bias Indicator
This indicator is a tool designed to capture the relationship between Bitcoin and the S&P 500 (but could be any two assets of your choice, theoretically). This post aims to provide a detailed overview of the logic, components, and implementation of the indicator.
1. Introduction
This indicator leverages the relationship between Bitcoin and the S&P 500 to provide insights into the directional bias of the S&P 500 based on Bitcoin's movements. The premise is that Bitcoin, due to its 24/7 trading nature, often leads SP500 price movements. By dynamically adjusting the influence (beta) of Bitcoin based on historical data, this indicator aims to capture shifts in market sentiment or "risk appetite."
2. Core Concepts
a. Dynamic Weighting
The indicator uses a dynamic weighting mechanism to adjust the influence of Bitcoin on the S&P 500. The weight is based on the correlation between Bitcoin's and the S&P 500's returns, normalized by their respective volatilities.
// Calculate rolling correlation between Bitcoin and S&P 500
btcSp500Correlation = ta.correlation(btcChange, sp500Change, lookbackPeriod)
// Dynamic adjustment factor for Bitcoin influence on S&P 500
dynamicBtcWeight = btcWeightInput * btcSp500Correlation / normalizedBtcVolatility
b. Percentage Change and Volatility
Percentage change and volatility are critical components of the indicator. They are calculated for both Bitcoin and the S&P 500 to understand their respective behaviors over a defined lookback period.
// Function to calculate percentage change
f_change(src) =>
ta.change(src) * 100
// Function to calculate volatility
f_volatility(src, period) =>
ta.stdev(f_change(src), period)
These functions calculate the percentage change and standard deviation (volatility) of the asset prices.
c. Normalization
Normalization is applied to Bitcoin's volatility relative to the S&P 500's volatility to ensure that the influence of Bitcoin is appropriately scaled. This prevents Bitcoin's typically higher volatility from overwhelming the analysis.
// Normalize Bitcoin's volatility against S&P 500's volatility
normalizedBtcVolatility = sp500Volatility != 0 ? btcVolatility / sp500Volatility : na
3. Indicator Logic
The indicator's logic involves combining the historical change of the S&P 500 with the dynamically weighted influence of Bitcoin's change. The output is an "adjusted change" that reflects this combined impact.
// Combine the Bitcoin influence with S&P 500's historical change
adjustedChange = sp500Change + (dynamicBtcWeight * btcChange)
This adjusted change is used to determine the directional bias, categorized as "Bullish," "Bearish," or "Neutral."
4. Visualization
The indicator visualizes the predicted price of the S&P 500 based on the adjusted change. It uses different colors to represent different biases.
// Plot the predicted price with color indication based on bias
plotColor = bias == "Bullish" ? color.green : bias == "Bearish" ? color.red : color.blue
plot(predictedPrice, color=plotColor, title="Predicted SP500 Price", linewidth=2, style=plot.style_line)
Additionally, the adjusted change is plotted as a histogram.
5. Use Cases and Practical Applications
The indicator is particularly useful for day traders and swing traders who seek to anticipate market moves before they are fully reflected in traditional equity markets. This may/will require some parameter tuning and optimization on your part (the user).
For other researchers and quants: the dynamic weighting mechanism offers an example of how cross-asset relationships can be modeled and incorporated into pinescript studies.
6. Customization
Users can customize several aspects of the indicator:
Lookback Period: Defines the period over which correlation and volatility are calculated.
EMA Period: Adjusts the sensitivity of the indicator.
Initial Weight of Bitcoin Influence: Sets the starting point for Bitcoin's impact, which is then dynamically adjusted.
Correlation Clusters [LuxAlgo]The Correlation Clusters is a machine learning tool that allows traders to group sets of tickers with a similar correlation coefficient to a user-set reference ticker.
The tool calculates the correlation coefficients between 10 user-set tickers and a user-set reference ticker, with the possibility of forming up to 10 clusters.
🔶 USAGE
Applying clustering methods to correlation analysis allows traders to quickly identify which set of tickers are correlated with a reference ticker, rather than having to look at them one by one or using a more tedious approach such as correlation matrices.
Tickers belonging to a cluster may also be more likely to have a higher mutual correlation. The image above shows the detailed parts of the Correlation Clusters tool.
The correlation coefficient between two assets allows traders to see how these assets behave in relation to each other. It can take values between +1.0 and -1.0 with the following meaning
Value near +1.0: Both assets behave in a similar way, moving up or down at the same time
Value close to 0.0: No correlation, both assets behave independently
Value near -1.0: Both assets have opposite behavior when one moves up the other moves down, and vice versa
There is a wide range of trading strategies that make use of correlation coefficients between assets, some examples are:
Pair Trading: Traders may wish to take advantage of divergences in the price movements of highly positively correlated assets; even highly positively correlated assets do not always move in the same direction; when assets with a correlation close to +1.0 diverge in their behavior, traders may see this as an opportunity to buy one and sell the other in the expectation that the assets will return to the likely same price behavior.
Sector rotation: Traders may want to favor some sectors that are expected to perform in the next cycle, tracking the correlation between different sectors and between the sector and the overall market.
Diversification: Traders can aim to have a diversified portfolio of uncorrelated assets. From a risk management perspective, it is useful to know the correlation between the assets in your portfolio, if you hold equal positions in positively correlated assets, your risk is tilted in the same direction, so if the assets move against you, your risk is doubled. You can avoid this increased risk by choosing uncorrelated assets so that they move independently.
Hedging: Traders may want to hedge positions with correlated assets, from a hedging perspective, if you are long an asset, you can hedge going long a negatively correlated asset or going short a positively correlated asset.
Grouping different assets with similar behavior can be very helpful to traders to avoid over-exposure to those assets, traders may have multiple long positions on different assets as a way of minimizing overall risk when in reality if those assets are part of the same cluster traders are maximizing their risk by taking positions on assets with the same behavior.
As a rule of thumb, a trader can minimize risk via diversification by taking positions on assets with no correlations, the proposed tool can effectively show a set of uncorrelated candidates from the reference ticker if one or more clusters centroids are located near 0.
🔶 DETAILS
K-means clustering is a popular machine-learning algorithm that finds observations in a data set that are similar to each other and places them in a group.
The process starts by randomly assigning each data point to an initial group and calculating the centroid for each. A centroid is the center of the group. K-means clustering forms the groups in such a way that the variances between the data points and the centroid of the cluster are minimized.
It's an unsupervised method because it starts without labels and then forms and labels groups itself.
🔹 Execution Window
In the image above we can see how different execution windows provide different correlation coefficients, informing traders of the different behavior of the same assets over different time periods.
Users can filter the data used to calculate correlations by number of bars, by time, or not at all, using all available data. For example, if the chart timeframe is 15m, traders may want to know how different assets behave over the last 7 days (one week), or for an hourly chart set an execution window of one month, or one year for a daily chart. The default setting is to use data from the last 50 bars.
🔹 Clusters
On this graph, we can see different clusters for the same data. The clusters are identified by different colors and the dotted lines show the centroids of each cluster.
Traders can select up to 10 clusters, however, do note that selecting 10 clusters can lead to only 4 or 5 returned clusters, this is caused by the machine learning algorithm not detecting any more data points deviating from already detected clusters.
Traders can fine-tune the algorithm by changing the 'Cluster Threshold' and 'Max Iterations' settings, but if you are not familiar with them we advise you not to change these settings, the defaults can work fine for the application of this tool.
🔹 Correlations
Different correlations mean different behaviors respecting the same asset, as we can see in the chart above.
All correlations are found against the same asset, traders can use the chart ticker or manually set one of their choices from the settings panel. Then they can select the 10 tickers to be used to find the correlation coefficients, which can be useful to analyze how different types of assets behave against the same asset.
🔶 SETTINGS
Execution Window Mode: Choose how the tool collects data, filter data by number of bars, time, or no filtering at all, using all available data.
Execute on Last X Bars: Number of bars for data collection when the 'Bars' execution window mode is active.
Execute on Last: Time window for data collection when the `Time` execution window mode is active. These are full periods, so `Day` means the last 24 hours, `Week` means the last 7 days, and so on.
🔹 Clusters
Number of Clusters: Number of clusters to detect up to 10. Only clusters with data points are displayed.
Cluster Threshold: Number used to compare a new centroid within the same cluster. The lower the number, the more accurate the centroid will be.
Max Iterations: Maximum number of calculations to detect a cluster. A high value may lead to a timeout runtime error (loop takes too long).
🔹 Ticker of Reference
Use Chart Ticker as Reference: Enable/disable the use of the current chart ticker to get the correlation against all other tickers selected by the user.
Custom Ticker: Custom ticker to get the correlation against all the other tickers selected by the user.
🔹 Correlation Tickers
Select the 10 tickers for which you wish to obtain the correlation against the reference ticker.
🔹 Style
Text Size: Select the size of the text to be displayed.
Display Size: Select the size of the correlation chart to be displayed, up to 500 bars.
Box Height: Select the height of the boxes to be displayed. A high height will cause overlapping if the boxes are close together.
Clusters Colors: Choose a custom colour for each cluster.
Multiple Naked LevelsPURPOSE OF THE INDICATOR
This indicator autogenerates and displays naked levels and gaps of multiple types collected into one simple and easy to use indicator.
VALUE PROPOSITION OF THE INDICATOR AND HOW IT IS ORIGINAL AND USEFUL
1) CONVENIENCE : The purpose of this indicator is to offer traders with one coherent and robust indicator providing useful, valuable, and often used levels - in one place.
2) CLUSTERS OF CONFLUENCES : With this indicator it is easy to identify levels and zones on the chart with multiple confluences increasing the likelihood of a potential reversal zone.
THE TYPES OF LEVELS AND GAPS INCLUDED IN THE INDICATOR
The types of levels include the following:
1) PIVOT levels (Daily/Weekly/Monthly) depicted in the chart as: dnPIV, wnPIV, mnPIV.
2) POC (Point of Control) levels (Daily/Weekly/Monthly) depicted in the chart as: dnPoC, wnPoC, mnPoC.
3) VAH/VAL STD 1 levels (Value Area High/Low with 1 std) (Daily/Weekly/Monthly) depicted in the chart as: dnVAH1/dnVAL1, wnVAH1/wnVAL1, mnVAH1/mnVAL1
4) VAH/VAL STD 2 levels (Value Area High/Low with 2 std) (Daily/Weekly/Monthly) depicted in the chart as: dnVAH2/dnVAL2, wnVAH2/wnVAL2, mnVAH1/mnVAL2
5) FAIR VALUE GAPS (Daily/Weekly/Monthly) depicted in the chart as: dnFVG, wnFVG, mnFVG.
6) CME GAPS (Daily) depicted in the chart as: dnCME.
7) EQUILIBRIUM levels (Daily/Weekly/Monthly) depicted in the chart as dnEQ, wnEQ, mnEQ.
HOW-TO ACTIVATE LEVEL TYPES AND TIMEFRAMES AND HOW-TO USE THE INDICATOR
You can simply choose which of the levels to be activated and displayed by clicking on the desired radio button in the settings menu.
You can locate the settings menu by clicking into the Object Tree window, left-click on the Multiple Naked Levels and select Settings.
You will then get a menu of different level types and timeframes. Click the checkboxes for the level types and timeframes that you want to display on the chart.
You can then go into the chart and check out which naked levels that have appeared. You can then use those levels as part of your technical analysis.
The levels displayed on the chart can serve as additional confluences or as part of your overall technical analysis and indicators.
In order to back-test the impact of the different naked levels you can also enable tapped levels to be depicted on the chart. Do this by toggling the 'Show tapped levels' checkbox.
Keep in mind however that Trading View can not shom more than 500 lines and text boxes so the indocator will not be able to give you the complete history back to the start for long duration assets.
In order to clean up the charts a little bit there are two additional settings that can be used in the Settings menu:
- Selecting the price range (%) from the current price to be included in the chart. The default is 25%. That means that all levels below or above 20% will not be displayed. You can set this level yourself from 0 up to 100%.
- Selecting the minimum gap size to include on the chart. The default is 1%. That means that all gaps/ranges below 1% in price difference will not be displayed on the chart. You can set the minimum gap size yourself.
BASIC DESCRIPTION OF THE INNER WORKINGS OF THE INDICTATOR
The way the indicator works is that it calculates and identifies all levels from the list of levels type and timeframes above. The indicator then adds this level to a list of untapped levels.
Then for each bar after, it checks if the level has been tapped. If the level has been tapped or a gap/range completely filled, this level is removed from the list so that the levels displayed in the end are only naked/untapped levels.
Below is a descrition of each of the level types and how it is caluclated (algorithm):
PIVOT
Daily, Weekly and Monthly levels in trading refer to significant price points that traders monitor within the context of a single trading day. These levels can provide insights into market behavior and help traders make informed decisions regarding entry and exit points.
Traders often use D/W/M levels to set entry and exit points for trades. For example, entering long positions near support (daily close) or selling near resistance (daily close).
Daily levels are used to set stop-loss orders. Placing stops just below the daily close for long positions or above the daily close for short positions can help manage risk.
The relationship between price movement and daily levels provides insights into market sentiment. For instance, if the price fails to break above the daily high, it may signify bearish sentiment, while a strong breakout can indicate bullish sentiment.
The way these levels are calculated in this indicator is based on finding pivots in the chart on D/W/M timeframe. The level is then set to previous D/W/M close = current D/W/M open.
In addition, when price is going up previous D/W/M open must be smaller than previous D/W/M close and current D/W/M close must be smaller than the current D/W/M open. When price is going down the opposite.
POINT OF CONTROL
The Point of Control (POC) is a key concept in volume profile analysis, which is commonly used in trading.
It represents the price level at which the highest volume of trading occurred during a specific period.
The POC is derived from the volume traded at various price levels over a defined time frame. In this indicator the timeframes are Daily, Weekly, and Montly.
It identifies the price level where the most trades took place, indicating strong interest and activity from traders at that price.
The POC often acts as a significant support or resistance level. If the price approaches the POC from above, it may act as a support level, while if approached from below, it can serve as a resistance level. Traders monitor the POC to gauge potential reversals or breakouts.
The way the POC is calculated in this indicator is by an approximation by analysing intrabars for the respective timeperiod (D/W/M), assigning the volume for each intrabar into the price-bins that the intrabar covers and finally identifying the bin with the highest aggregated volume.
The POC is the price in the middle of this bin.
The indicator uses a sample space for intrabars on the Daily timeframe of 15 minutes, 35 minutes for the Weekly timeframe, and 140 minutes for the Monthly timeframe.
The indicator has predefined the size of the bins to 0.2% of the price at the range low. That implies that the precision of the calulated POC og VAH/VAL is within 0.2%.
This reduction of precision is a tradeoff for performance and speed of the indicator.
This also implies that the bigger the difference from range high prices to range low prices the more bins the algorithm will iterate over. This is typically the case when calculating the monthly volume profile levels and especially high volatility assets such as alt coins.
Sometimes the number of iterations becomes too big for Trading View to handle. In these cases the bin size will be increased even more to reduce the number of iterations.
In such cases the bin size might increase by a factor of 2-3 decreasing the accuracy of the Volume Profile levels.
Anyway, since these Volume Profile levels are approximations and since precision is traded for performance the user should consider the Volume profile levels(POC, VAH, VAL) as zones rather than pin point accurate levels.
VALUE AREA HIGH/LOW STD1/STD2
The Value Area High (VAH) and Value Area Low (VAL) are important concepts in volume profile analysis, helping traders understand price levels where the majority of trading activity occurs for a given period.
The Value Area High/Low is the upper/lower boundary of the value area, representing the highest price level at which a certain percentage of the total trading volume occurred within a specified period.
The VAH/VAL indicates the price point above/below which the majority of trading activity is considered less valuable. It can serve as a potential resistance/support level, as prices above/below this level may experience selling/buying pressure from traders who view the price as overvalued/undervalued
In this indicator the timeframes are Daily, Weekly, and Monthly. This indicator provides two boundaries that can be selected in the menu.
The first boundary is 70% of the total volume (=1 standard deviation from mean). The second boundary is 95% of the total volume (=2 standard deviation from mean).
The way VAH/VAL is calculated is based on the same algorithm as for the POC.
However instead of identifying the bin with the highest volume, we start from range low and sum up the volume for each bin until the aggregated volume = 30%/70% for VAL1/VAH1 and aggregated volume = 5%/95% for VAL2/VAH2.
Then we simply set the VAL/VAH equal to the low of the respective bin.
FAIR VALUE GAPS
Fair Value Gaps (FVG) is a concept primarily used in technical analysis and price action trading, particularly within the context of futures and forex markets. They refer to areas on a price chart where there is a noticeable lack of trading activity, often highlighted by a significant price movement away from a previous level without trading occurring in between.
FVGs represent price levels where the market has moved significantly without any meaningful trading occurring. This can be seen as a "gap" on the price chart, where the price jumps from one level to another, often due to a rapid market reaction to news, events, or other factors.
These gaps typically appear when prices rise or fall quickly, creating a space on the chart where no transactions have taken place. For example, if a stock opens sharply higher and there are no trades at the prices in between the two levels, it creates a gap. The areas within these gaps can be areas of liquidity that the market may return to “fill” later on.
FVGs highlight inefficiencies in pricing and can indicate areas where the market may correct itself. When the market moves rapidly, it may leave behind price levels that traders eventually revisit to establish fair value.
Traders often watch for these gaps as potential reversal or continuation points. Many traders believe that price will eventually “fill” the gap, meaning it will return to those price levels, providing potential entry or exit points.
This indicator calculate FVGs on three different timeframes, Daily, Weekly and Montly.
In this indicator the FVGs are identified by looking for a three-candle pattern on a chart, signalling a discrete imbalance in order volume that prompts a quick price adjustment. These gaps reflect moments where the market sentiment strongly leans towards buying or selling yet lacks the opposite orders to maintain price stability.
The indicator sets the gap to the difference from the high of the first bar to the low of the third bar when price is moving up or from the low of the first bar to the high of the third bar when price is moving down.
CME GAPS (BTC only)
CME gaps refer to price discrepancies that can occur in charts for futures contracts traded on the Chicago Mercantile Exchange (CME). These gaps typically arise from the fact that many futures markets, including those on the CME, operate nearly 24 hours a day but may have significant price movements during periods when the market is closed.
CME gaps occur when there is a difference between the closing price of a futures contract on one trading day and the opening price on the following trading day. This difference can create a "gap" on the price chart.
Opening Gaps: These usually happen when the market opens significantly higher or lower than the previous day's close, often influenced by news, economic data releases, or other market events occurring during non-trading hours.
Gaps can result from reactions to major announcements or developments, such as earnings reports, geopolitical events, or changes in economic indicators, leading to rapid price movements.
The importance of CME Gaps in Trading is the potential for Filling Gaps: Many traders believe that prices often "fill" gaps, meaning that prices may return to the gap area to establish fair value.
This can create potential trading opportunities based on the expectation of gap filling. Gaps can act as significant support or resistance levels. Traders monitor these levels to identify potential reversal points in price action.
The way the gap is identified in this indicator is by checking if current open is higher than previous bar close when price is moving up or if current open is lower than previous day close when price is moving down.
EQUILIBRIUM
Equilibrium in finance and trading refers to a state where supply and demand in a market balance each other, resulting in stable prices. It is a key concept in various economic and trading contexts. Here’s a concise description:
Market Equilibrium occurs when the quantity of a good or service supplied equals the quantity demanded at a specific price level. At this point, there is no inherent pressure for the price to change, as buyers and sellers are in agreement.
Equilibrium Price is the price at which the market is in equilibrium. It reflects the point where the supply curve intersects the demand curve on a graph. At the equilibrium price, the market clears, meaning there are no surplus goods or shortages.
In this indicator the equilibrium level is calculated simply by finding the midpoint of the Daily, Weekly, and Montly candles respectively.
NOTES
1) Performance. The algorithms are quite resource intensive and the time it takes the indicator to calculate all the levels could be 5 seconds or more, depending on the number of bars in the chart and especially if Montly Volume Profile levels are selected (POC, VAH or VAL).
2) Levels displayed vs the selected chart timeframe. On a timeframe smaller than the daily TF - both Daily, Weekly, and Monthly levels will be displayed. On a timeframe bigger than the daily TF but smaller than the weekly TF - the Weekly and Monthly levels will be display but not the Daily levels. On a timeframe bigger than the weekly TF but smaller than the monthly TF - only the Monthly levels will be displayed. Not Daily and Weekly.
CREDITS
The core algorithm for calculating the POC levels is based on the indicator "Naked Intrabar POC" developed by rumpypumpydumpy (https:www.tradingview.com/u/rumpypumpydumpy/).
The "Naked intrabar POC" indicator calculates the POC on the current chart timeframe.
This indicator (Multiple Naked Levels) adds two new features:
1) It calculates the POC on three specific timeframes, the Daily, Weekly, and Monthly timeframes - not only the current chart timeframe.
2) It adds functionaly by calculating the VAL and VAH of the volume profile on the Daily, Weekly, Monthly timeframes .
offline_detection Library
Description:
Boolean and alert functions that check if the latest user-selected symbol 'sym' has started printing. Alerts trigger by bar close.
Usage:
Mainly for 24/7 crypto exchanges. If an exchange you have alerts on goes offline, the alerts will not trigger. The offline alert is an alert to alert you of that. It's best to create the alerts while on "CRYPTOCAP:TOTAL" because it has the least downtime. The exchange you want alerts on is controlled by the 'sym' parameter. The alerts need to be enabled yourself.
Limitations:
The alerts may be triggered by no volume in a bar, so it's best to set it on timeframes higher than 1 minute. Alerts are not enabled in libraries so the functions must be imported or copied into another script. alert.freq cannot be changed by input because it becomes a series string in a function. dynamic_requests must be true to export functions using `request.*()` calls.
Example:
import NeoButane/offline_detection/1
thing = "COINBASE:BTCUSD"
offline_detection.offlineAlertNoSpam(thing)
offline_detection.onlineAlert(thing)
warningsign()
Library "offline_detection"
Creates alerts for the user-selected symbol by checking if its latest bar is current by comparing it against another chart.
isItDown(sym)
Checks if 'sym' is offline by requesting time of 'sym'.
Parameters:
sym (simple string) : (const string) The user-selected symbol in the form of "PREFIX:TICKER".
Returns: True if time of 'sym' is not available.
isItDownNoSpam(sym)
Checks if 'sym' is offline by requesting time of 'sym' once.
Parameters:
sym (simple string) : (const string) The user-selected symbol in the form of "PREFIX:TICKER".
Returns: True if time of 'sym' is not available and it was available in the previous bar close.
isItUp(sym)
Checks if 'sym' is online after being offline by using isItDown().
Parameters:
sym (simple string) : (const string) The user-selected symbol in the form of "PREFIX:TICKER".
Returns: True if time of 'sym' is available in the current bar but wasn't prior.
offlineAlert(sym)
Checks if isItDown() is true.
Parameters:
sym (simple string) : (const string) The user-selected symbol in the form of "PREFIX:TICKER".
Returns: An alert when the symbol is not online and the time in UTC. This will continue triggering every bar close until the symbol is online.
offlineAlertNoSpam(sym)
Checks if isItDown() is true.
Parameters:
sym (simple string) : (const string) The user-selected symbol in the form of "PREFIX:TICKER".
Returns: An alert when the symbol is not online and the time in UTC.
onlineAlert(sym)
Checks if isItUp() is true.
Parameters:
sym (simple string) : (const string) The user-selected symbol in the form of "PREFIX:TICKER".
Returns: An alert when the symbol is now online and the time in UTC.
warningsign()
Checks if the current chart is "CRYPTOCAP:TOTAL".
Returns: A reminder on the chart.
ArbitrageDashboardv3310824This indicator allows you to monitor the spread (difference in exchange rates) between two assets in real-time for up to 12 trading pairs simultaneously.
⚙️ How does the indicator work?
In the settings menu, you can select two trading pairs, such as BTCUSDT on Binance and BTCUSDT on Bybit. The script then fetches prices from both exchanges and compares them, calculating the percentage difference (spread). This process is repeated for all 12 trading pairs added in the settings. The script works only with the assets and exchanges available on TradingView.
⚡️ How to use it?
When the spread is negative, it means the asset's price on the first exchange is lower than on the second. By buying on the first exchange and selling on the second, you can make a profit (taking into account the exchange fees). When the spread is positive, the opposite is true. The buy prices and exchanges are shown in a green Buy row, while sell prices and exchanges are displayed in a red Sell row. If the spread is zero, prices are the same on both exchanges, and no arbitrage opportunity exists. For better accuracy, use the smallest timeframe available in your TradingView subscription, such as minute or second intervals.
🕒 Arbitrage Situation Counter
For each trading pair, the table below the Buy row shows the number of arbitrage situations within a specified timeframe. An arbitrage situation occurs when the spread exceeds the Signal Threshold Level set by the user. Each time this happens, the counter increases by one. It only counts situations that occurred within the selected timeframe, such as the past hour for a 1-hour period. You can track arbitrage situations for up to three different periods simultaneously, ranging from 5 minutes to 24 hours. This counter helps evaluate the potential for arbitrage in the selected trading pairs. If a pair shows only 1-2 arbitrage situations per hour, it might be better to look for another pair.
🔔 Setting Up Alerts
In the script settings, you can set the Spread Signal Threshold. When the spread reaches this level, the table for that asset will be highlighted. This threshold also acts as a signal for setting up alerts. To set alerts, go to the Alerts tab in the TradingView menu on the right, click "Create Alert", and select this indicator under "Condition". You can then name the alert and finish the setup by clicking "Create".
We, the authors, have long been involved in cryptocurrency arbitrage and created this script for our own trading, but you can use it for any assets and markets as you see fit.
We also offer lighter versions of the indicator that track the spread for one or three trading pairs. These versions also display the spread chart, which can be useful for historical analysis. If the full indicator is too resource-intensive for your device, try these lighter versions:
🧩 Arbitrage Spread v1 : 1 pair + 1 chart
🧩 Arbitrage Spread v2 : 3 pairs + 3 charts
If your hardware can handle it, you can use the 12-pair version as a dashboard and add one of the versions with a spread chart for a detailed view of one or three pairs.
--
Этот индикатор позволяет в реальном времени отслеживать изменение спреда (разницы в цене) между двумя активами для 12 торговых пар одновременно.
⚙️ Как работает индикатор?
В меню настроек индикатора пользователь выбирает две торговые пары, например BTCUSDT на бирже Binance и BTCUSDT на бирже Bybit. Скрипт получает цены с обеих бирж и сравнивает их, рассчитывая процентное отклонение (спред). Этот процесс выполняется для всех 12 торговых пар, указанных в настройках. Скрипт работает только с теми активами и биржами, которые доступны на TradingView.
⚡️ Как использовать?
Когда спред отрицательный, это означает, что цена на первый актив ниже, чем на второй. В таком случае можно купить актив на первой бирже и продать на второй, получив прибыль (не забывая учитывать биржевые комиссии). Когда спред положительный, ситуация обратная. Биржи и цены для покупки отображаются в зеленой строке Buy, а для продажи – в красной строке Sell. При нулевом спреде цены на обеих биржах одинаковы, и арбитражная ситуация отсутствует.
Для повышения точности индикатора используйте минимально доступный таймфрейм на TradingView – минутный или секундный.
🕒 Счетчик арбитражных ситуаций
По каждой торговой паре в таблице под строкой Buy отображается количество арбитражных ситуаций за определенный промежуток времени. Арбитражная ситуация возникает, когда спред превышает установленный пользователем сигнальный уровень (Signal Threshold Level). При каждом превышении этого уровня счетчик увеличивается на единицу. Счетчик учитывает арбитражные ситуации за определенный период, например, за последний час для 1-часового периода (1h). Можно отслеживать количество арбитражных ситуаций одновременно для трех временных периодов от 5 минут до суток.
Счетчик помогает оценить перспективность арбитража выбранных пар. Если за час на паре было всего 1-2 арбитражные ситуации, возможно, лучше поискать другую пару.
🔔 Настройка оповещений
В настройках скрипта можно задать пороговое значение спреда (Spread Signal Threshold). Когда спред достигнет этого уровня, таблица для данного актива будет подсвечена. Этот уровень также служит сигналом для настройки оповещений.
Для настройки оповещений откройте вкладку «Оповещения» в меню TradingView справа. Нажмите кнопку «Создать оповещение». В открывшемся окне в строке «Условие» выберите данный индикатор. Затем задайте название и завершите настройку, нажав кнопку «Создать».
Мы, авторы этого скрипта, давно занимаемся арбитражем криптовалют и создали его для себя, но вы можете использовать его для любых активов и на любых рынках по своему усмотрению.
У нас также есть более простая версия индикатора, которая отслеживает спред для одной или трех торговых пар. В этих версиях можно просматривать график самого спреда, что полезно для оценки его динамики. Если этот индикатор кажется вам или вашему устройству слишком тяжелым, вы можете воспользоваться облегченными версиями:
🧩 Arbitrage Spread v1 : 1 пара + 1 график
🧩 Arbitrage Spread v2 : 3 пары + 3 графика
Если ваше оборудование позволяет, вы можете добавить несколько индикаторов на экран. Например, использовать версию с 12 парами как дашборд, а одну из версий с графиком спреда для более детального анализа по одному или трем инструментам.
All Harmonic Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws and sends alerts for all of the harmonic patterns in my public library as they occur. The patterns included are as follows:
• Bearish 5-0
• Bullish 5-0
• Bearish ABCD
• Bullish ABCD
• Bearish Alternate Bat
• Bullish Alternate Bat
• Bearish Bat
• Bullish Bat
• Bearish Butterfly
• Bullish Butterfly
• Bearish Cassiopeia A
• Bullish Cassiopeia A
• Bearish Cassiopeia B
• Bullish Cassiopeia B
• Bearish Cassiopeia C
• Bullish Cassiopeia C
• Bearish Crab
• Bullish Crab
• Bearish Deep Crab
• Bullish Deep Crab
• Bearish Cypher
• Bullish Cypher
• Bearish Gartley
• Bullish Gartley
• Bearish Shark
• Bullish Shark
• Bearish Three-Drive
• Bullish Three-Drive
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Wave Cycles
A wave cycle is here defined as a complete two-part move between a swing high and a swing low, or a swing low and a swing high. The first swing high or swing low will set the course for the sequence of wave cycles that follow; for example a chart that begins with a swing low will form its first complete wave cycle upon the formation of the first complete swing high and vice versa.
Figure 1.
Retracement and Extension Ratios
Retracement and extension ratios are calculated by dividing the current range by the preceding range and multiplying the answer by 100. Retracement ratios are those that are equal to or below 100% of the preceding range and extension ratios are those that are above 100% of the preceding range.
Fibonacci Retracement and Extension Ratios
The Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding numbers, starting with 0 and 1. For example 0 + 1 = 1, 1 + 1 = 2, 1 + 2 = 3, and so on. Ultimately, we could go on forever but the first few numbers in the sequence are as follows: 0 , 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.
The extension ratios are calculated by dividing each number in the sequence by the number preceding it. For example 0/1 = 0, 1/1 = 1, 2/1 = 2, 3/2 = 1.5, 5/3 = 1.6666..., 8/5 = 1.6, 13/8 = 1.625, 21/13 = 1.6153..., 34/21 = 1.6190..., 55/34 = 1.6176..., 89/55 = 1.6181..., 144/89 = 1.6179..., and so on. The retracement ratios are calculated by inverting this process and dividing each number in the sequence by the number proceeding it. For example 0/1 = 0, 1/1 = 1, 1/2 = 0.5, 2/3 = 0.666..., 3/5 = 0.6, 5/8 = 0.625, 8/13 = 0.6153..., 13/21 = 0.6190..., 21/34 = 0.6176..., 34/55 = 0.6181..., 55/89 = 0.6179..., 89/144 = 0.6180..., and so on.
Fibonacci ranges are typically drawn from left to right, with retracement levels representing ratios inside of the current range and extension levels representing ratios extended outside of the current range. If the current wave cycle ends on a swing low, the Fibonacci range is drawn from peak to trough. If the current wave cycle ends on a swing high the Fibonacci range is drawn from trough to peak.
Measurement Tolerances
Tolerance refers to the allowable variation or deviation from a specific value or dimension. It is the range within which a particular measurement is considered to be acceptable or accurate. I have applied this concept in my pattern detection logic and have set default tolerances where applicable, as perfect patterns are, needless to say, very rare.
Chart Patterns
Generally speaking price charts are nothing more than a series of swing highs and swing lows. When demand outweighs supply over a period of time prices swing higher and when supply outweighs demand over a period of time prices swing lower. These swing highs and swing lows can form patterns that offer insight into the prevailing supply and demand dynamics at play at the relevant moment in time.
‘Let us assume… that you the reader, are not a member of that mysterious inner circle known to the boardrooms as “the insiders”… But it is fairly certain that there are not nearly so many “insiders” as amateur trader supposes and… It is even more certain that insiders can be wrong… Any success they have, however, can be accomplished only by buying and selling… hey can do neither without altering the delicate poise of supply and demand that governs prices. Whatever they do is sooner or later reflected on the charts where you… can detect it. Or detect, at least, the way in which the supply-demand equation is being affected… So, you do not need to be an insider to ride with them frequently… prices move in trends. Some of those trends are straight, some are curved; some are brief and some are long and continued… produced in a series of action and reaction waves of great uniformity. Sooner or later, these trends change direction; they may reverse (as from up to down), or they may be interrupted by some sort of sideways movement and then, after a time, proceed again in their former direction… when a price trend is in the process of reversal… a characteristic area or pattern takes shape on the chart, which becomes recognisable as a reversal formation… Needless to say, the first and most important task of the technical chart analyst is to learn to know the important reversal formations and to judge what they may signify in terms of trading opportunities’ (Edwards & Magee, 1948).
This is as true today as it was when Edwards and Magee were writing in the first half of the last Century, study your patterns and make judgements for yourself about what their implications truly are on the markets and timeframes you are interested in trading.
Over the years, traders have come to discover a multitude of chart and candlestick patterns that are supposed to pertain information on future price movements. However, it is never so clear cut in practice and patterns that where once considered to be reversal patterns are now considered to be continuation patterns and vice versa. Bullish patterns can have bearish implications and bearish patterns can have bullish implications. As such, I would highly encourage you to do your own backtesting.
There is no denying that chart patterns exist, but their implications will vary from market to market and timeframe to timeframe. So it is down to you as an individual to study them and make decisions about how they may be used in a strategic sense.
Harmonic Patterns
The concept of harmonic patterns in trading was first introduced by H.M. Gartley in his book "Profits in the Stock Market", published in 1935. Gartley observed that markets have a tendency to move in repetitive patterns, and he identified several specific patterns that he believed could be used to predict future price movements. The bullish and bearish Gartley patterns are the oldest recognized harmonic patterns in trading and all the other harmonic patterns are modifications of the original Gartley patterns. Gartley patterns are fundamentally composed of 5 points, or 4 waves.
Since then, many other traders and analysts have built upon Gartley's work and developed their own variations of harmonic patterns. One such contributor is Larry Pesavento, who developed his own methods for measuring harmonic patterns using Fibonacci ratios. Pesavento has written several books on the subject of harmonic patterns and Fibonacci ratios in trading. Another notable contributor to harmonic patterns is Scott Carney, who developed his own approach to harmonic trading in the late 1990s and also popularised the use of Fibonacci ratios to measure harmonic patterns. Carney expanded on Gartley's work and also introduced several new harmonic patterns, such as the Shark pattern and the 5-0 pattern.
█ INPUTS
• Change pattern and label colours
• Show or hide patterns individually
• Adjust pattern tolerances
• Set or remove alerts for individual patterns
█ NOTES
You can test the patterns with your own strategies manually by applying the indicator to your chart while in bar replay mode and playing through the history. You could also automate this process with PineScript by using the conditions from my swing and pattern libraries as entry conditions in the strategy tester or your own custom made strategy screener.
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
█ SOURCES
Edwards, R., & Magee, J. (1948) Technical Analysis of Stock Trends (10th edn). Reprint, Boca Raton, Florida: Taylor and Francis Group, CRC Press: 2013.
All Chart Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws and sends alerts for all of the chart patterns in my public library as they occur. The patterns included are as follows:
• Ascending Broadening
• Broadening
• Descending Broadening
• Double Bottom
• Double Top
• Triple Bottom
• Triple Top
• Bearish Elliot Wave
• Bullish Elliot Wave
• Bearish Alternate Flag
• Bullish Alternate Flag
• Bearish Flag
• Bullish Flag
• Bearish Ascending Head and Shoulders
• Bullish Ascending Head and Shoulders
• Bearish Descending Head and Shoulders
• Bullish Descending Head and Shoulders
• Bearish Head and Shoulders
• Bullish Head and Shoulders
• Bearish Pennant
• Bullish Pennant
• Ascending Wedge
• Descending Wedge
• Wedge
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Retracement and Extension Ratios
Retracement and extension ratios are calculated by dividing the current range by the preceding range and multiplying the answer by 100. Retracement ratios are those that are equal to or below 100% of the preceding range and extension ratios are those that are above 100% of the preceding range.
Measurement Tolerances
Tolerance refers to the allowable variation or deviation from a specific value or dimension. It is the range within which a particular measurement is considered to be acceptable or accurate. I have applied this concept in my pattern detection logic and have set default tolerances where applicable, as perfect patterns are, needless to say, very rare.
Chart Patterns
Generally speaking price charts are nothing more than a series of swing highs and swing lows. When demand outweighs supply over a period of time prices swing higher and when supply outweighs demand over a period of time prices swing lower. These swing highs and swing lows can form patterns that offer insight into the prevailing supply and demand dynamics at play at the relevant moment in time.
‘Let us assume… that you the reader, are not a member of that mysterious inner circle known to the boardrooms as “the insiders”… But it is fairly certain that there are not nearly so many “insiders” as amateur trader supposes and… It is even more certain that insiders can be wrong… Any success they have, however, can be accomplished only by buying and selling… hey can do neither without altering the delicate poise of supply and demand that governs prices. Whatever they do is sooner or later reflected on the charts where you… can detect it. Or detect, at least, the way in which the supply-demand equation is being affected… So, you do not need to be an insider to ride with them frequently… prices move in trends. Some of those trends are straight, some are curved; some are brief and some are long and continued… produced in a series of action and reaction waves of great uniformity. Sooner or later, these trends change direction; they may reverse (as from up to down), or they may be interrupted by some sort of sideways movement and then, after a time, proceed again in their former direction… when a price trend is in the process of reversal… a characteristic area or pattern takes shape on the chart, which becomes recognisable as a reversal formation… Needless to say, the first and most important task of the technical chart analyst is to learn to know the important reversal formations and to judge what they may signify in terms of trading opportunities’ (Edwards & Magee, 1948).
This is as true today as it was when Edwards and Magee were writing in the first half of the last Century, study your patterns and make judgements for yourself about what their implications truly are on the markets and timeframes you are interested in trading.
Over the years, traders have come to discover a multitude of chart and candlestick patterns that are supposed to pertain information on future price movements. However, it is never so clear cut in practice and patterns that where once considered to be reversal patterns are now considered to be continuation patterns and vice versa. Bullish patterns can have bearish implications and bearish patterns can have bullish implications. As such, I would highly encourage you to do your own backtesting.
There is no denying that chart patterns exist, but their implications will vary from market to market and timeframe to timeframe. So it is down to you as an individual to study them and make decisions about how they may be used in a strategic sense.
█ INPUTS
• Change pattern and label colours
• Show or hide patterns individually
• Adjust pattern ratios and tolerances
• Set or remove alerts for individual patterns
█ NOTES
I have decided to rename some of my previously published patterns based on the way in which the pattern completes. If the pattern completes on a swing high then the pattern is considered bearish, if the pattern completes on a swing low then it is considered bullish. This may seem confusing but it makes sense when you come to backtesting the patterns and want to use the most recent peak or trough prices as stop losses. Patterns that can complete on both a swing high and swing low are for such reasons treated as neutral, namely all broadening and wedge variations. I trust that it is quite self-evident that double and triple bottom patterns are considered bullish while double and triple top patterns are considered bearish, so I did not feel the need to rename those.
The patterns that have been renamed and what they have been renamed to, are as follows:
• Ascending Elliot Waves to Bearish Elliot Waves
• Descending Elliot Waves to Bullish Elliot Waves
• Ascending Head and Shoulders to Bearish Ascending Head and Shoulders
• Descending Head and Shoulders to Bearish Descending Head and Shoulders
• Head and Shoulders to Bearish Head and Shoulders
• Ascending Inverse Head and Shoulders to Bullish Ascending Head and Shoulders
• Descending Inverse Head and Shoulders to Bullish Descending Head and Shoulders
• Inverse Head and Shoulders to Bullish Head and Shoulders
You can test the patterns with your own strategies manually by applying the indicator to your chart while in bar replay mode and playing through the history. You could also automate this process with PineScript by using the conditions from my swing and pattern libraries as entry conditions in the strategy tester or your own custom made strategy screener.
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
█ SOURCES
Edwards, R., & Magee, J. (1948) Technical Analysis of Stock Trends (10th edn). Reprint, Boca Raton, Florida: Taylor and Francis Group, CRC Press: 2013.
Higher Timeframe Open High Low ClosePURPOSE
1. Multi-timeframe analysis (MTFA).
2. Better visualize intraday price action relative higher timeframe price action, and this is not limited to the current time frame or the higher time frame including current price movement.
3. Higher Timeframes provides an overview of the long-term trend (e.g., weekly or monthly charts).
4. Confirm trends occurring on more than one timeframe.
5. Improve choice of entry and exit points.
ORIGINALITY
1. Compare current lower time frame price movement to current or previous higher time frame movement. The user specifies in the settings the higher time frame (day, week, month, quarter, or year) and the associated price movement data, including OHLC, average prices, and moving average levels.
2. Previous time frames and all specified levels (OHLC, average prices, and moving averages) can be shifted together to overlay the current time frame. This allows analysis of lower/intraday price movement against that of any past higher time frames.
3. Use: In the settings, the current time frame (i.e., that including current price movement) 'count from current' is '0', a count of '1' would shift one higher level time frame such that the open date of that shifted time frame aligns with the open date of the current time frame. A count of '3' would shift three higher level time frames to align with the current."
4. Example: On the Wednesday July 24 intraday chart, overlay the daily OHLC, typical price, and 10-day EMA data occurring at the close of Wednesday July 17. This allows analyze current price movement against data from one week prior.
HIGHER TIMEFRAME DATA that can be PLOTTED and SHIFTED
1. Open, High, Low, Close.
2. Average prices: Median (HL/2), Typical (HLC/3), (Average OHLC/4), Body Median (OC/2), Weighted Close (HL2C/4), Biased 01 (HC/2 if Close > Open, else LC/2), Biased 02 (High if Close > HL/2, else Low), Biased 03 (High if Close > Open, else Low).
3. Moving averages with user specified source, length and type.
Brooks 18 Bars [KintsugiTrading]Brooks 18 Bars
Overview:
This indicator allows traders to specify a time frame within each trading day and plots lines at the highest and lowest prices recorded during that period. It is particularly useful for identifying key levels of support and resistance within a specified time range.
Features:
User-Defined Time Frame: Traders can input their desired start and end times in a 24-hour format, allowing flexibility to analyze different market sessions.
High and Low Price Levels: The indicator plots lines representing the highest and lowest prices observed within the specified time frame each day.
Clear Visual Representation: The high and low lines are color-coded for easy identification, with the high & low prices in Kintsugi Trading Gold.
How to Use:
Set the Time Frame:
Adjust the "Start Time Hour" and "Start Time Minute" to define the beginning of your desired time frame.
Adjust the "End Time Hour" and "End Time Minute" to define the end of your desired time frame.
Analyze Key Levels:
Al Brooks popularized the following idea and basis for creating this indicator:
On a 5-minute chart, Bar 1 has a 20-30% chance of being the High or Low of the day.
Bar 12 has a 50% chance.
Bar 18 has an 80-90% chance.
Use the plotted lines to identify significant support and resistance levels within your specified time frame. These levels can help inform your trading decisions, such as entry and exit points.
Good luck with your trading!
Six PillarsGeneral Overview
The "Six Pillars" indicator is a comprehensive trading tool that combines six different technical analysis methods to provide a holistic view of market conditions.
These six pillars are:
Trend
Momentum
Directional Movement (DM)
Stochastic
Fractal
On-Balance Volume (OBV)
The indicator calculates the state of each pillar and presents them in an easy-to-read table format. It also compares the current timeframe with a user-defined comparison timeframe to offer a multi-timeframe analysis.
A key feature of this indicator is the Confluence Strength meter. This unique metric quantifies the overall agreement between the six pillars across both timeframes, providing a score out of 100. A higher score indicates stronger agreement among the pillars, suggesting a more reliable trading signal.
I also included a visual cue in the form of candle coloring. When all six pillars agree on a bullish or bearish direction, the candle is colored green or red, respectively. This feature allows traders to quickly identify potential high-probability trade setups.
The Six Pillars indicator is designed to work across multiple timeframes, offering a comparison between the current timeframe and a user-defined comparison timeframe. This multi-timeframe analysis provides traders with a more comprehensive understanding of market dynamics.
Origin and Inspiration
The Six Pillars indicator was inspired by the work of Dr. Barry Burns, author of "Trend Trading for Dummies" and his concept of "5 energies." (Trend, Momentum, Cycle, Support/Resistance, Scale) I was intrigued by Dr. Burns' approach to analyzing market dynamics and decided to put my own twist upon his ideas.
Comparing the Six Pillars to Dr. Burns' 5 energies, you'll notice I kept Trend and Momentum, but I swapped out Cycle, Support/Resistance, and Scale for Directional Movement, Stochastic, Fractal, and On-Balance Volume. These changes give you a more dynamic view of market strength, potential reversals, and volume confirmation all in one package.
What Makes This Indicator Unique
The standout feature of the Six Pillars indicator is its Confluence Strength meter. This feature calculates the overall agreement between the six pillars, providing traders with a clear, numerical representation of signal strength.
The strength is calculated by considering the state of each pillar in both the current and comparison timeframes, resulting in a score out of 100.
Here's how it calculates the strength:
It considers the state of each pillar in both the current timeframe and the comparison timeframe.
For each pillar, the absolute value of its state is taken. This means that both strongly bullish (2) and strongly bearish (-2) states contribute equally to the strength.
The absolute values for all six pillars are summed up for both timeframes, resulting in two sums: current_sum and alternate_sum.
These sums are then added together to get a total_sum.
The total_sum is divided by 24 (the maximum possible sum if all pillars were at their strongest states in both timeframes) and multiplied by 100 to get a percentage.
The result is rounded to the nearest integer and capped at a minimum of 1.
This calculation method ensures that the Confluence Strength meter takes into account not only the current timeframe but also the comparison timeframe, providing a more robust measure of overall market sentiment. The resulting score, ranging from 1 to 100, gives traders a clear and intuitive measure of how strongly the pillars agree, with higher scores indicating stronger potential signals.
This approach to measuring signal strength is unique in that it doesn't just rely on a single aspect of price action or volume. Instead, it takes into account multiple factors, providing a more robust and reliable indication of potential market moves. The higher the Confluence Strength score, the more confident traders can be in the signal.
The Confluence Strength meter helps traders in several ways:
It provides a quick and easy way to gauge the overall market sentiment.
It helps prioritize potential trades by identifying the strongest signals.
It can be used as a filter to avoid weaker setups and focus on high-probability trades.
It offers an additional layer of confirmation for other trading strategies or indicators.
By combining the Six Pillars analysis with the Confluence Strength meter, I've created a powerful tool that not only identifies potential trading opportunities but also quantifies their strength, giving traders a significant edge in their decision-making process.
How the Pillars Work (What Determines Bullish or Bearish)
While developing this indicator, I selected and configured six key components that work together to provide a comprehensive view of market conditions. Each pillar is set up to complement the others, creating a synergistic effect that offers traders a more nuanced understanding of price action and volume.
Trend Pillar: Based on two Exponential Moving Averages (EMAs) - a fast EMA (8 period) and a slow EMA (21 period). It determines the trend by comparing these EMAs, with stronger trends indicated when the fast EMA is significantly above or below the slow EMA.
Directional Movement (DM) Pillar: Utilizes the Average Directional Index (ADX) with a default period of 14. It measures trend strength, with values above 25 indicating a strong trend. It also considers the Positive and Negative Directional Indicators (DI+ and DI-) to determine trend direction.
Momentum Pillar: Uses the Moving Average Convergence Divergence (MACD) with customizable fast (12), slow (26), and signal (9) lengths. It compares the MACD line to the signal line to determine momentum strength and direction.
Stochastic Pillar: Employs the Stochastic oscillator with a default period of 13. It identifies overbought conditions (above 80) and oversold conditions (below 20), with intermediate zones between 60-80 and 20-40.
Fractal Pillar: Uses Williams' Fractal indicator with a default period of 3. It identifies potential reversal points by looking for specific high and low patterns over the given period.
On-Balance Volume (OBV) Pillar: Incorporates On-Balance Volume with three EMAs - short (3), medium (13), and long (21) periods. It assesses volume trends by comparing these EMAs.
Each pillar outputs a state ranging from -2 (strongly bearish) to 2 (strongly bullish), with 0 indicating a neutral state. This standardized output allows for easy comparison and aggregation of signals across all pillars.
Users can customize various parameters for each pillar, allowing them to fine-tune the indicator to their specific trading style and market conditions. The multi-timeframe comparison feature also allows users to compare pillar states between the current timeframe and a user-defined comparison timeframe, providing additional context for decision-making.
Design
From a design standpoint, I've put considerable effort into making the Six Pillars indicator visually appealing and user-friendly. The clean and minimalistic design is a key feature that sets this indicator apart.
I've implemented a sleek table layout that displays all the essential information in a compact and organized manner. The use of a dark background (#030712) for the table creates a sleek look that's easy on the eyes, especially during extended trading sessions.
The overall design philosophy focuses on presenting complex information in a simple, intuitive format, allowing traders to make informed decisions quickly and efficiently.
The color scheme is carefully chosen to provide clear visual cues:
White text for headers ensures readability
Green (#22C55E) for bullish signals
Blue (#3B82F6) for neutral states
Red (#EF4444) for bearish signals
This color coding extends to the candle coloring, making it easy to spot when all pillars agree on a bullish or bearish outlook.
I've also incorporated intuitive symbols (↑↑, ↑, →, ↓, ↓↓) to represent the different states of each pillar, allowing for quick interpretation at a glance.
The table layout is thoughtfully organized, with clear sections for the current and comparison timeframes. The Confluence Strength meter is prominently displayed, providing traders with an immediate sense of signal strength.
To enhance usability, I've added tooltips to various elements, offering additional information and explanations when users hover over different parts of the indicator.
How to Use This Indicator
The Six Pillars indicator is a versatile tool that can be used for various trading strategies. Here are some general usage guidelines and specific scenarios:
General Usage Guidelines:
Pay attention to the Confluence Strength meter. Higher values indicate stronger agreement among the pillars and potentially more reliable signals.
Use the multi-timeframe comparison to confirm signals across different time horizons.
Look for alignment between the current timeframe and comparison timeframe pillars for stronger signals.
One of the strengths of this indicator is it can let you know when markets are sideways – so in general you can know to avoid entering when the Confluence Strength is low, indicating disagreement among the pillars.
Customization Options
The Six Pillars indicator offers a wide range of customization options, allowing traders to tailor the tool to their specific needs and trading style. Here are the key customizable elements:
Comparison Timeframe:
Users can select any timeframe for comparison with the current timeframe, providing flexibility in multi-timeframe analysis.
Trend Pillar:
Fast EMA Period: Adjustable for quicker or slower trend identification
Slow EMA Period: Can be modified to capture longer-term trends
Momentum Pillar:
MACD Fast Length
MACD Slow Length
MACD Signal Length These can be adjusted to fine-tune momentum sensitivity
DM Pillar:
ADX Period: Customizable to change the lookback period for trend strength measurement
ADX Threshold: Adjustable to define what constitutes a strong trend
Stochastic Pillar:
Stochastic Period: Can be modified to change the sensitivity of overbought/oversold readings
Fractal Pillar:
Fractal Period: Adjustable to identify potential reversal points over different timeframes
OBV Pillar:
Short OBV EMA
Medium OBV EMA
Long OBV EMA These periods can be customized to analyze volume trends over different timeframes
These customization options allow traders to experiment with different settings to find the optimal configuration for their trading strategy and market conditions. The flexibility of the Six Pillars indicator makes it adaptable to various trading styles and market environments.
ka66: FX Sessions High/LowThis indicator is specific to the 24-hour Forex Market. It provides 2 features:
Demarcating forex sessions with open and close lines. Note that looking at various sources online, we use the convention that the Asia session starts with the Tokyo market open, rather than the earlier Sydney session. Presumably this is better since we then have more liquidity in the market. Note that we have three sessions: Asia, London, New York.
At the end of each session, we begin plotting that (closed) session's high and low, which acts as a natural support and resistance for the Forex market. This is the key feature it provides. The first feature is mainly there for a visual guide, which can be turned off via the UI settings, but it certainly helps verifying the logic!
For more background, we are taking the idea of Previous Day High/Low (PDH/PDL), but adjusting it to a multi-session market like Forex. In essence, this is is a "Previous Session High/Low" indicator.
PDH/PDL works fine when you have a market with Regular Trading Hours, ignoring Extended Hours. However, in the Forex market, each session can have differing sentiments, e.g. we often see say London bringing prices up, and New York bringing them back down.
The break of session high/lows (or bouncing off them) can reflect where the potential direction price is going to take.
I also categorised this as a Sentiment indicator, because support and resistance areas where prices react do provide the sentiment of the market. They aren't just lines, they are prices of interest to major players.
Time Vertical LineThis indicator is designed to plot vertical lines at specified hourly intervals on a trading chart. The indicator includes default settings to draw vertical lines at every hour of the day and provides users with the flexibility to customize up to six additional vertical lines at specified times.
Traders can use the vertical lines to segment the trading day, making it easier to analyze market movements within specific hours.
Customizable lines allow traders to mark important times such as market openings, closings, and economic news releases.
This indicator is a powerful tool for traders who need to keep track of specific times and events during the trading day, providing a clear and customizable visual representation of time on their charts.
The indicator allows you to easily customize the appearance of the 24 default vertical lines that mark each hour of the day. You can change the color by adjusting the Color input, modify the transparency using the Transparency input, and set the line width with the Line Width input.
Each of custom lines can have its own color, transparency, and line width, giving you full control over their appearance. By default, these custom vertical lines are turned off. To activate them, go to the "Style" tab in the settings menu of the indicator.
The time for each vertical line is based on the exchange's timezone. You can set the time for each of the 6 custom vertical lines using decimal notation. For example:
Input 9.1 to display a vertical line at 9:10.
Input 9.15 to display a vertical line at 9:15.
The indicator should only be displayed in time frames less than 15 minutes. Go to "Visibility" in settings for options.
Movement based on Buying/Selling VolumeDescription:
The "Buying Selling Volume" indicator calculates buying and selling volumes based on price movements within a specified lookback period. It then computes exponential moving averages (EMAs) of these volumes to determine trend direction. The indicator visually represents trend direction on the chart.
Volume Calculation and Normalization (Lines #1 - #12):
The indicator first computes the buying volume (BV) and selling volume (SV) based on price movements within the specified lookback period. These volumes are calculated proportionally to the distance between the closing price and the high and low of each candle.
To ensure consistent behavior and prevent division by zero, the volumes are normalized using a conditional statement to handle cases where the high and low are equal, which implies a lack of price movement.
Additionally, the volume (vol) is normalized to ensure non-zero division in subsequent calculations.
Total Volume and Proportional Volume Calculation (Lines #13 - #20):
The total volume (TP) is computed by summing the buying and selling volumes.
The proportional buying volume (BPV) and selling volume (SPV) are then calculated based on their respective contributions to the total volume.
These proportional volumes are scaled by the total volume to ensure accurate representation relative to market activity.
Evaluating Buying and Selling Pressure (Lines #21 - #24):
The code segment assigns positive or negative values to represent buying and selling pressure, respectively, based on the comparison between BPV and SPV. This step involves determining whether the buying pressure exceeds the selling pressure or vice versa.
The calculated values, denoted as BPc1 and SPc1, encapsulate the relative strength of buying and selling forces within the market.
EMA Calculation and Trend Identification (Lines #25 - #32):
The BPc1 and SPc1 values are subjected to exponential moving average (EMA) calculations using the specified lookback period (LookbackL). This process involves smoothing out the buying and selling pressure data to reveal underlying trends.
The resulting EMAs, represented by ema1B and ema1S, serve as crucial indicators of trend direction. A bullish trend is indicated when ema1B exceeds ema1S, while a bearish trend is signaled when ema1B falls below ema1S.
Secondary Volume Analysis and Trend Confirmation (Lines #33 - #42):
A similar volume analysis and EMA calculation process is repeated in this segment, using a different lookback period (LookbackL2). This allows for a secondary assessment of market dynamics and trend direction.
The resulting EMAs, denoted as ema1B2 and ema1S2, are compared to validate the trend direction identified in the primary analysis.
Visual Representation and Trend Display (Lines #43 - #46):
Finally, the indicator visualizes the identified trends on the chart by plotting colored shapes based on the comparison between the primary and secondary trend directions.
A green color indicates alignment in bullish trends, a red color signifies alignment in bearish trends, while a neutral color (gray) represents no clear consensus between the primary and secondary analyses.
Ideal Usage:
1. **Trend Confirmation:** Traders can use this indicator to confirm trend direction before entering trades.
2. **Reversal Signals:** Changes in trend direction, indicated by shifts in plotted shape colors, can signal potential market reversals.
Warnings:
1. **False Signals:** Like any technical indicator, false signals may occur, especially during low-volume or choppy market conditions. Additional analysis and risk management techniques are essential to mitigate potential losses.
2. **Parameter Sensitivity:** Adjusting lookback periods can impact the indicator's sensitivity to price movements. Traders should test different parameter settings and consider market conditions when using the indicator.
Bearish Cassiopeia C Harmonic Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically detects and draws bearish Cassiopeia C harmonic patterns and price projections derived from the ranges that constitute the patterns.
Cassiopeia A, B and C harmonic patterns are patterns that I created/discovered myself. They are all inspired by the Cassiopeia constellation and each one is based on different rotations of the constellation as it moves through the sky. The range ratios are also based on the constellation's right ascension and declination listed on Wikipedia:
Right ascension 22h 57m 04.5897s–03h 41m 14.0997s
Declination 77.6923447°–48.6632690°
en.wikipedia.org
I actually developed this idea quite a while ago now but have not felt audacious enough to introduce a new harmonic pattern, let alone 3 at the same time! But I have since been able to run backtests on tick data going back to 2002 across a variety of market and timeframe combinations and have learned that the Cassiopeia patterns can certainly hold their own against the currently known harmonic patterns.
I would also point out that the Cassiopeia constellation does actually look like a harmonic pattern and the Cassiopeia A star is literally the 'strongest source of radio emission in the sky beyond the solar system', so its arguably more of a real harmonic phenomenon than the current patterns.
www.britannica.com
chandra.si.edu
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend and continues until a new downtrend ends the trend.
• A multi-part downtrend begins with the formation of a new downtrend and continues until a new return line uptrend ends the trend.
• A multi-part uptrend begins with the formation of a new uptrend and continues until a new return line downtrend ends the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend and continues until a new uptrend ends the trend.
Double Trends
• A double uptrend is formed when the current trough price is higher than the preceding trough price and the current peak price is higher than the preceding peak price.
• A double downtrend is formed when the current peak price is lower than the preceding peak price and the current trough price is lower than the preceding trough price.
Muti-Part Double Trends
• A multi-part double uptrend begins with the formation of a new uptrend that proceeds a new return line uptrend, and continues until a new downtrend or return line downtrend ends the trend.
• A multi-part double downtrend begins with the formation of a new downtrend that proceeds a new return line downtrend, and continues until a new uptrend or return line uptrend ends the trend.
Wave Cycles
A wave cycle is here defined as a complete two-part move between a swing high and a swing low, or a swing low and a swing high. The first swing high or swing low will set the course for the sequence of wave cycles that follow; for example a chart that begins with a swing low will form its first complete wave cycle upon the formation of the first complete swing high and vice versa.
Figure 1.
Retracement and Extension Ratios
Retracement and extension ratios are calculated by dividing the current range by the preceding range and multiplying the answer by 100. Retracement ratios are those that are equal to or below 100% of the preceding range and extension ratios are those that are above 100% of the preceding range.
Fibonacci Retracement and Extension Ratios
The Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding numbers, starting with 0 and 1. For example 0 + 1 = 1, 1 + 1 = 2, 1 + 2 = 3, and so on. Ultimately, we could go on forever but the first few numbers in the sequence are as follows: 0 , 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.
The extension ratios are calculated by dividing each number in the sequence by the number preceding it. For example 0/1 = 0, 1/1 = 1, 2/1 = 2, 3/2 = 1.5, 5/3 = 1.6666..., 8/5 = 1.6, 13/8 = 1.625, 21/13 = 1.6153..., 34/21 = 1.6190..., 55/34 = 1.6176..., 89/55 = 1.6181..., 144/89 = 1.6179..., and so on. The retracement ratios are calculated by inverting this process and dividing each number in the sequence by the number proceeding it. For example 0/1 = 0, 1/1 = 1, 1/2 = 0.5, 2/3 = 0.666..., 3/5 = 0.6, 5/8 = 0.625, 8/13 = 0.6153..., 13/21 = 0.6190..., 21/34 = 0.6176..., 34/55 = 0.6181..., 55/89 = 0.6179..., 89/144 = 0.6180..., and so on.
1.618 is considered to be the 'golden ratio', found in many natural phenomena such as the growth of seashells and the branching of trees. Some now speculate the universe oscillates at a frequency of 0,618 Hz, which could help to explain such phenomena, but this theory has yet to be proven.
Traders and analysts use Fibonacci retracement and extension indicators, consisting of horizontal lines representing different Fibonacci ratios, for identifying potential levels of support and resistance. Fibonacci ranges are typically drawn from left to right, with retracement levels representing ratios inside of the current range and extension levels representing ratios extended outside of the current range. If the current wave cycle ends on a swing low, the Fibonacci range is drawn from peak to trough. If the current wave cycle ends on a swing high the Fibonacci range is drawn from trough to peak.
Harmonic Patterns
The concept of harmonic patterns in trading was first introduced by H.M. Gartley in his book "Profits in the Stock Market", published in 1935. Gartley observed that markets have a tendency to move in repetitive patterns, and he identified several specific patterns that he believed could be used to predict future price movements.
Since then, many other traders and analysts have built upon Gartley's work and developed their own variations of harmonic patterns. One such contributor is Larry Pesavento, who developed his own methods for measuring harmonic patterns using Fibonacci ratios. Pesavento has written several books on the subject of harmonic patterns and Fibonacci ratios in trading. Another notable contributor to harmonic patterns is Scott Carney, who developed his own approach to harmonic trading in the late 1990s and also popularised the use of Fibonacci ratios to measure harmonic patterns. Carney expanded on Gartley's work and also introduced several new harmonic patterns, such as the Shark pattern and the 5-0 pattern.
The bullish and bearish Gartley patterns are the oldest recognized harmonic patterns in trading and all the other harmonic patterns are ultimately modifications of the original Gartley patterns. Gartley patterns are fundamentally composed of 5 points, or 4 waves.
Bullish and Bearish Cassiopeia C Harmonic Patterns
• Bullish Cassiopeia C patterns are fundamentally composed of three troughs and two peaks. The second peak being higher than the first peak. And the third trough being lower than both the first and second troughs, while the second trough is higher than the first.
• Bearish Cassiopeia C patterns are fundamentally composed of three peaks and two troughs. The second trough being lower than the first trough. And the third peak being higher than both the first and second peaks, while the second peak is lower than the first.
The ratio measurements I use to detect the patterns are as follows:
• Wave 1 of the pattern, generally referred to as XA, has no specific ratio requirements.
• Wave 2 of the pattern, generally referred to as AB, should retrace by at least 11.34%, but no further than 22.31% of the range set by wave 1.
• Wave 3 of the pattern, generally referred to as BC, should extend by at least 225.7%, but no further than 341% of the range set by wave 2.
• Wave 4 of the pattern, generally referred to as CD, should retrace by at least 77.69%, but no further than 88.66% of the range set by wave 3.
Measurement Tolerances
In general, tolerance in measurements refers to the allowable variation or deviation from a specific value or dimension. It is the range within which a particular measurement is considered to be acceptable or accurate. In this script I have applied this concept to the measurement of harmonic pattern ratios to increase to the frequency of pattern occurrences.
For example, the AB measurement of Gartley patterns is generally set at around 61.8%, but with such specificity in the measuring requirements the patterns are very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A tolerance of 10% to both downside and upside, which is the default setting for all tolerances, means we would have a tolerable measurement range between 51.8-71.8%, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• AB Lower Tolerance
• AB Upper Tolerance
• BC Lower Tolerance
• BC Upper Tolerance
• CD Lower Tolerance
• CD Upper Tolerance
• Pattern Color
• Label Color
• Show Projections
• Extend Current Projection Lines
Alerts
Users can set alerts for when the patterns occur.
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
█ NOTES
I know a few people have been requesting a single indicator that contains all my patterns and I definitely hear you on that one. However, I have been very busy working on other projects while trying to trade and be a human at the same time. For now I am going to maintain my original approach of releasing each pattern individually so as to maintain consistency. But I am now also working on getting my some of my libraries ready for public release and in doing so I will finally be able to fit all patterns into one script. I will also be giving my scripts some TLC by making them cleaner once I have the libraries up and running. Please bear with me in the meantime, this may take a while. Cheers!
Bullish Cassiopeia C Harmonic Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically detects and draws bullish Cassiopeia C harmonic patterns and price projections derived from the ranges that constitute the patterns.
Cassiopeia A, B and C harmonic patterns are patterns that I created/discovered myself. They are all inspired by the Cassiopeia constellation and each one is based on different rotations of the constellation as it moves through the sky. The range ratios are also based on the constellation's right ascension and declination listed on Wikipedia:
Right ascension 22h 57m 04.5897s–03h 41m 14.0997s
Declination 77.6923447°–48.6632690°
en.wikipedia.org
I actually developed this idea quite a while ago now but have not felt audacious enough to introduce a new harmonic pattern, let alone 3 at the same time! But I have since been able to run backtests on tick data going back to 2002 across a variety of market and timeframe combinations and have learned that the Cassiopeia patterns can certainly hold their own against the currently known harmonic patterns.
I would also point out that the Cassiopeia constellation does actually look like a harmonic pattern and the Cassiopeia A star is literally the 'strongest source of radio emission in the sky beyond the solar system', so its arguably more of a real harmonic phenomenon than the current patterns.
www.britannica.com
chandra.si.edu
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend and continues until a new downtrend ends the trend.
• A multi-part downtrend begins with the formation of a new downtrend and continues until a new return line uptrend ends the trend.
• A multi-part uptrend begins with the formation of a new uptrend and continues until a new return line downtrend ends the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend and continues until a new uptrend ends the trend.
Double Trends
• A double uptrend is formed when the current trough price is higher than the preceding trough price and the current peak price is higher than the preceding peak price.
• A double downtrend is formed when the current peak price is lower than the preceding peak price and the current trough price is lower than the preceding trough price.
Muti-Part Double Trends
• A multi-part double uptrend begins with the formation of a new uptrend that proceeds a new return line uptrend, and continues until a new downtrend or return line downtrend ends the trend.
• A multi-part double downtrend begins with the formation of a new downtrend that proceeds a new return line downtrend, and continues until a new uptrend or return line uptrend ends the trend.
Wave Cycles
A wave cycle is here defined as a complete two-part move between a swing high and a swing low, or a swing low and a swing high. The first swing high or swing low will set the course for the sequence of wave cycles that follow; for example a chart that begins with a swing low will form its first complete wave cycle upon the formation of the first complete swing high and vice versa.
Figure 1.
Retracement and Extension Ratios
Retracement and extension ratios are calculated by dividing the current range by the preceding range and multiplying the answer by 100. Retracement ratios are those that are equal to or below 100% of the preceding range and extension ratios are those that are above 100% of the preceding range.
Fibonacci Retracement and Extension Ratios
The Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding numbers, starting with 0 and 1. For example 0 + 1 = 1, 1 + 1 = 2, 1 + 2 = 3, and so on. Ultimately, we could go on forever but the first few numbers in the sequence are as follows: 0 , 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.
The extension ratios are calculated by dividing each number in the sequence by the number preceding it. For example 0/1 = 0, 1/1 = 1, 2/1 = 2, 3/2 = 1.5, 5/3 = 1.6666..., 8/5 = 1.6, 13/8 = 1.625, 21/13 = 1.6153..., 34/21 = 1.6190..., 55/34 = 1.6176..., 89/55 = 1.6181..., 144/89 = 1.6179..., and so on. The retracement ratios are calculated by inverting this process and dividing each number in the sequence by the number proceeding it. For example 0/1 = 0, 1/1 = 1, 1/2 = 0.5, 2/3 = 0.666..., 3/5 = 0.6, 5/8 = 0.625, 8/13 = 0.6153..., 13/21 = 0.6190..., 21/34 = 0.6176..., 34/55 = 0.6181..., 55/89 = 0.6179..., 89/144 = 0.6180..., and so on.
1.618 is considered to be the 'golden ratio', found in many natural phenomena such as the growth of seashells and the branching of trees. Some now speculate the universe oscillates at a frequency of 0,618 Hz, which could help to explain such phenomena, but this theory has yet to be proven.
Traders and analysts use Fibonacci retracement and extension indicators, consisting of horizontal lines representing different Fibonacci ratios, for identifying potential levels of support and resistance. Fibonacci ranges are typically drawn from left to right, with retracement levels representing ratios inside of the current range and extension levels representing ratios extended outside of the current range. If the current wave cycle ends on a swing low, the Fibonacci range is drawn from peak to trough. If the current wave cycle ends on a swing high the Fibonacci range is drawn from trough to peak.
Harmonic Patterns
The concept of harmonic patterns in trading was first introduced by H.M. Gartley in his book "Profits in the Stock Market", published in 1935. Gartley observed that markets have a tendency to move in repetitive patterns, and he identified several specific patterns that he believed could be used to predict future price movements.
Since then, many other traders and analysts have built upon Gartley's work and developed their own variations of harmonic patterns. One such contributor is Larry Pesavento, who developed his own methods for measuring harmonic patterns using Fibonacci ratios. Pesavento has written several books on the subject of harmonic patterns and Fibonacci ratios in trading. Another notable contributor to harmonic patterns is Scott Carney, who developed his own approach to harmonic trading in the late 1990s and also popularised the use of Fibonacci ratios to measure harmonic patterns. Carney expanded on Gartley's work and also introduced several new harmonic patterns, such as the Shark pattern and the 5-0 pattern.
The bullish and bearish Gartley patterns are the oldest recognized harmonic patterns in trading and all the other harmonic patterns are ultimately modifications of the original Gartley patterns. Gartley patterns are fundamentally composed of 5 points, or 4 waves.
Bullish and Bearish Cassiopeia C Harmonic Patterns
• Bullish Cassiopeia C patterns are fundamentally composed of three troughs and two peaks. The second peak being higher than the first peak. And the third trough being lower than both the first and second troughs, while the second trough is higher than the first.
• Bearish Cassiopeia C patterns are fundamentally composed of three peaks and two troughs. The second trough being lower than the first trough. And the third peak being higher than both the first and second peaks, while the second peak is lower than the first.
The ratio measurements I use to detect the patterns are as follows:
• Wave 1 of the pattern, generally referred to as XA, has no specific ratio requirements.
• Wave 2 of the pattern, generally referred to as AB, should retrace by at least 11.34%, but no further than 22.31% of the range set by wave 1.
• Wave 3 of the pattern, generally referred to as BC, should extend by at least 225.7%, but no further than 341% of the range set by wave 2.
• Wave 4 of the pattern, generally referred to as CD, should retrace by at least 77.69%, but no further than 88.66% of the range set by wave 3.
Measurement Tolerances
In general, tolerance in measurements refers to the allowable variation or deviation from a specific value or dimension. It is the range within which a particular measurement is considered to be acceptable or accurate. In this script I have applied this concept to the measurement of harmonic pattern ratios to increase to the frequency of pattern occurrences.
For example, the AB measurement of Gartley patterns is generally set at around 61.8%, but with such specificity in the measuring requirements the patterns are very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A tolerance of 10% to both downside and upside, which is the default setting for all tolerances, means we would have a tolerable measurement range between 51.8-71.8%, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• AB Lower Tolerance
• AB Upper Tolerance
• BC Lower Tolerance
• BC Upper Tolerance
• CD Lower Tolerance
• CD Upper Tolerance
• Pattern Color
• Label Color
• Show Projections
• Extend Current Projection Lines
Alerts
Users can set alerts for when the patterns occur.
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
█ NOTES
I know a few people have been requesting a single indicator that contains all my patterns and I definitely hear you on that one. However, I have been very busy working on other projects while trying to trade and be a human at the same time. For now I am going to maintain my original approach of releasing each pattern individually so as to maintain consistency. But I am now also working on getting my some of my libraries ready for public release and in doing so I will finally be able to fit all patterns into one script. I will also be giving my scripts some TLC by making them cleaner once I have the libraries up and running. Please bear with me in the meantime, this may take a while. Cheers!
Bearish Cassiopeia B Harmonic Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically detects and draws bearish Cassiopeia B harmonic patterns and price projections derived from the ranges that constitute the patterns.
Cassiopeia A, B and C harmonic patterns are patterns that I created/discovered myself. They are all inspired by the Cassiopeia constellation and each one is based on different rotations of the constellation as it moves through the sky. The range ratios are also based on the constellation's right ascension and declination listed on Wikipedia:
Right ascension 22h 57m 04.5897s–03h 41m 14.0997s
Declination 77.6923447°–48.6632690°
en.wikipedia.org
I actually developed this idea quite a while ago now but have not felt audacious enough to introduce a new harmonic pattern, let alone 3 at the same time! But I have since been able to run backtests on tick data going back to 2002 across a variety of market and timeframe combinations and have learned that the Cassiopeia patterns can certainly hold their own against the currently known harmonic patterns.
I would also point out that the Cassiopeia constellation does actually look like a harmonic pattern and the Cassiopeia A star is literally the 'strongest source of radio emission in the sky beyond the solar system', so its arguably more of a real harmonic phenomenon than the current patterns.
www.britannica.com
chandra.si.edu
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend and continues until a new downtrend ends the trend.
• A multi-part downtrend begins with the formation of a new downtrend and continues until a new return line uptrend ends the trend.
• A multi-part uptrend begins with the formation of a new uptrend and continues until a new return line downtrend ends the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend and continues until a new uptrend ends the trend.
Double Trends
• A double uptrend is formed when the current trough price is higher than the preceding trough price and the current peak price is higher than the preceding peak price.
• A double downtrend is formed when the current peak price is lower than the preceding peak price and the current trough price is lower than the preceding trough price.
Muti-Part Double Trends
• A multi-part double uptrend begins with the formation of a new uptrend that proceeds a new return line uptrend, and continues until a new downtrend or return line downtrend ends the trend.
• A multi-part double downtrend begins with the formation of a new downtrend that proceeds a new return line downtrend, and continues until a new uptrend or return line uptrend ends the trend.
Wave Cycles
A wave cycle is here defined as a complete two-part move between a swing high and a swing low, or a swing low and a swing high. The first swing high or swing low will set the course for the sequence of wave cycles that follow; for example a chart that begins with a swing low will form its first complete wave cycle upon the formation of the first complete swing high and vice versa.
Figure 1.
Retracement and Extension Ratios
Retracement and extension ratios are calculated by dividing the current range by the preceding range and multiplying the answer by 100. Retracement ratios are those that are equal to or below 100% of the preceding range and extension ratios are those that are above 100% of the preceding range.
Fibonacci Retracement and Extension Ratios
The Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding numbers, starting with 0 and 1. For example 0 + 1 = 1, 1 + 1 = 2, 1 + 2 = 3, and so on. Ultimately, we could go on forever but the first few numbers in the sequence are as follows: 0 , 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.
The extension ratios are calculated by dividing each number in the sequence by the number preceding it. For example 0/1 = 0, 1/1 = 1, 2/1 = 2, 3/2 = 1.5, 5/3 = 1.6666..., 8/5 = 1.6, 13/8 = 1.625, 21/13 = 1.6153..., 34/21 = 1.6190..., 55/34 = 1.6176..., 89/55 = 1.6181..., 144/89 = 1.6179..., and so on. The retracement ratios are calculated by inverting this process and dividing each number in the sequence by the number proceeding it. For example 0/1 = 0, 1/1 = 1, 1/2 = 0.5, 2/3 = 0.666..., 3/5 = 0.6, 5/8 = 0.625, 8/13 = 0.6153..., 13/21 = 0.6190..., 21/34 = 0.6176..., 34/55 = 0.6181..., 55/89 = 0.6179..., 89/144 = 0.6180..., and so on.
1.618 is considered to be the 'golden ratio', found in many natural phenomena such as the growth of seashells and the branching of trees. Some now speculate the universe oscillates at a frequency of 0,618 Hz, which could help to explain such phenomena, but this theory has yet to be proven.
Traders and analysts use Fibonacci retracement and extension indicators, consisting of horizontal lines representing different Fibonacci ratios, for identifying potential levels of support and resistance. Fibonacci ranges are typically drawn from left to right, with retracement levels representing ratios inside of the current range and extension levels representing ratios extended outside of the current range. If the current wave cycle ends on a swing low, the Fibonacci range is drawn from peak to trough. If the current wave cycle ends on a swing high the Fibonacci range is drawn from trough to peak.
Harmonic Patterns
The concept of harmonic patterns in trading was first introduced by H.M. Gartley in his book "Profits in the Stock Market", published in 1935. Gartley observed that markets have a tendency to move in repetitive patterns, and he identified several specific patterns that he believed could be used to predict future price movements.
Since then, many other traders and analysts have built upon Gartley's work and developed their own variations of harmonic patterns. One such contributor is Larry Pesavento, who developed his own methods for measuring harmonic patterns using Fibonacci ratios. Pesavento has written several books on the subject of harmonic patterns and Fibonacci ratios in trading. Another notable contributor to harmonic patterns is Scott Carney, who developed his own approach to harmonic trading in the late 1990s and also popularised the use of Fibonacci ratios to measure harmonic patterns. Carney expanded on Gartley's work and also introduced several new harmonic patterns, such as the Shark pattern and the 5-0 pattern.
The bullish and bearish Gartley patterns are the oldest recognized harmonic patterns in trading and all the other harmonic patterns are ultimately modifications of the original Gartley patterns. Gartley patterns are fundamentally composed of 5 points, or 4 waves.
Bullish and Bearish Cassiopeia B Harmonic Patterns
• Bullish Cassiopeia B patterns are fundamentally composed of three troughs and two peaks. The second peak being lower than the first peak. And the third trough being lower than both the first and second troughs, while the second trough is also lower than the first.
• Bearish Cassiopeia B patterns are fundamentally composed of three peaks and two troughs. The second trough being higher than the first trough. And the third peak being higher than both the first and second peaks, while the second peak is also higher than the first.
The ratio measurements I use to detect the patterns are as follows:
• Wave 1 of the pattern, generally referred to as XA, has no specific ratio requirements.
• Wave 2 of the pattern, generally referred to as AB, should retrace by at least 11.34%, but no further than 22.31% of the range set by wave 1.
• Wave 3 of the pattern, generally referred to as BC, should extend by at least 225.7%, but no further than 341% of the range set by wave 2.
• Wave 4 of the pattern, generally referred to as CD, should retrace by at least 77.69%, but no further than 88.66% of the range set by wave 3.
Measurement Tolerances
In general, tolerance in measurements refers to the allowable variation or deviation from a specific value or dimension. It is the range within which a particular measurement is considered to be acceptable or accurate. In this script I have applied this concept to the measurement of harmonic pattern ratios to increase to the frequency of pattern occurrences.
For example, the AB measurement of Gartley patterns is generally set at around 61.8%, but with such specificity in the measuring requirements the patterns are very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A tolerance of 10% to both downside and upside, which is the default setting for all tolerances, means we would have a tolerable measurement range between 51.8-71.8%, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• AB Lower Tolerance
• AB Upper Tolerance
• BC Lower Tolerance
• BC Upper Tolerance
• CD Lower Tolerance
• CD Upper Tolerance
• Pattern Color
• Label Color
• Show Projections
• Extend Current Projection Lines
Alerts
Users can set alerts for when the patterns occur.
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
█ NOTES
I know a few people have been requesting a single indicator that contains all my patterns and I definitely hear you on that one. However, I have been very busy working on other projects while trying to trade and be a human at the same time. For now I am going to maintain my original approach of releasing each pattern individually so as to maintain consistency. But I am now also working on getting my some of my libraries ready for public release and in doing so I will finally be able to fit all patterns into one script. I will also be giving my scripts some TLC by making them cleaner once I have the libraries up and running. Please bear with me in the meantime, this may take a while. Cheers!
Bullish Cassiopeia B Harmonic Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically detects and draws bullish Cassiopeia B harmonic patterns and price projections derived from the ranges that constitute the patterns.
Cassiopeia A, B and C harmonic patterns are patterns that I created/discovered myself. They are all inspired by the Cassiopeia constellation and each one is based on different rotations of the constellation as it moves through the sky. The range ratios are also based on the constellation's right ascension and declination listed on Wikipedia:
Right ascension 22h 57m 04.5897s–03h 41m 14.0997s
Declination 77.6923447°–48.6632690°
en.wikipedia.org
I actually developed this idea quite a while ago now but have not felt audacious enough to introduce a new harmonic pattern, let alone 3 at the same time! But I have since been able to run backtests on tick data going back to 2002 across a variety of market and timeframe combinations and have learned that the Cassiopeia patterns can certainly hold their own against the currently known harmonic patterns.
I would also point out that the Cassiopeia constellation does actually look like a harmonic pattern and the Cassiopeia A star is literally the 'strongest source of radio emission in the sky beyond the solar system', so its arguably more of a real harmonic phenomenon than the current patterns.
www.britannica.com
chandra.si.edu
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend and continues until a new downtrend ends the trend.
• A multi-part downtrend begins with the formation of a new downtrend and continues until a new return line uptrend ends the trend.
• A multi-part uptrend begins with the formation of a new uptrend and continues until a new return line downtrend ends the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend and continues until a new uptrend ends the trend.
Double Trends
• A double uptrend is formed when the current trough price is higher than the preceding trough price and the current peak price is higher than the preceding peak price.
• A double downtrend is formed when the current peak price is lower than the preceding peak price and the current trough price is lower than the preceding trough price.
Muti-Part Double Trends
• A multi-part double uptrend begins with the formation of a new uptrend that proceeds a new return line uptrend, and continues until a new downtrend or return line downtrend ends the trend.
• A multi-part double downtrend begins with the formation of a new downtrend that proceeds a new return line downtrend, and continues until a new uptrend or return line uptrend ends the trend.
Wave Cycles
A wave cycle is here defined as a complete two-part move between a swing high and a swing low, or a swing low and a swing high. The first swing high or swing low will set the course for the sequence of wave cycles that follow; for example a chart that begins with a swing low will form its first complete wave cycle upon the formation of the first complete swing high and vice versa.
Figure 1.
Retracement and Extension Ratios
Retracement and extension ratios are calculated by dividing the current range by the preceding range and multiplying the answer by 100. Retracement ratios are those that are equal to or below 100% of the preceding range and extension ratios are those that are above 100% of the preceding range.
Fibonacci Retracement and Extension Ratios
The Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding numbers, starting with 0 and 1. For example 0 + 1 = 1, 1 + 1 = 2, 1 + 2 = 3, and so on. Ultimately, we could go on forever but the first few numbers in the sequence are as follows: 0 , 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.
The extension ratios are calculated by dividing each number in the sequence by the number preceding it. For example 0/1 = 0, 1/1 = 1, 2/1 = 2, 3/2 = 1.5, 5/3 = 1.6666..., 8/5 = 1.6, 13/8 = 1.625, 21/13 = 1.6153..., 34/21 = 1.6190..., 55/34 = 1.6176..., 89/55 = 1.6181..., 144/89 = 1.6179..., and so on. The retracement ratios are calculated by inverting this process and dividing each number in the sequence by the number proceeding it. For example 0/1 = 0, 1/1 = 1, 1/2 = 0.5, 2/3 = 0.666..., 3/5 = 0.6, 5/8 = 0.625, 8/13 = 0.6153..., 13/21 = 0.6190..., 21/34 = 0.6176..., 34/55 = 0.6181..., 55/89 = 0.6179..., 89/144 = 0.6180..., and so on.
1.618 is considered to be the 'golden ratio', found in many natural phenomena such as the growth of seashells and the branching of trees. Some now speculate the universe oscillates at a frequency of 0,618 Hz, which could help to explain such phenomena, but this theory has yet to be proven.
Traders and analysts use Fibonacci retracement and extension indicators, consisting of horizontal lines representing different Fibonacci ratios, for identifying potential levels of support and resistance. Fibonacci ranges are typically drawn from left to right, with retracement levels representing ratios inside of the current range and extension levels representing ratios extended outside of the current range. If the current wave cycle ends on a swing low, the Fibonacci range is drawn from peak to trough. If the current wave cycle ends on a swing high the Fibonacci range is drawn from trough to peak.
Harmonic Patterns
The concept of harmonic patterns in trading was first introduced by H.M. Gartley in his book "Profits in the Stock Market", published in 1935. Gartley observed that markets have a tendency to move in repetitive patterns, and he identified several specific patterns that he believed could be used to predict future price movements.
Since then, many other traders and analysts have built upon Gartley's work and developed their own variations of harmonic patterns. One such contributor is Larry Pesavento, who developed his own methods for measuring harmonic patterns using Fibonacci ratios. Pesavento has written several books on the subject of harmonic patterns and Fibonacci ratios in trading. Another notable contributor to harmonic patterns is Scott Carney, who developed his own approach to harmonic trading in the late 1990s and also popularised the use of Fibonacci ratios to measure harmonic patterns. Carney expanded on Gartley's work and also introduced several new harmonic patterns, such as the Shark pattern and the 5-0 pattern.
The bullish and bearish Gartley patterns are the oldest recognized harmonic patterns in trading and all the other harmonic patterns are ultimately modifications of the original Gartley patterns. Gartley patterns are fundamentally composed of 5 points, or 4 waves.
Bullish and Bearish Cassiopeia B Harmonic Patterns
• Bullish Cassiopeia B patterns are fundamentally composed of three troughs and two peaks. The second peak being lower than the first peak. And the third trough being lower than both the first and second troughs, while the second trough is also lower than the first.
• Bearish Cassiopeia B patterns are fundamentally composed of three peaks and two troughs. The second trough being higher than the first trough. And the third peak being higher than both the first and second peaks, while the second peak is also higher than the first.
The ratio measurements I use to detect the patterns are as follows:
• Wave 1 of the pattern, generally referred to as XA, has no specific ratio requirements.
• Wave 2 of the pattern, generally referred to as AB, should retrace by at least 11.34%, but no further than 22.31% of the range set by wave 1.
• Wave 3 of the pattern, generally referred to as BC, should extend by at least 225.7%, but no further than 341% of the range set by wave 2.
• Wave 4 of the pattern, generally referred to as CD, should retrace by at least 77.69%, but no further than 88.66% of the range set by wave 3.
Measurement Tolerances
In general, tolerance in measurements refers to the allowable variation or deviation from a specific value or dimension. It is the range within which a particular measurement is considered to be acceptable or accurate. In this script I have applied this concept to the measurement of harmonic pattern ratios to increase to the frequency of pattern occurrences.
For example, the AB measurement of Gartley patterns is generally set at around 61.8%, but with such specificity in the measuring requirements the patterns are very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A tolerance of 10% to both downside and upside, which is the default setting for all tolerances, means we would have a tolerable measurement range between 51.8-71.8%, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• AB Lower Tolerance
• AB Upper Tolerance
• BC Lower Tolerance
• BC Upper Tolerance
• CD Lower Tolerance
• CD Upper Tolerance
• Pattern Color
• Label Color
• Show Projections
• Extend Current Projection Lines
Alerts
Users can set alerts for when the patterns occur.
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
█ NOTES
I know a few people have been requesting a single indicator that contains all my patterns and I definitely hear you on that one. However, I have been very busy working on other projects while trying to trade and be a human at the same time. For now I am going to maintain my original approach of releasing each pattern individually so as to maintain consistency. But I am now also working on getting my some of my libraries ready for public release and in doing so I will finally be able to fit all patterns into one script. I will also be giving my scripts some TLC by making them cleaner once I have the libraries up and running. Please bear with me in the meantime, this may take a while. Cheers!
Bearish Cassiopeia A Harmonic Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically detects and draws bearish Cassiopeia A harmonic patterns and price projections derived from the ranges that constitute the patterns.
Cassiopeia A, B and C harmonic patterns are patterns that I created/discovered myself. They are all inspired by the Cassiopeia constellation and each one is based on different rotations of the constellation as it moves through the sky. The range ratios are also based on the constellation's right ascension and declination listed on Wikipedia:
Right ascension 22h 57m 04.5897s–03h 41m 14.0997s
Declination 77.6923447°–48.6632690°
en.wikipedia.org
I actually developed this idea quite a while ago now but have not felt audacious enough to introduce a new harmonic pattern, let alone 3 at the same time! But I have since been able to run backtests on tick data going back to 2002 across a variety of market and timeframe combinations and have learned that the Cassiopeia patterns can certainly hold their own against the currently known harmonic patterns.
I would also point out that the Cassiopeia constellation does actually look like a harmonic pattern and the Cassiopeia A star is literally the 'strongest source of radio emission in the sky beyond the solar system', so its arguably more of a real harmonic phenomenon than the current patterns.
www.britannica.com
chandra.si.edu
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend and continues until a new downtrend ends the trend.
• A multi-part downtrend begins with the formation of a new downtrend and continues until a new return line uptrend ends the trend.
• A multi-part uptrend begins with the formation of a new uptrend and continues until a new return line downtrend ends the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend and continues until a new uptrend ends the trend.
Double Trends
• A double uptrend is formed when the current trough price is higher than the preceding trough price and the current peak price is higher than the preceding peak price.
• A double downtrend is formed when the current peak price is lower than the preceding peak price and the current trough price is lower than the preceding trough price.
Muti-Part Double Trends
• A multi-part double uptrend begins with the formation of a new uptrend that proceeds a new return line uptrend, and continues until a new downtrend or return line downtrend ends the trend.
• A multi-part double downtrend begins with the formation of a new downtrend that proceeds a new return line downtrend, and continues until a new uptrend or return line uptrend ends the trend.
Wave Cycles
A wave cycle is here defined as a complete two-part move between a swing high and a swing low, or a swing low and a swing high. The first swing high or swing low will set the course for the sequence of wave cycles that follow; for example a chart that begins with a swing low will form its first complete wave cycle upon the formation of the first complete swing high and vice versa.
Figure 1.
Retracement and Extension Ratios
Retracement and extension ratios are calculated by dividing the current range by the preceding range and multiplying the answer by 100. Retracement ratios are those that are equal to or below 100% of the preceding range and extension ratios are those that are above 100% of the preceding range.
Fibonacci Retracement and Extension Ratios
The Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding numbers, starting with 0 and 1. For example 0 + 1 = 1, 1 + 1 = 2, 1 + 2 = 3, and so on. Ultimately, we could go on forever but the first few numbers in the sequence are as follows: 0 , 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.
The extension ratios are calculated by dividing each number in the sequence by the number preceding it. For example 0/1 = 0, 1/1 = 1, 2/1 = 2, 3/2 = 1.5, 5/3 = 1.6666..., 8/5 = 1.6, 13/8 = 1.625, 21/13 = 1.6153..., 34/21 = 1.6190..., 55/34 = 1.6176..., 89/55 = 1.6181..., 144/89 = 1.6179..., and so on. The retracement ratios are calculated by inverting this process and dividing each number in the sequence by the number proceeding it. For example 0/1 = 0, 1/1 = 1, 1/2 = 0.5, 2/3 = 0.666..., 3/5 = 0.6, 5/8 = 0.625, 8/13 = 0.6153..., 13/21 = 0.6190..., 21/34 = 0.6176..., 34/55 = 0.6181..., 55/89 = 0.6179..., 89/144 = 0.6180..., and so on.
1.618 is considered to be the 'golden ratio', found in many natural phenomena such as the growth of seashells and the branching of trees. Some now speculate the universe oscillates at a frequency of 0,618 Hz, which could help to explain such phenomena, but this theory has yet to be proven.
Traders and analysts use Fibonacci retracement and extension indicators, consisting of horizontal lines representing different Fibonacci ratios, for identifying potential levels of support and resistance. Fibonacci ranges are typically drawn from left to right, with retracement levels representing ratios inside of the current range and extension levels representing ratios extended outside of the current range. If the current wave cycle ends on a swing low, the Fibonacci range is drawn from peak to trough. If the current wave cycle ends on a swing high the Fibonacci range is drawn from trough to peak.
Harmonic Patterns
The concept of harmonic patterns in trading was first introduced by H.M. Gartley in his book "Profits in the Stock Market", published in 1935. Gartley observed that markets have a tendency to move in repetitive patterns, and he identified several specific patterns that he believed could be used to predict future price movements.
Since then, many other traders and analysts have built upon Gartley's work and developed their own variations of harmonic patterns. One such contributor is Larry Pesavento, who developed his own methods for measuring harmonic patterns using Fibonacci ratios. Pesavento has written several books on the subject of harmonic patterns and Fibonacci ratios in trading. Another notable contributor to harmonic patterns is Scott Carney, who developed his own approach to harmonic trading in the late 1990s and also popularised the use of Fibonacci ratios to measure harmonic patterns. Carney expanded on Gartley's work and also introduced several new harmonic patterns, such as the Shark pattern and the 5-0 pattern.
The bullish and bearish Gartley patterns are the oldest recognized harmonic patterns in trading and all the other harmonic patterns are ultimately modifications of the original Gartley patterns. Gartley patterns are fundamentally composed of 5 points, or 4 waves.
Bullish and Bearish Cassiopeia A Harmonic Patterns
• Bullish Cassiopeia A patterns are fundamentally composed of three troughs and two peaks. The second peak being higher than the first peak. And the third trough being higher than both the first and second troughs, while the second trough is also higher than the first.
• Bearish Cassiopeia A patterns are fundamentally composed of three peaks and two troughs. The second trough being lower than the first trough. And the third peak being lower than both the first and second peaks, while the second peak is also lower than the first.
The ratio measurements I use to detect the patterns are as follows:
• Wave 1 of the pattern, generally referred to as XA, has no specific ratio requirements.
• Wave 2 of the pattern, generally referred to as AB, should retrace by at least 11.34%, but no further than 22.31% of the range set by wave 1.
• Wave 3 of the pattern, generally referred to as BC, should extend by at least 225.7%, but no further than 341% of the range set by wave 2.
• Wave 4 of the pattern, generally referred to as CD, should retrace by at least 77.69%, but no further than 88.66% of the range set by wave 3.
Measurement Tolerances
In general, tolerance in measurements refers to the allowable variation or deviation from a specific value or dimension. It is the range within which a particular measurement is considered to be acceptable or accurate. In this script I have applied this concept to the measurement of harmonic pattern ratios to increase to the frequency of pattern occurrences.
For example, the AB measurement of Gartley patterns is generally set at around 61.8%, but with such specificity in the measuring requirements the patterns are very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A tolerance of 10% to both downside and upside, which is the default setting for all tolerances, means we would have a tolerable measurement range between 51.8-71.8%, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• AB Lower Tolerance
• AB Upper Tolerance
• BC Lower Tolerance
• BC Upper Tolerance
• CD Lower Tolerance
• CD Upper Tolerance
• Pattern Color
• Label Color
• Show Projections
• Extend Current Projection Lines
Alerts
Users can set alerts for when the patterns occur.
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
█ NOTES
I know a few people have been requesting a single indicator that contains all my patterns and I definitely hear you on that one. However, I have been very busy working on other projects while trying to trade and be a human at the same time. For now I am going to maintain my original approach of releasing each pattern individually so as to maintain consistency. But I am now also working on getting my some of my libraries ready for public release and in doing so I will finally be able to fit all patterns into one script. I will also be giving my scripts some TLC by making them cleaner once I have the libraries up and running. Please bear with me in the meantime, this may take a while. Cheers!