Price SandwichFor the script in question
This script acts as an indicator that a potential short term or long term trend reversal is coming. Note that not every candle can be used as an indication and the smaller ones tend to have little to no effect, however they can be used alongside orderblocks or future support/resistance areas.
The best timeframes I've found these to be useable are on the 1m, 2m, or second charts.
You may use this as an added confluence that a trend is ending either short term or long term.
You may also decide to use this with other indicators to build further confluence.
Note that this is just something I've noticed personally most likely does not apply to all trend reversals.
Some ideas on how to use it:
If you extend a rectangle out from the block itself, you can often find the next high or low overlaps with said rectangle.
They may also overlap with a fair value gap that could make that gap have more potential.
Hope this is of use and can help with that added confluence or early warning signal of a potential reversal. This should not be used alone and it's recommended to not use this as a surefire indication of whether to take a trade.//Krindler
Script Breakdown
//@version=5 // this makes the script v5 friendly
indicator("Price Sandwich", overlay=true) //makes this script an indicator, overlay=true to make it a part of the main chart
// User input for the highlight color
userColor = input(color.green, title="Highlight Color") //This allows you to choose what color you want the candle to be in the settings
//Function to check the custom candle pattern based on whether the candle is being englulfed by both preceding and latter candle.
isCustomPattern() => //let's me look for a custom candle pattern
high > high and high < high and low < low and low > low
//this checks the candle before and the candle after to check that the candle in the middle doesn't escape the range of the candle before, or the candle afters highs and lows thus making it a sandwiched candle.
//high > high and high < high and low < low and low > low basically says: candle 1 high must be greater than candle 2 high and candle 2 high must be less than candle 3 high and candle 1 low must be less than candle 2 low and candle 2 low must be greater than candle 3 low. Thus making sure that candle 2 is within the range of candle's 1 and 3 and doesn't have a high or low that is either above or below candle 1 and 3. 'and' is the operator to make sure that all of these values must be true in order for that candle to meet the criteria of getting colored.
// Apply bar color to Sandwiched candle if candle is found.
barcolor(isCustomPattern() ? userColor : na, offset=-1) //this targets the findings from isCustomPattern() and uses the user color chosen in settings and colors the middle bar by using offset=-1, otherwise it would color candle 3, so offset goes back 1 candle to color the middle candle.
If this script is already in circulation, please let me know and i'll remove it immediately. I checked but couldn't find one that did it.
Cerca negli script per "low"
Scoopy StacksWaffle Around Multiple
(Open, High, Low, Close) Stacks On
Pre/Post Market & (Daily, Weekly,
Monthly, Yearly) Sessions With
Meticulous Columns, Rows, Tooltips,
Colors, Custom Ideas, and Alerts.
Sessions Use Two Step Incremental Values
Default Value: (1) Shows Two Previous
(O, H, L, C); Increasing Value Swaps
Sessions With Next Two Stacks.
⬛️ KEY WORDS:
🟢 Crossover | 🔴 Crossunder
📗 High | 📕 Low
📔 Open | 📓 Close
🥇 First Idea | 🥈 Second Idea
🥉 Third Idea | 🎖️ Fourth Idea
🟥 ALERTS:
Default Option: (Per Bar)
Alerts Once Conditions Are Met
(Bar Close) Alerts When Bar Closes
Default Option: (Reg)
Alerts During Regular Market
Trading Hours, (0930-1600)
(Ext) Alerts During Extended
Market Hours, (1600-0930)
(24/7) Alerts All Day
Optional Preferences:
Regular Alerts - Stocks
Extended Alerts - Futures
24/7 Alerts - Crypto
🟧 STACKS:
Default Value: (1)
Incremental Stack Value, Increasing Value
Swaps Sessions With the Next Two Stacks
(✓) Swap Stacks?
Pre/Post Market High/Lows,
1-2 Day High/Lows, 1-2 Week High/Lows,
1-2 Month High/Lows, 1-2 Year High/Lows
( ) Swap Stacks?
Pre/Post Market Open/Close,
1-2 Day Open/Close, 1-2 Week Open/Close,
1-2 Month Open/Close, 1-2 Year Open/Close
🟨 EXAMPLES:
Default Stack:
🟢 | 📗 Pre Market High (PRE) | 4600.00
🔴 | 📕 Post Market Low (POST) | 420.00
Optional: (Open)
🟢 | 📔 Post Market Open (POST) | 4400.00
Optional: (Close)
🔴 | 📓 Pre Market Close (PRE) | 430.00
Default Stack Value: (1)
🔴 | 📗 1 Day High (1DH) | 460.00
Next Stack Value: (3)
🟢 | 📕 4 Day Low (4DL) | 420.00
Optional: (Open)
🔴 | 📔 2 Day Open (2DO) | 440.00
Optional: (Close)
🟢 | 📓 3 Day Close (3DC) | 430.00
Default Stack Value: (5)
🟢 | 📗 5 Week High (5WH) | 460.00
Next Stack Value: (7)
🔴 | 📕 8 Week Low (8WL) | 420.00
Optional: (Open)
🔴 | 📔 7 Week Open (7WO) | 4400.00
Optional: (Close)
🟢 | 📓 6 Week Close (6WC) | 430.00
Default Stack Value: (9)
🔴 | 📗 9 Month High (9MH) | 460.00
Next Stack Value: (11)
🟢 | 📕 12 Month Low (12ML) | 420.00
Optional: (Open)
🟢 | 📔 11 Month Open (11MO) | 4400.00
Optional: (Close)
🔴 | 📓 10 Month Close (10MC) | 430.00
Default Stack Value: (13)
🟢 | 📗 13 Year High (13YH) | 460.00
Next Stack Value: (15)
🟢 | 📕 16 Year Low (16YL) | 420.00
Optional: (Open)
🔴 | 📔 15 Year Open (15YO) | 4400.00
Optional: (Close)
🔴 | 📓 14 Year Close (14YC) | 430.00
🟩 TABLES:
Default Value: (1)
Moves Table Up, Down, Left, or Right
Based on Second Default Value
First Default Value: (Top Right)
Sets Table Placement, Middle Center
Allows Table To Move In All Directions
Second Default Value: (Default)
Fixed Table Position, Switching Values
Moves Direction of the Table
🟦 IDEAS:
(✓) Show Ideas?
Shows Four Ideas With Custom Texts
and Values; Ideas Are Based Around
Post-It Note Reminders with Alerts
Suggestions For Text Ideas:
Take Profit, Stop Loss, Trim, Hold,
Long, Short, Bounce Spot, Retest,
Chop, Support, Resistance, Buy, Sell
🟪 EXAMPLES:
Default Value: (5)
Shows the Custom Table Value For
Sorted Table Positions and Alerts
Default Text: (🥇)
Shown On First Table Cell and
Message Appearing On Alerts
Alert Shows: 🟢 | 🥇 | 5.00
Default Value: (10)
Shows the Custom Table Value For
Sorted Table Positions and Alerts
Default Text: (🥈)
Shown On Second Table Cell and
Message Appearing On Alerts
Alert Shows: 🔴 | 🥈 | 10.00
Default Value: (50)
Shows the Custom Table Value For
Sorted Table Positions and Alerts
Default Text: (🥉)
Shown On Third Table Cell and
Message Appearing On Alerts
Alert Shows: 🟢 | 🥉 | 50.00
Default Value: (100)
Shows the Custom Table Value For
Sorted Table Positions and Alerts
Default Text: (🎖️)
Shown On Fourth Table Cell and
Message Appearing On Alerts
Alert Shows: 🔴 | 🎖️ | 100.00
⬛️ REFERENCES:
Pre-market Highs & Lows on regular
trading hours (RTH) chart
By Twingall
Previous Day Week Highs & Lows
By Sbtnc
Screener for 40+ instruments
By QuantNomad
Daily Weekly Monthly Yearly Opens
By Meliksah55
Ribbit RangesBounce Around Multiple
(Open, High, Low, Close) Ranges
On Pre/Post Market & (Daily, Weekly,
Monthly, Yearly) Sessions With
Meticulous Lines, Labels, Tooltips,
Colors, Custom Ideas, and Alerts.
Sessions Use Two Step Incremental Values
Default Value: (1) Shows Two Previous
(O, H, L, C); Increasing Value Swaps
Sessions With Next Two Ranges.
⬛️ KEY WORDS:
🟢 Crossover | 🔴 Crossunder
📗 High | 📕 Low
📔 Open | 📓 Close
🥇 First Idea | 🥈 Second Idea
🥉 Third Idea | 🎖️ Fourth Idea
🟥 ALERTS:
Default Option: (Per Bar)
Alerts Once Conditions Are Met
(Bar Close) Alerts When Bar Closes
Default Option: (Reg)
Alerts During Regular Market
Trading Hours, (0930-1600)
(Ext) Alerts During Extended
Market Hours, (1600-0930)
(24/7) Alerts All Day
Optional Preferences:
Regular Alerts - Stocks
Extended Alerts - Futures
24/7 Alerts - Crypto
🟧 RANGES:
Default Value: (1)
Incremental Range Value, Increasing Value
Swaps Sessions With the Next Two Ranges
(✓) Swap Ranges?
Pre/Post Market High/Lows,
1-2 Day High/Lows, 1-2 Week High/Lows,
1-2 Month High/Lows, 1-2 Year High/Lows
( ) Swap Ranges?
Pre/Post Market Open/Close,
1-2 Day Open/Close, 1-2 Week Open/Close,
1-2 Month Open/Close, 1-2 Year Open/Close
🟨 EXAMPLES:
Default Range:
🟢 | 📗 Pre Market High (PRE) | 4600.00
🔴 | 📕 Post Market Low (POST) | 420.00
Optional: (Open)
🟢 | 📔 Post Market Open (POST) | 4400.00
Optional: (Close)
🔴 | 📓 Pre Market Close (PRE) | 430.00
Default Range Value: (1)
🔴 | 📗 1 Day High (1DH) | 460.00
Next Range Value: (3)
🟢 | 📕 4 Day Low (4DL) | 420.00
Optional: (Open)
🔴 | 📔 2 Day Open (2DO) | 440.00
Optional: (Close)
🟢 | 📓 3 Day Close (3DC) | 430.00
Default Range Value: (5)
🟢 | 📗 5 Week High (5WH) | 460.00
Next Range Value: (7)
🔴 | 📕 8 Week Low (8WL) | 420.00
Optional: (Open)
🔴 | 📔 7 Week Open (7WO) | 4400.00
Optional: (Close)
🟢 | 📓 6 Week Close (6WC) | 430.00
Default Range Value: (9)
🔴 | 📗 9 Month High (9MH) | 460.00
Next Range Value: (11)
🟢 | 📕 12 Month Low (12ML) | 420.00
Optional: (Open)
🟢 | 📔 11 Month Open (11MO) | 4400.00
Optional: (Close)
🔴 | 📓 10 Month Close (10MC) | 430.00
Default Range Value: (13)
🟢 | 📗 13 Year High (13YH) | 460.00
Next Range Value: (15)
🟢 | 📕 16 Year Low (16YL) | 420.00
Optional: (Open)
🔴 | 📔 15 Year Open (15YO) | 4400.00
Optional: (Close)
🔴 | 📓 14 Year Close (14YC) | 430.00
🟩 COLORS:
(✓) Swap Colors?
Text Color Is Shown Using
Background Color
( ) Swap Colors?
Background Color Is Shown
Using Text Color
🟦 IDEAS:
(✓) Show Ideas?
Plots Four Ideas With Custom Lines
and Labels; Ideas Are Based Around
Post-It Note Reminders with Alerts
Suggestions For Text Ideas:
Take Profit, Stop Loss, Trim, Hold,
Long, Short, Bounce Spot, Retest,
Chop, Support, Resistance, Buy, Sell
🟪 EXAMPLES:
Default Value: (5)
Shows the Custom Value For
Lines, Labels, and Alerts
Default Text: (🥇)
Shown On First Label and
Message Appearing On Alerts
Alert Shows: 🟢 | 🥇 | 5.00
Default Value: (10)
Shows the Custom Value For
Lines, Labels, and Alerts
Default Text: (🥈)
Shown On Second Label and
Message Appearing On Alerts
Alert Shows: 🔴 | 🥈 | 10.00
Default Value: (50)
Shows the Custom Value For
Lines, Labels, and Alerts
Default Text: (🥉)
Shown On Third Label and
Message Appearing On Alerts
Alert Shows: 🟢 | 🥉 | 50.00
Default Value: (100)
Shows the Custom Value For
Lines, Labels, and Alerts
Default Text: (🎖️)
Shown On Fourth Label and
Message Appearing On Alerts
Alert Shows: 🔴 | 🎖️ | 100.00
⬛️ REFERENCES:
Pre-market Highs & Lows on regular
trading hours (RTH) chart
By Twingall
Previous Day Week Highs & Lows
By Sbtnc
Screener for 40+ instruments
By QuantNomad
Daily Weekly Monthly Yearly Opens
By Meliksah55
Percentile Based Trend StrengthThe "Percentile Based Trend Strength" (PBTS) calculates trend strength based on percentile values of high and low prices for various length periods and then identifies the current trend as either Bullish, Bearish, or N/A (No Trend). Here's a step-by-step explanation of the code:
Percentile Calculations:
For each specified length period (13, 21, 34, 55, 89, and 144 - Fibonacci numbers), the code calculates the 75th percentile of high prices (e.g., percentile_13H) and the 25th percentile of low prices (e.g., percentile_13L). These percentiles represent levels that prices need to exceed or fall below to indicate a strong trend.
Calculate Highest High and Lowest Low:
The highest high (75th percentile high price of longest length) and lowest low (25th percentile low price of longest length) for the longest length period (144) are calculated as highest_high and lowest_low. These values represent threshold price levels .
Trend Strength Conditions:
The code calculates various conditions to determine trend strength. For each percentile value and each length period, it checks if the percentile value is greater than the highest high (trendBull) or less than the lowest low (trendBear). These conditions are used to assess the strength of the bullish and bearish trends.
Count Bull and Count Bear:
The countBull and countBear variables count the number of bullish and bearish conditions met, respectively. These counts help evaluate trend strength.
Weak Bull and Weak Bear Count:
The code calculates the number of weak bullish and bearish conditions. Weak conditions occur when a percentile value falls within the range defined by the highest high and lowest low but doesn't meet the strong trend criteria.
Bull Strength and Bear Strength:
bullStrength and bearStrength are calculated based on the counts of bullish, bearish, weak bullish, and weak bearish conditions. These values represent the overall strength of the bullish and bearish trends.
Strong Bull and Bear Conditions:
These conditions occur when the 75th percentile of high prices (for bull conditions) or the 25th percentile of low prices (for bear conditions) exceeds or falls below the highest high or lowest low, respectively, for the specified length period.
Strong bull conditions indicate a strong upward trend, while strong bear conditions indicate a strong downward trend.
Strong conditions are indicative of more significant price movements and are considered as primary signals of trend strength.
Weak Bull and Bear Conditions:
Weak bull and bear conditions are more nuanced. They occur when the 75th percentile of high prices (for weak bull conditions) or the 25th percentile of low prices (for weak bear conditions) falls within the range defined by the highest high and lowest low for the specified length period.
In other words, prices are not strong enough to reach the extreme levels represented by the highest high or lowest low, but they still exhibit some bullish or bearish tendencies within that range.
Weak conditions suggest a less robust trend. They may indicate that while there is some bias toward a bullish or bearish trend, it is not as strong or decisive as in the case of strong conditions.
Current Trend Identification:
The current trend is determined by comparing bullStrength and bearStrength. If bullStrength is greater, it's considered a Bull trend; if bearStrength is greater, it's a Bear trend. If they are equal, the trend is identified as N/A (No Trend).
Displaying Trend Information:
The code creates a table to display the current trend, reversal probability (strength), count of bullish and bearish conditions, weak bullish and weak bearish counts, and colors the text accordingly.
Plotting Percentiles:
Finally, the code plots the percentile lines for visualization, with 20% transparency. It also plots the highest high and lowest low lines (75th and 25th percentile of the longest length 144) using their original colors.
In summary, this indicator calculates trend strength based on percentile levels of high and low prices for different length periods. It then counts the number of bullish and bearish conditions, factors in weak conditions, and compares the strengths to identify the current trend as Bullish, Bearish, or No Trend. It provides a table with trend information and visualizes percentile lines on the chart.
Z-Score Based Momentum Zones with Advanced Volatility ChannelsThe indicator "Z-Score Based Momentum Zones with Advanced Volatility Channels" combines various technical analysis components, including volatility, price changes, and volume correction, to calculate Z-Scores and determine momentum zones and provide a visual representation of price movements and volatility based on multi timeframe highest high and lowest low values.
Note: THIS IS A IMPROVEMNT OF "Multi Time Frame Composite Bands" INDICATOR OF MINE WITH MORE EMPHASIS ON MOMENTUM ZONES CALULATED BASED ON Z-SCORES
Input Options
look_back_length: This input specifies the look-back period for calculating intraday volatility. correction It is set to a default value of 5.
lookback_period: This input sets the look-back period for calculating relative price change. The default value is 5.
zscore_period: This input determines the look-back period for calculating the Z-Score. The default value is 500.
avgZscore_length: This input defines the length of the momentum block used in calculations, with a default value of 14.
include_vc: This is a boolean input that, if set to true, enables volume correction in the calculations. By default, it is set to false.
1. Volatility Bands (Composite High and Low):
Composite High and Low: These are calculated by combining different moving averages of the high prices (high) and low prices (low). Specifically:
a_high and a_low are calculated as the average of the highest (ta.highest) and lowest (ta.lowest) high and low prices over various look-back periods (5, 8, 13, 21, 34) to capture short and long-term trends.
b_high and b_low are calculated as the simple moving average (SMA) of the high and low prices over different look-back periods (5, 8, 13) to smooth out the trends.
high_c and low_c are obtained by averaging a_high with b_high and a_low with b_low respectively.
IDV Correction Calulation : In this script the Intraday Volatility (IDV) is calculated as the simple moving average (SMA) of the daily high-low price range divided by the closing price. This measures how much the price fluctuates in a given period.
Composite High and Low with Volatility: The final c_high and c_low values are obtained by adjusting high_c and low_c with the calculated intraday volatility (IDV). These values are used to create the "Composite High" and "Composite Low" plots.
Composite High and Low with Volatility Correction: The final c_high and c_low values are obtained by adjusting high_c and low_c with the calculated intraday volatility (IDV). These values are used to create the "Composite High" and "Composite Low" plots.
2. Momentum Blocks Based on Z-Score:
Relative Price Change (RPC):
The Relative Price Change (rpdev) is calculated as the difference between the current high-low-close average (hlc3) and the previous simple moving average (psma_hlc3) of the same quantity. This measures the change in price over time.
Additionally, std_hlc3 is calculated as the standard deviation of the hlc3 values over a specified look-back period. The standard deviation quantifies the dispersion or volatility in the price data.
The rpdev is then divided by the std_hlc3 to normalize the price change by the volatility. This normalization ensures that the price change is expressed in terms of standard deviations, which is a common practice in quantitative analysis.
Essentially, the rpdev represents how many standard deviations the current price is away from the previous moving average.
Volume Correction (VC): If the include_vc input is set to true, volume correction is applied by dividing the trading volume by the previous simple moving average of the volume (psma_volume). This accounts for changes in trading activity.
Volume Corrected Relative Price Change (VCRPD): The vcrpd is calculated by multiplying the rpdev by the volume correction factor (vc). This incorporates both price changes and volume data.
Z-Scores: The Z-scores are calculated by taking the difference between the vcrpd and the mean (mean_vcrpd) and then dividing it by the standard deviation (stddev_vcrpd). Z-scores measure how many standard deviations a value is away from the mean. They help identify whether a value is unusually high or low compared to its historical distribution.
Momentum Blocks: The "Momentum Blocks" are essentially derived from the Z-scores (avgZScore). The script assigns different colors to the "Fill Area" based on predefined Z-score ranges. These colored areas represent different momentum zones:
Positive Z-scores indicate bullish momentum, and different shades of green are used to fill the area.
Negative Z-scores indicate bearish momentum, and different shades of red are used.
Z-scores near zero (between -0.25 and 0.25) suggest neutrality, and a yellow color is used.
Moving Average - TREND POWER v1.1- (AS)0)NOTE:
This is first version of this indicator. It's way more complicated than it should be. Check out Moving Average-TREND POWER v2.1-(AS), its waaaaay less complicated and might be better.Enjoy...
1)INTRODUCTION/MAIN IDEA:
In simpliest form this script is a trend indicator that rises if Moving average if below price or falling if above and going back to zero if there is a crossover with a price. To use this indicator you will have to adjust settings of MAs and choose conditions for calculation.
While using the indicator we might have to define CROSS types or which MAs to use. List of what cross types are defined in the script and Conditiones to choose from.The list will be below.
2) COMPOSITION:
-MA1 can be defined by user in settings, possible types: SMA, EMA, RMA, HMA, TEMA, DEMA, LSMA, WMA.
-MA2 is always ALMA
3) OVERLAY:
Default is false but if you want to see MA1/2 on chart you can change code to true and then turn on overlay in settings. Most plot settings are avalible only in OV=false.
if OV=true possible plots ->MA1/2, plotshape when choosen cross type
if OV=false -> main indicator,TSHs,Cross counter
4)PRESETS :
Indicator has three modes that can be selected in settings. First two are presets and do not require selecting conditions as they set be default.
-SIMPLE - most basic
-ABSOLUTE - shows only positive values when market is trending or zero when in range
-CUSTOM - main and the most advanced form that will require setting conditions to use in calculating trend
4.1)SIMPLE – this is the most basic form of conditions that uses only First MA. If MA1 is below selected source (High/Low(High for Uptrend and Low for DNtrend or OHLC4) on every bar value rises by 0.02. if it above Low or OHLC4 it falls by 0.02 with every bar. If there is a cross of MA with price value is zero. This preset uses CROSS_1_ULT(list of all cross types below)
4.2) ABSOLUTE – does not show direction of the trend unlike others and uses both MA1 and MA2. Uses CROSS type 123_ULT
4.3) CUSTOM – here we define conditions manually. This mode is defined in parts (5-8 of description)
5)SETTINGS:
SOURCE/OVERLAY(line1) – select source of calculation form MA1/MA2, select for overlay true (look point 3)
TRESHOLDS(line2). – set upper and lower THS, turn TSHs on/off
MA1(line3) – Length/type of MA/Offset(only if MA type is LSM)
MA2(line4) – length/offset/sigma -(remember to set ma in the way that in Uptrend MA2MA1 in DNtrend)
Use faster MA types for short term trends and slower types / bigger periods for longer term trends, defval MA1/2 settings
are pretty much random so using them is not recomended.
CROSSshape(line5) – choose which cross type you want to plot on chart(only in OV=true) or what type you want to use in counting via for loops,
CROSScount(line6) – set lookback for type of cross choosen above
BOOLs in lines 5 and 6 - plotshape if OV=true/plot CROSScount histogram (if OV=false)
Lines 7 and 8 – PRESET we want to use /SRC for calculation of indicator/are conditions described below/which MAs to use/Condition for
reducing value t 0 - (if PRESET is ABSOLUTE or SIMPLE only SRC should be set(Line 8 does not matter if not CUSTOM))
5)SOURCE for CONDS:
Here you can choose between H/L and OHLC. If H/L value grow when MAlow. If OHLC MAOHLC. H/L is set by default and recommended. This can be selected for all presets not only CUSTOM
6)CROSS types LIST:
“1 means MA1, 2 is MA2 and 3 I cross of MA1/MA2. L stands for low and H for high so for example 2H means cross of MA2 and high”
NAME -DEFINITION Number of possible crosses
1L - cross of MA1 and low 1
1H - cross of MA1 and high 1
1HL - cross of MA1 and low or MA1 and high 2 -1L/1H
2L - cross of MA2 and low 1
2H - cross of MA2 and high 1
2HL - cross of MA2 and low or MA1 and high 2 -2L/2H
12L - cross of MA1 and low or MA2 and low 2 -1L/2L
12H - cross of MA1 and high or MA2 and high 2 -1H/2H
12HL - MA1/2 and high/low 4 -1H/1L/2H/2L
3 -cross of MA1 and MA2 1
123HL -crosses from 12HL or 3 5 -12HL/3
1_ULT - cross of MA1 with any of price sources(close,low,high,ohlc4 etc…)
2_ULT - cross of MA2 with any of price sources(close,low,high,ohlc4 etc…)
123_ULT – all crosses possible of MA1/2 (all of the above so a lot)
7)CRS CONDS:
“conditions to reduce value back to zero”
>/< - 0 if indicator shows Uptrend and there’s a cross with high of selected MA or 0 if in DNtrend and cross with low. Better for UP/DN trend detection
ALL – 0 if cross of MA with high or low no matter the trend, better for detecting consolidation
ULT – if any cross of selected MA, most crosses so goes to 0 most often
8)MA selection and CONDS:
-MA1: only MA1 is used,if MA1 below price value grows and the other way around
MA1price =-0.02
-MA2 – only MA2 is used, same conditions as MA1 but using MA2
MA2price =-0.02
-BOTH – MA1 and MA2 used, grows when MA1 if below, grows faster if MA1 and MA2 are below and fastest when MA1 and MA2 are below and MA2price=-0.02
-MA1 and MA2 >price=-0.03
-MA1 and MA2 ?price and MA2>MA1=-0.04
9)CONDITIONS SELECTION SUMMARRY:
So when CUSTOM we choose :
1)SOURCE – H/L or OHLC
2)MAs – MA1/MA2/BOTH
3)CRS CONDS (>/<,ALL,ULT)
So for example...
if we take MA1 and ALL value will go to zero if 1HL
if MA1 and >/< - 0 if 1L or 1H (depending if value is positive or negative).(1L or 1H)
If ALL and BOTH zero when 12HL
If BOTH and ULT value goes back to zero if Theres any cross of MA1/MA2 with price or cross of MA1 and MA2.(123_ULT)
If >/< and BOTH – 0 if 12L in DNtrend or 12H if UPtrend
10) OTHERS
-script was created on EURUSD 5M and wasn't tested on different markets
-default values of MA1/MA2 aren't optimalized so do not
-There might be a logical error in the script so let me know if you find it (most probably in 'BOTH')
-thanks to @AlifeToMake for help
-if you have any ideas to improve let me know
-there are also tooltips to help
Donchian Channel Oscillator (DonOsc) Preface
DonOsc stands for Donchian Channel Oscillator. This channel envelopes all prices, so if you set the height of the channel to 100 percent, you can plot the prices as percent in between, creating this sub-pane oscillator. For clarity the example chart shows a Donchian channel in the main-pane with the same look-back as the DonOsc, this way you can see how both are related.
Price River
Not only the close is plotted, but also the high and the low of the bar. Thus you get a structure that can be associated with a river, streaming from left to right, in which the price moves between the left bank (i.e. the plotted highs) and the right bank (i.e. the plotted lows), which meanders between the high border (100%) and the low border (0%) of the oscillator. The surface of the price river is gray. The price line is blue when up and dark red when down. The river has also color patches dark red, light red, blue and aqua. Stochastic patches; up: aqua, down: light red
If you look at the price river, you may notice that the price line is closer to the left bank (highs) when moving up and to the right bank (lows) when moving down. Because this phenomenon is used in the stochastic indicator, I named these stochastic patches. These are depicted on the wide side for visibility, so the aqua patches are to the right of the price line and the light-red patches to the left.
Widening patches; up: blue, down: red
If you look at tops or bottoms in bar charts, you may notice that long bars (wide range) tend to be there. You may say that prices turn with a ‘range bang’. This causes a widening of the price river, depicted as a patch on the wide side.
Channel Features
High (76.4 %) and low (23.6 %) Fibonacci levels.
In the oscillator there is no need to calculate Fibonacci levels, we can just plot them. If the price is above 50% the low level is shown with a green color, when below the high level with a pink color. When the price river crosses a level a ‘near border’ highlighter will flash, lime near the high border and orange near the low one.
New high and new low markers.
A flaw in the oscillator is that is doesn’t show actual new lows and new highs in the Donchian Channel, because everything is made relative. This is ‘repaired’ by adding markers, dark red for new low depicted between the high fib and border, blue for new high depicted between low fib and border. Used are the same colors as in the widening patches, because new highs and lows also lead to widening of the actual Channel.
Uptrend and downtrend highlighters.
If in the actual Channel the bars run in the upper half, an uptrend is happening as long as these remain there, a downtrend when the bars remain in the lower half. In the oscillator a yellow highlighter flashes when the price is higher than 50%, a red highlighter below 50%.
Interpretation of the DonOsc
This sub-pane indicator provides a wealth of useful information about what is going on in the market. First of all you immediately see whether there is an up or down trend and whether these lead to new highs or lows. Second of all you can estimate the importance of price movements in the context of the look-back period. Thirdly the width of the price river reveals the emotions in the market. The higher the emotions run, the more risk is involved in a postilion in the charted instrument.
Settings of the DonOsc
Look-back settings.
By default the script sets the look-back, depending on the time frame. This overrules the standard manual setting. If you switch this off, the manual setting will work. A feed-back label can by shown which informs about the current setting.
Smoothing
This concerns the price river. Default is 2, if you increase this setting, the river will loose its touch with the channel borders. O.t.o.h. the river wil be wider and better visible. Maximum setting is 5.
Colors
The momentum colors set both the river widening patches and new high and low markers.
Take care, Eykpunter.
Triple Top Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws triple top patterns and price projections derived from the ranges that constitute the patterns.
█ 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.
Broken and Unbroken Peaks and Troughs
Upon the completion of a new swing low the high of the green candle that completes the swing low will be above, below or equal to the current peak price. And similarly, upon the completion of a new swing high the low of the red candle that completes the swing high will be above, below or equal to the current trough price.
If the high price of the green candle that completes the current swing low is higher than or equal to the current peak price then the current peak is broken. If the high of the green candle that completes the current swing low is below the current peak price, then the current peak is unbroken.
Similarly, if the low price of the red candle that completes the current swing high is lower than or equal to the current trough price then the current trough is broken. If the low price of the red candle that completes the current swing high is above the current trough price, then the current trough is unbroken.
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.
Triple Bottom and Triple Top Patterns
• Triple bottom patterns are composed of two peaks and three troughs, with the second and third troughs being roughly equal to the first trough.
• Triple top patterns are composed of two troughs and three peaks, with the second and third peaks being roughly equal to the first peak.
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 triple bottom and triple top patterns to increase to the frequency of pattern occurrences.
For example, a perfect triple bottom is very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A ratio tolerance of 10% to both downside and upside, which is the default setting, means we would have a tolerable ratio measurement range between 90-110% for the second and third troughs as ratios of the first trough, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• Unbroken Troughs
• Lower Tolerance
• Upper Tolerance
• Pattern Color
• Neckline Color
• Extend Current Neckline
• Show Labels
• Label Color
• Show Projection Lines
• 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.
Triple Bottom Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws triple bottom patterns and price projections derived from the ranges that constitute the patterns.
█ 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.
Broken and Unbroken Peaks and Troughs
Upon the completion of a new swing low the high of the green candle that completes the swing low will be above, below or equal to the current peak price. And similarly, upon the completion of a new swing high the low of the red candle that completes the swing high will be above, below or equal to the current trough price.
If the high price of the green candle that completes the current swing low is higher than or equal to the current peak price then the current peak is broken. If the high of the green candle that completes the current swing low is below the current peak price, then the current peak is unbroken.
Similarly, if the low price of the red candle that completes the current swing high is lower than or equal to the current trough price then the current trough is broken. If the low price of the red candle that completes the current swing high is above the current trough price, then the current trough is unbroken.
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.
Triple Bottom and Triple Top Patterns
• Triple bottom patterns are composed of two peaks and three troughs, with the second and third troughs being roughly equal to the first trough.
• Triple top patterns are composed of two troughs and three peaks, with the second and third peaks being roughly equal to the first peak.
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 triple bottom and triple top patterns to increase to the frequency of pattern occurrences.
For example, a perfect triple bottom is very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A ratio tolerance of 10% to both downside and upside, which is the default setting, means we would have a tolerable ratio measurement range between 90-110% for the second and third troughs as ratios of the first trough, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• Unbroken Peaks
• Lower Tolerance
• Upper Tolerance
• Pattern Color
• Neckline Color
• Extend Current Neckline
• Show Labels
• Label Color
• Show Projection Lines
• 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.
Double Top Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws double top patterns and price projections derived from the ranges that constitute the patterns.
█ 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.
Broken and Unbroken Peaks and Troughs
Upon the completion of a new swing low the high of the green candle that completes the swing low will be above, below or equal to the current peak price. And similarly, upon the completion of a new swing high the low of the red candle that completes the swing high will be above, below or equal to the current trough price.
If the high price of the green candle that completes the current swing low is higher than or equal to the current peak price then the current peak is broken. If the high of the green candle that completes the current swing low is below the current peak price, then the current peak is unbroken.
Similarly, if the low price of the red candle that completes the current swing high is lower than or equal to the current trough price then the current trough is broken. If the low price of the red candle that completes the current swing high is above the current trough price, then the current trough is unbroken.
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.
Double Bottom and Double Top Patterns
• Double bottom patterns are composed of one peak and two troughs, with the second trough being roughly equal to the first trough.
• Double top patterns are composed of one trough and two peaks, with the second peak being roughly equal to the first peak.
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 double bottom and double top patterns to increase to the frequency of pattern occurrences.
For example, a perfect double bottom is very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A ratio tolerance of 10% to both downside and upside, which is the default setting, means we would have a tolerable ratio measurement range between 90-110% for the second trough, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• Unbroken Troughs
• Lower Tolerance
• Upper Tolerance
• Pattern Color
• Neckline Color
• Extend Current Neckline
• Show Labels
• Label Color
• Show Projection Lines
• 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.
Double Bottom Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws double bottom patterns and price projections derived from the ranges that constitute the patterns.
█ 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.
Broken and Unbroken Peaks and Troughs
Upon the completion of a new swing low the high of the green candle that completes the swing low will be above, below or equal to the current peak price. And similarly, upon the completion of a new swing high the low of the red candle that completes the swing high will be above, below or equal to the current trough price.
If the high price of the green candle that completes the current swing low is higher than or equal to the current peak price then the current peak is broken. If the high of the green candle that completes the current swing low is below the current peak price, then the current peak is unbroken.
Similarly, if the low price of the red candle that completes the current swing high is lower than or equal to the current trough price then the current trough is broken. If the low price of the red candle that completes the current swing high is above the current trough price, then the current trough is unbroken.
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.
Double Bottom and Double Top Patterns
• Double bottom patterns are composed of one peak and two troughs, with the second trough being roughly equal to the first trough.
• Double top patterns are composed of one trough and two peaks, with the second peak being roughly equal to the first peak.
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 double bottom and double top patterns to increase to the frequency of pattern occurrences.
For example, a perfect double bottom is very rare. We can increase the frequency of pattern occurrences by setting a tolerance. A ratio tolerance of 10% to both downside and upside, which is the default setting, means we would have a tolerable ratio measurement range between 90-110% for the second trough, thus increasing the frequency of occurrence.
█ FEATURES
Inputs
• Unbroken Peaks
• Lower Tolerance
• Upper Tolerance
• Pattern Color
• Neckline Color
• Extend Current Neckline
• Show Labels
• Label Color
• Show Projection Lines
• 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.
Moving Average Resting Point [theEccentricTrader]█ OVERVIEW
This indicator uses peak and trough prices to calculate the moving average resting point and plots it as a line on the chart. The lookback length is variable and the indicator can plot up to three lines with different lookback lengths and colors.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a high price equal to or above the price it opened.
• A red candle is one that closes with a low 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.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
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. As can be seen in the example above, the first swing high or swing low will set the course for the sequence of wave cycles that follow; 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.
Wave Length
Wave length is here measured in terms of bar distance between the start and end of a wave cycle. For example, if the current wave cycle ends on a swing low the wave length will be the difference in bars between the current swing low and current swing high. In such a case, if the current swing low completes on candle 100 and the current swing high completed on candle 95, we would simply subtract 95 from 100 to give us a wave length of 5 bars.
Average wave length is here measured in terms of total bars as a proportion as total waves. The average wavelength is calculated by dividing the total candles by the total wave cycles.
Wave Height
Wave height is here measured in terms of current range. For example, if the current peak price is 100 and the current trough price is 80, the wave height will be 20.
Amplitude
Amplitude is here measured in terms of current range divided by two. For example if the current peak price is 100 and the current trough price is 80, the amplitude would be calculated by subtracting 80 from 100 and dividing the answer by 2 to give us an amplitude of 10.
Resting Point
The resting point is here calculated by subtracting the current trough price from the current peak price and adding the difference to the current trough price to output the price in the middle of the two prices. Essentially it is the current trough price plus the amplitude. For example, if the current peak price is 100 and the current trough price is 80, the resting point 90.
The moving average resting point is here calculated by subtracting the moving average trough price from the moving average peak price, dividing the answer by two and adding the difference to the moving average trough price.
Frequency
Frequency is here measured in terms of wave cycles per second (Hertz). For example, if the total wave cycle count is 10 and the amount of time it has taken to complete these 10 cycles is 1-year (31,536,000 seconds), the frequency would be calculated by dividing 10 by 31,536,000 to give us a frequency of 0.00000032 Hz.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
█ FEATURES
Inputs
Show MARP 1
Show MARP 2
Show MARP 3
MARP 1 Length
MARP 2 Length
MARP 3 Length
MARP 1 Color
MARP 2 Color
MARP 3 Color
█ HOW TO USE
This indicator can be used like any other moving average indicator to analyse trend direction and momentum, identify potential support and resistance levels, or for filtering trading strategies and developing new ones.
MomentumIndicatorsLibrary "MomentumIndicators"
This is a library of 'Momentum Indicators', also denominated as oscillators.
The purpose of this library is to organize momentum indicators in just one place, making it easy to access.
In addition, it aims to allow customized versions, not being restricted to just the price value.
An example of this use case is the popular Stochastic RSI.
# Indicators:
1. Relative Strength Index (RSI):
Measures the relative strength of recent price gains to recent price losses of an asset.
2. Rate of Change (ROC):
Measures the percentage change in price of an asset over a specified time period.
3. Stochastic Oscillator (Stoch):
Compares the current price of an asset to its price range over a specified time period.
4. True Strength Index (TSI):
Measures the price change, calculating the ratio of the price change (positive or negative) in relation to the
absolute price change.
The values of both are smoothed twice to reduce noise, and the final result is normalized
in a range between 100 and -100.
5. Stochastic Momentum Index (SMI):
Combination of the True Strength Index with a signal line to help identify turning points in the market.
6. Williams Percent Range (Williams %R):
Compares the current price of an asset to its highest high and lowest low over a specified time period.
7. Commodity Channel Index (CCI):
Measures the relationship between an asset's current price and its moving average.
8. Ultimate Oscillator (UO):
Combines three different time periods to help identify possible reversal points.
9. Moving Average Convergence/Divergence (MACD):
Shows the difference between short-term and long-term exponential moving averages.
10. Fisher Transform (FT):
Normalize prices into a Gaussian normal distribution.
11. Inverse Fisher Transform (IFT):
Transform the values of the Fisher Transform into a smaller and more easily interpretable scale is through the
application of an inverse transformation to the hyperbolic tangent function.
This transformation takes the values of the FT, which range from -infinity to +infinity, to a scale limited
between -1 and +1, allowing them to be more easily visualized and compared.
12. Premier Stochastic Oscillator (PSO):
Normalizes the standard stochastic oscillator by applying a five-period double exponential smoothing average of
the %K value, resulting in a symmetric scale of 1 to -1
# Indicators of indicators:
## Stochastic:
1. Stochastic of RSI (Relative Strengh Index)
2. Stochastic of ROC (Rate of Change)
3. Stochastic of UO (Ultimate Oscillator)
4. Stochastic of TSI (True Strengh Index)
5. Stochastic of Williams R%
6. Stochastic of CCI (Commodity Channel Index).
7. Stochastic of MACD (Moving Average Convergence/Divergence)
8. Stochastic of FT (Fisher Transform)
9. Stochastic of Volume
10. Stochastic of MFI (Money Flow Index)
11. Stochastic of On OBV (Balance Volume)
12. Stochastic of PVI (Positive Volume Index)
13. Stochastic of NVI (Negative Volume Index)
14. Stochastic of PVT (Price-Volume Trend)
15. Stochastic of VO (Volume Oscillator)
16. Stochastic of VROC (Volume Rate of Change)
## Inverse Fisher Transform:
1.Inverse Fisher Transform on RSI (Relative Strengh Index)
2.Inverse Fisher Transform on ROC (Rate of Change)
3.Inverse Fisher Transform on UO (Ultimate Oscillator)
4.Inverse Fisher Transform on Stochastic
5.Inverse Fisher Transform on TSI (True Strength Index)
6.Inverse Fisher Transform on CCI (Commodity Channel Index)
7.Inverse Fisher Transform on Fisher Transform (FT)
8.Inverse Fisher Transform on MACD (Moving Average Convergence/Divergence)
9.Inverse Fisher Transfor on Williams R% (Williams Percent Range)
10.Inverse Fisher Transfor on CMF (Chaikin Money Flow)
11.Inverse Fisher Transform on VO (Volume Oscillator)
12.Inverse Fisher Transform on VROC (Volume Rate of Change)
## Stochastic Momentum Index:
1.Stochastic Momentum Index of RSI (Relative Strength Index)
2.Stochastic Momentum Index of ROC (Rate of Change)
3.Stochastic Momentum Index of VROC (Volume Rate of Change)
4.Stochastic Momentum Index of Williams R% (Williams Percent Range)
5.Stochastic Momentum Index of FT (Fisher Transform)
6.Stochastic Momentum Index of CCI (Commodity Channel Index)
7.Stochastic Momentum Index of UO (Ultimate Oscillator)
8.Stochastic Momentum Index of MACD (Moving Average Convergence/Divergence)
9.Stochastic Momentum Index of Volume
10.Stochastic Momentum Index of MFI (Money Flow Index)
11.Stochastic Momentum Index of CMF (Chaikin Money Flow)
12.Stochastic Momentum Index of On Balance Volume (OBV)
13.Stochastic Momentum Index of Price-Volume Trend (PVT)
14.Stochastic Momentum Index of Volume Oscillator (VO)
15.Stochastic Momentum Index of Positive Volume Index (PVI)
16.Stochastic Momentum Index of Negative Volume Index (NVI)
## Relative Strength Index:
1. RSI for Volume
2. RSI for Moving Average
rsi(source, length)
RSI (Relative Strengh Index). Measures the relative strength of recent price gains to recent price losses of an asset.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of RSI
roc(source, length)
ROC (Rate of Change). Measures the percentage change in price of an asset over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of ROC
stoch(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Stochastic Oscillator. Compares the current price of an asset to its price range over a specified time period.
Parameters:
kLength
kSmoothing : (int) Period for smoothig stochastic
dSmoothing : (int) Period for signal (moving average of stochastic)
maTypeK : (int) Type of Moving Average for Stochastic Oscillator
maTypeD : (int) Type of Moving Average for Stochastic Oscillator Signal
almaOffsetKD : (float) Offset for Arnaud Legoux Moving Average for Oscillator and Signal
almaSigmaKD : (float) Sigma for Arnaud Legoux Moving Average for Oscillator and Signal
lsmaOffSetKD : (int) Offset for Least Squares Moving Average for Oscillator and Signal
Returns: A tuple of Stochastic Oscillator and Moving Average of Stochastic Oscillator
stoch(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Stochastic Oscillator. Customized source. Compares the current price of an asset to its price range over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
kLength : (int) Period of loopback to calculate the stochastic
kSmoothing : (int) Period for smoothig stochastic
dSmoothing : (int) Period for signal (moving average of stochastic)
maTypeK : (int) Type of Moving Average for Stochastic Oscillator
maTypeD : (int) Type of Moving Average for Stochastic Oscillator Signal
almaOffsetKD : (float) Offset for Arnaud Legoux Moving Average for Stoch and Signal
almaSigmaKD : (float) Sigma for Arnaud Legoux Moving Average for Stoch and Signal
lsmaOffSetKD : (int) Offset for Least Squares Moving Average for Stoch and Signal
Returns: A tuple of Stochastic Oscillator and Moving Average of Stochastic Oscillator
tsi(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet)
TSI (True Strengh Index). Measures the price change, calculating the ratio of the price change (positive or negative) in relation to the absolute price change.
The values of both are smoothed twice to reduce noise, and the final result is normalized in a range between 100 and -100.
Parameters:
source : (float) Source of series (close, high, low, etc.)
shortLength : (int) Short length
longLength : (int) Long length
maType : (int) Type of Moving Average for TSI
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: (float) TSI
smi(sourceTSI, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
SMI (Stochastic Momentum Index). A TSI (True Strengh Index) plus a signal line.
Parameters:
sourceTSI : (float) Source of series for TSI (close, high, low, etc.)
shortLengthTSI : (int) Short length for TSI
longLengthTSI : (int) Long length for TSI
maTypeTSI : (int) Type of Moving Average for Signal of TSI
almaOffsetTSI : (float) Offset for Arnaud Legoux Moving Average
almaSigmaTSI : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSetTSI : (int) Offset for Least Squares Moving Average
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
Returns: A tuple with TSI, signal of TSI and histogram of difference
wpr(source, length)
Williams R% (Williams Percent Range). Compares the current price of an asset to its highest high and lowest low over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of Williams R%
cci(source, length, maType, almaOffset, almaSigma, lsmaOffSet)
CCI (Commodity Channel Index). Measures the relationship between an asset's current price and its moving average.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
maType : (int) Type of Moving Average
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: (float) Series of CCI
ultimateOscillator(fastLength, middleLength, slowLength)
UO (Ultimate Oscilator). Combines three different time periods to help identify possible reversal points.
Parameters:
fastLength : (int) Fast period of loopback
middleLength : (int) Middle period of loopback
slowLength : (int) Slow period of loopback
Returns: (float) Series of Ultimate Oscilator
ultimateOscillator(source, fastLength, middleLength, slowLength)
UO (Ultimate Oscilator). Customized source. Combines three different time periods to help identify possible reversal points.
Parameters:
source : (float) Source of series (close, high, low, etc.)
fastLength : (int) Fast period of loopback
middleLength : (int) Middle period of loopback
slowLength : (int) Slow period of loopback
Returns: (float) Series of Ultimate Oscilator
macd(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet)
MACD (Moving Average Convergence/Divergence). Shows the difference between short-term and long-term exponential moving averages.
Parameters:
source : (float) Source of series (close, high, low, etc.)
fastLength : (int) Period for fast moving average
slowLength : (int) Period for slow moving average
signalLength : (int) Signal length
maTypeFast : (int) Type of fast moving average
maTypeSlow : (int) Type of slow moving average
maTypeMACD : (int) Type of MACD moving average
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: A tuple with MACD, Signal, and Histgram
fisher(length)
Fisher Transform. Normalize prices into a Gaussian normal distribution.
Parameters:
length
Returns: A tuple with Fisher Transform and signal
fisher(source, length)
Fisher Transform. Customized source. Normalize prices into a Gaussian normal distribution.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length
Returns: A tuple with Fisher Transform and signal
inverseFisher(source, length, subtrahend, denominator)
Inverse Fisher Transform.
Transform the values of the Fisher Transform into a smaller and more easily interpretable scale is
through the application of an inverse transformation to the hyperbolic tangent function.
This transformation takes the values of the FT, which range from -infinity to +infinity,
to a scale limited between -1 and +1, allowing them to be more easily visualized and compared.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period for loopback
subtrahend : (int) Denominator. Useful in unbounded indicators. For example, in CCI.
denominator
Returns: (float) Series of Inverse Fisher Transform
premierStoch(length, smoothlen)
Premier Stochastic Oscillator (PSO).
Normalizes the standard stochastic oscillator by applying a five-period double exponential smoothing
average of the %K value, resulting in a symmetric scale of 1 to -1.
Parameters:
length : (int) Period for loopback
smoothlen : (int) Period for smoothing
Returns: (float) Series of PSO
premierStoch(source, smoothlen, subtrahend, denominator)
Premier Stochastic Oscillator (PSO) of custom source.
Normalizes the source by applying a five-period double exponential smoothing average.
Parameters:
source : (float) Source of series (close, high, low, etc.)
smoothlen : (int) Period for smoothing
subtrahend : (int) Denominator. Useful in unbounded indicators. For example, in CCI.
denominator
Returns: (float) Series of PSO
stochRsi(sourceRSI, lengthRSI, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
sourceRSI
lengthRSI
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochRoc(sourceROC, lengthROC, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
sourceROC
lengthROC
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochUO(fastLength, middleLength, slowLength, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
fastLength
middleLength
slowLength
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochTSI(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
shortLength
longLength
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochWPR(source, length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochCCI(source, length, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochFT(length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVolume(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochMFI(source, length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochOBV(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochPVI(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochNVI(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochPVT(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVROC(length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
iftRSI(sourceRSI, lengthRSI, lengthIFT)
Parameters:
sourceRSI
lengthRSI
lengthIFT
iftROC(sourceROC, lengthROC, lengthIFT)
Parameters:
sourceROC
lengthROC
lengthIFT
iftUO(fastLength, middleLength, slowLength, lengthIFT)
Parameters:
fastLength
middleLength
slowLength
lengthIFT
iftStoch(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD, lengthIFT)
Parameters:
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
lengthIFT
iftTSI(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
shortLength
longLength
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftCCI(source, length, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
length
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftFisher(length, lengthIFT)
Parameters:
length
lengthIFT
iftMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftWPR(source, length, lengthIFT)
Parameters:
source
length
lengthIFT
iftMFI(source, length, lengthIFT)
Parameters:
source
length
lengthIFT
iftCMF(length, lengthIFT)
Parameters:
length
lengthIFT
iftVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftVROC(length, lengthIFT)
Parameters:
length
lengthIFT
smiRSI(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiROC(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVROC(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiWPR(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiFT(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiFT(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiCCI(source, length, maTypeCCI, almaOffsetCCI, almaSigmaCCI, lsmaOffSetCCI, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
maTypeCCI
almaOffsetCCI
almaSigmaCCI
lsmaOffSetCCI
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiUO(fastLength, middleLength, slowLength, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
fastLength
middleLength
slowLength
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVol(shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiMFI(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiCMF(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiOBV(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiPVT(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiPVI(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiNVI(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
rsiVolume(length)
Parameters:
length
rsiMA(sourceMA, lengthMA, maType, almaOffset, almaSigma, lsmaOffSet, lengthRSI)
Parameters:
sourceMA
lengthMA
maType
almaOffset
almaSigma
lsmaOffSet
lengthRSI
Bar metrics / quantifytools— Overview
Rather than eyeball evaluating bullishness/bearishness in any given bar, bar metrics allow a quantified approach using three basic fundamental data points: relative close, relative volatility and relative volume. These data points are visualized in a discreet data dashboard form, next to all real-time bars. Each value also has a dot in front, representing color coded extremes in the values.
Relative close represents position of bar's close relative to high and low, high of bar being 100% and low of bar being 0%. Relative close indicates strength of bulls/bears in a given bar, the higher the better for bulls, the lower the better for bears. Relative volatility (bar range, high - low) and relative volume are presented in a form of a multiplier, relative to their respective moving averages (SMA 20). A value of 1x indicates volume/volatility being on par with moving average, 2x indicates volume/volatility being twice as much as moving average and so on. Relative volume and volatility can be used for measuring general market participant interest, the "weight of the bar" as it were.
— Features
Users can gauge past bar metrics using lookback via input menu. Past bars, especially recent ones, are helpful for giving context for current bar metrics. Lookback bars are highlighted on the chart using a yellow box and metrics presented on the data dashboard with lookback symbols:
To inspect bar metric data and its implications, users can highlight bars with specified bracket values for each metric:
When bar highlighter is toggled on and desired bar metric values set, alert for the specified combination can be toggled on via alert menu. Note that bar highlighter must be enabled in order for alerts to function.
— Visuals
Bar metric dots are gradient colored the following way:
Relative volatility & volume
0x -> 1x / Neutral (white) -> Light (yellow)
1x -> 1.7x / Light (yellow) -> Medium (orange)
1.7x -> 2.4x / Medium (orange) -> Heavy (red)
Relative close
0% -> 25% / Heavy bearish (red) -> Light bearish (dark red)
25% -> 45% / Light bearish (dark red) -> Neutral (white)
45% - 55% / Neutral (white)
55% -> 75% / Neutral (white) -> Light bullish (dark green)
75% -> 100% / Light bullish (dark green) -> Heavy bullish (green)
All colors can be adjusted via input menu. Label size, label distance from bar (offset) and text format (regular/stealth) can be adjusted via input menu as well:
— Practical guide
As interpretation of bar metrics is highly contextual, it is especially important to use other means in conjunction with the metrics. Levels, oscillators, moving averages, whatever you have found useful for your process. In short, relative close indicates directional bias and relative volume/volatility indicates "weight" of directional bias.
General interpretation
High relative close, low relative volume/volatility = mildly bullish, bias up/consolidation
High relative close, medium relative volume/volatility = bullish, bias up
High relative close, high relative volume/volatility = exuberantly bullish, bias up/down depending on context
Medium relative close, low relative volume/volatility = noise, no bias
Medium relative close, medium to high relative volume/volatility = indecision, further evidence needed to evaluate bias
Low relative close, low relative volume/volatility = mildly bearish, bias down/consolidation
Low relative close, medium relative volume/volatility = bearish, bias down
Low relative close, high relative volume/volatility = exuberantly bearish, bias down/up depending on context
Nuances & considerations
As to relative close, it's important to note that each bar is a trading range when viewed on a lower timeframe, ES 1W vs. ES 4H:
When relative close is high, bulls were able to push price to range high by the time of close. When relative close is low, bears were able to push price to range low by the time of close. In other words, bulls/bears were able to gain the upper hand over a given trading range, hinting strength for the side that made the final push. When relative close is around middle range (40-60%), it can be said neither side is clearly dominating the range, hinting neutral/indecision bias from a relative close perspective.
As to relative volume/volatility, low values (less than ~0.7x) imply bar has low market participant interest and therefore is likely insignificant, as it is "lacking weight". Values close to or above 1x imply meaningful market participant interest, whereas values well above 1x (greater than ~1.3x) imply exuberance. This exuberance can manifest as initiation (beginning of a trend) or as exhaustion (end of a trend):
AbdulLibraryLibrary "AbdulLibrary"
The library consists of three sections:
Technical Analysis Functions - A collection of tools commonly used by day traders
Trading Setup Filters Functions - A number of filters that help day traders to screen trading signals
Candlestick Pattern Detection Functions - To detect different candlestick patterns that are used in day trading setups
Note that this would have been possible without the help of @ZenAndTheArtOfTrading as I build-up this library after completing his pine script mastery course so big thanks to him
The content of the library are:-
fibLevels(preDayClose, preDayHigh, preDayLow) Calculates Daily Pivot Point and Fibonacci Key Levels
Parameters:
preDayClose : The previous day candle close
preDayHigh : The previous day candle high
preDayLow : The previous day candle low
Returns: Returns Daily Pivot Point and Fibonacci Key Levels as a tuple
bullishFib(canHigh, canLow, fibLevel) Calculates Fibonacci Levels in Bullish move
Parameters:
canHigh : The high of the move
canLow : The low of the move
fibLevel : The Fib level as % you want to calculate
Returns: Returns The Fib level for the Bullish move
bearishFib(canHigh, canLow, fibLevel) Calculates Fibonacci Levels in Bearish move
Parameters:
canHigh : The high of the move
canLow : The low of the move
fibLevel : The Fib level as % you want to calculate
Returns: Returns The Fib level for the Bearish move
getCandleSize() Calculates the size of candle (high - low) in points
Returns: Returns candle size in points
getCandleBodySize() Calculates the size of candle (close - open) in points
Returns: Returns candle body size in points
getHighWickSize() Calculates the high wick size of candle in points
Returns: Returns The high wick size of candle in points
getLowWickSize() Calculates the low wick size of candle in points
Returns: Returns The low wick size of candle in points
getBodyPercentage() Calculates the candle body size as % of overall candle size
Returns: Returns The candle body size as % of overall candle size
isSwingHigh(period) Checks if the price has created new swing high over a period of time
Parameters:
period : The lookback time we want to check for swing high
Returns: Returns True if the current candle or the previous candle is a swing high
isSwingLow(period) Checks if the price has created new swing low over a period of time
Parameters:
period : The lookback time we want to check for swing low
Returns: Returns True if the current candle or the previous candle is a swing low
isDojiSwingHigh(period) Checks if a doji is a swing high over a period of time
Parameters:
period : The lookback time we want to check for swing high
Returns: Returns True if the doji is a swing high
isDojiSwingLow(period) Checks if a doji is a swing low over a period of time
Parameters:
period : The lookback time we want to check for swing low
Returns: Returns True if the doji is a swing low
isBigBody(atrFilter, atr, candleBodySize, multiplier) Checks if a candle has big body compared to ATR
Parameters:
atrFilter : Check if user wants to use ATR to filter candle-setup signals
atr : The ATR value to be used to compare candle body size
candleBodySize : The candle body size
multiplier : The multiplier to be used to compare candle body size
Returns: Returns Boolean true if the candle setup is big
isSmallBody(atrFilter, atr, candleBodySize, multiplier) Checks if a candle has small body compared to ATR
Parameters:
atrFilter : Check if user wants to use ATR to filter candle-setup signals
atr : The ATR value to be used to compare candle body size
candleBodySize : The candle body size
multiplier : The multiplier to be used to compare candle body size
Returns: Returns Boolean true if the candle setup is small
isHammer(fibLevel, colorMatch) Checks if a candle is a hammer based on user input parameters and candle conditions
Parameters:
fibLevel : Fib level to base candle body on
colorMatch : Checks if user needs for the candel to be green
Returns: Returns Boolean - True if the candle setup is hammer
isShootingStar(fibLevel, colorMatch) Checks if a candle is a shooting star based on user input parameters and candle conditions
Parameters:
fibLevel : Fib level to base candle body on
colorMatch : Checks if user needs for the candel to be red
Returns: Returns Boolean - True if the candle setup is star
isBullEngCan(allowance, period) Check if a candle is a bullish engulfing candle
Parameters:
allowance : How many points the candle open is allowed to be off (To allow for gaps)
period : The lookback period for swing low check
Returns: Boolean - True only if the candle is a bullish engulfing candle
isBearEngCan(allowance, period) Check if a candle is a bearish engulfing candle
Parameters:
allowance : How many points the candle open is allowed to be off (To allow for gaps)
period : The lookback period for swing high check
Returns: Boolean - True only if the candle is a bearish engulfing candle
isBullDoji(maxSize, wickLimit, colorFilter) Check if a candle is a bullish doji candle
Parameters:
maxSize : Maximum candle body size as % of total candle size to be considered as doji
wickLimit : Maximum wick size of one wick compared to the other wick
colorFilter : Checks if the doji is green
Returns: Boolean - True if the candle is a bullish doji
isBearDoji(maxSize, wickLimit, colorFilter) Check if a candle is a bearish doji candle
Parameters:
maxSize : Maximum candle body size as % of total candle size to be considered as doji
wickLimit : Maximum wick size of one wick compared to the other wick
colorFilter : Checks if the doji is red
Returns: Boolean - True if the candle is a bearish doji
isBullOutBar() Check if a candle is a bullish outside bar
Returns: Boolean - True if the candle is a bullish outside bar
isInsideBar() Check if a candle is an inside bar
Returns: Returns Boolean - True if a candle is an inside bar
Ichimoku Kinkō HyōThe Ichimoku Kinko Hyo is an trading system developed by the late Goichi Hosoda (pen name "Ichimokusanjin") when he was the general manager of the business conditions department of Miyako Shinbun, the predecessor of the Tokyo Shimbun. Currently, it is a registered trademark of Economic Fluctuation Research Institute Co., Ltd., which is run by the bereaved family of Hosoda as a private research institute.
The Ichimoku Kinko Hyo is composed of time theory, price range theory (target price theory) and wave movement theory. Ichimoku means "At One Glace". The equilibrium table is famous for its span, but the first in the equilibrium table is the time relationship.
In the theory of time, the change date is the day after the number of periods classified into the basic numerical value such as 9, 17, 26, etc., the equal numerical value that takes the number of periods of the past wave motion, and the habit numerical value that appears for each issue is there. The market is based on the idea that the buying and selling equilibrium will move in the wrong direction. Another feature is that time is emphasized in order to estimate when changes will occur.
In the price range theory, there are E・V・N・NT calculated values and multiple values of 4 to 8E as target values. In addition, in order to determine the momentum and direction of the market, we will consider other price ranges and ying and yang numbers.
If the calculated value is realized on the change date calculated by each numerical value, the market price is likely to reverse.
転換線 (Tenkansen) (Conversion Line) = (highest price in the past 9 periods + lowest price) ÷ 2
基準線 (Kijunsen) (Base Line) = (highest price in the past 26 periods + lowest price) ÷ 2
It represents Support/Resistance for 16 bars. It is a 50% Fibonacci Retracement. The Kijun sen is knows as the "container" of the trend. It is prefect to use as an initial stop and/or trailing stop.
先行スパン1 (Senkou span 1) (Lagging Span 1) = {(conversion value + reference value) ÷ 2} 25 periods ahead (26 periods ahead including the current day, that is)
先行スパン2 (Senkou span 2) (Lagging Span 2) = {(highest price in the past 52 periods + lowest price) ÷ 2} 25 periods ahead (26 periods ahead including the current day, that is)
遅行スパン (Chikou span) (Lagging Span) = (current candle closing price) plotted 26 periods before (that is, including the current day) 25 periods ago
It is the only Ichimoku indicator that uses the closing price. It is used for momentum of the trend.
The area surrounded by the two lagging span lines is called a cloud. This is the foundation of the system. It determines the sentiment (Bull/Bear) for the insrument. If price is above the cloud, the instrument is bullish. If price is below the cloud, the instrument is bearish.
-
The wave theory of the Ichimoku Kinko Hyo has the following waves.
All about the rising market. If it is the falling market, the opposite is true.
I wave rise one market price.
V wave the market price that raises and lowers.
N wave the market price for raising, lowering, and raising.
P wave the high price depreciates and the low price rises with the passage of time. Leave either.
Y wave the high price rises and the low price falls with the passage of time. Leave either.
S wave A market in which the lowered market rebounds and rises at the previous high level.
There are the above 6 types but the basis of the Ichimoku Kinko Hyo is the N wave of 3 waves.
In Elliott wave theory and similar theories, basically there are 5 waves but 5 waves are a series of 2 and 3 waves N, 3 for 7 waves, 4 for 9 waves and so on.
Even if it keep continuing, it will be based on N wave. In addition, since the P wave and the Y wave are separated from each other, they can be seen as N waves from a large perspective.
-
There are basic E・V・N・NT calculated values and several other calculation methods for the Ichimoku Kinko Hyo. It is the only calculated value that gives a concrete value in the Ichimoku Kinko Hyo, which is difficult to understand, but since we focus only on the price difference and do not consider the supply and demand, it is forbidden to stick to the calculated value alone.
(The calculation method of the following five calculated values is based on the rising market price, which is raised from the low price A to the high price B and lowered from the high price B to the low price C. Therefore, the low price C is higher than the low price A)
E calculated value The amount of increase from the low price A to the high price B is added to the high price B. = B + (BA)
V calculated value Adds the amount of decline from the high price B to the low price C to the high price B. = B + (BC)
N calculated value The amount of increase from the low price A to the high price B is added to the low price C. = C + (BA)
NT calculated value Adds the amount of increase from the low price A to the low price C to the low price C. = C + (CA)
4E calculated value (four-layer double / quadruple value) Adds three times the amount of increase from the low price A to the high price B to the high price B. = B + 3 × (BA)
Calculated value of P wave The upper price is devalued and the lower price is rounded up, and the price range of both is the same.
Calculated value of Y wave The upper price is rounded up and the lower price is rounded down, and the price range of both is the same.
Dekidaka-Ashi - Candles And Volume Teaming Up (Again)The introduction of candlestick methods for market price data visualization might be one of the most important events in the history of technical analysis, as it totally changed the way to see a trading chart. Candlestick charts are extremely efficient, as they allow the trader to visualize the opening, high, low and closing price (OHLC) each at the same time, something impossible with a traditional line chart. Candlesticks are also cleaner than bars charts and make a more efficient use of space. Japanese peoples are always better than everyone at an incredible amount of stuff, look at what they made, the candlesticks/renko/kagi/heikin-ashi charts, the Ichimoku, manga, ecchi...
However classical candlesticks only include historical market price data, and won't include other type of data such as volume, which is considered by many investors a key information toward effective financial forecasting as volume is an indicator of trading activity. In order to tackle to this problem solutions where proposed, the most common one being to adapt the width of the candle based on the amount of volume, this method is the most commonly accepted one when it comes to visualizing both volume and OHLC data using candlesticks.
Now why proposing an additional tool for volume data visualization ? Because the classical width approach don't provide usable data regarding volume (as the width is directly related to the volume data). Therefore a new trading tool based on candlesticks that allow the trader to gain access to information about the volume is proposed. The approach is based on rescaling the volume directly to the price without the direct use of user settings. We will also see that this tool allow to create support and resistances as well as providing signals based on a breakout methodology.
Dekidaka-Ashi - Kakatte Koi Yo!
"Dekidaka" (出来高) mean "Volume" in a financial context, while "Ashi" (足) mean "leg" or "bar". In general methods based on candlesticks will have "Ashi" in their name.
Now that the name of the indicator has been explained lets see how it works, the indicator should be overlayed directly to a candlestick chart. The proposed method don't alter the shape of the candlesticks and allow to visualize any information given by the candles. As you can see on the figure below the candle body of the proposed tool only return the border of the candle, this allow to show the high/low wick of the candle.
The body size of the candle is based on two things : the absolute close/open difference, and the volume, if the absolute close/open difference is high and the volume is high then the body of the candle will be clearly visible, if the volume is high but the absolute close/open difference is low, then the body will be less visible. This approach is used because of the rescaling method used, the volume is divided by the sum between the current volume value and the precedent volume value, this rescale the volume in a (0,1) range, this result is multiplied by the absolute close/open difference and added/subtracted to the high/low price. The original approach was based on normalization using the rolling maximum, but this approach would have led to repainting.
You have access to certain settings that can help you obtain a better visualization, the first one being the body size setting, with higher values increasing the body amplitude.
In green body with size 2, in red with size 1. The smooth parameter will smooth the volume data before being used, this allow to create more visible bodies.
Here smooth = 100.
Making Bands From The Dekidaka-Ashi
This tool is made so it output two rescaled volume values, with the highest value being denoted as "Dekidaka-high" and the lowest one as "Dekidaka-low". In order to get bands we must use two moving averages, one using the Dekidaka-high as input and the other one using Dekidaka-low, the body size parameter should be fairly high, therefore i will hide the tool as it could cause trouble visualizing the bands.
Bands with both MA's of period 20 and the body size equal to 20. Larger periods of the MA's will require a larger amount of body size.
Breakout Signals
There is a wide variety of signals that can be made from candles, ones i personally like comes from the HA candles. The proposed tool is no exception and can produce a wide variety of signals. The signals generated are basic ones based on a breakout methodology, here is each signal with their associated label :
Strong Bullish signal "⇈" : The high price cross the Dekidaka-high and the closing price is greater than the opening price
Strong Bearish signal "⇊" : The low price cross the Dekidaka-low and the closing price is lower than the opening price
Weak Bullish signal "↑" : The high price cross the Dekidaka-high and the closing price is lower than the opening price
Weak Bearish signal "↓" : The low price cross the Dekidaka-low and the closing price is greater than the opening price
Uncertain "↕" : The high price cross the Dekidaka-high and the low price cross the the Dekidaka-low
In order to see the signals on the chart check the "Show signals" option. Note that such signals are not based on an advanced study, and even if they are based on a breakout methodology we can see that volatile movement rarely produce signals, therefore signals mostly occur during low volume/volatility periods, which isn't necessarily a great thing.
Conclusion
A trading tool based on candlesticks that aim to include volume information has been presented and a brief methodology has been introduced. A study of the signals generated is required, however i'am not confident at all on their accuracy, i could work on that in the future. We have also seen how to make bands from the tool.
Candlesticks remain a beautiful charting technique that can provide an enormous amount of information to the trader, and even if the accuracy of patterns based on candlesticks is subject to debates, we can all agree that candlesticks will remain the most widely used type of financial chart.
On a side note i mostly use a dark color for a bullish candle, and a light gray for a bearish candle, with the border color being of the same color as the bullish candle. This is in my opinion the best setup for a candlestick chart, as candles using the traditional green/red can kill the eyes and because this setup allow to apply a wide variety of colors to the plot of overlayed indicators without the fear of causing conflict with the candles color.
Thanks for reading ! :3 Nya
A Word
This morning i received some hateful messages on twitter, the users behind them certainly coming from tradingview, so lets be clear, i know i'am not the most liked person in this community, i know that perfectly, but no one merit to be receive hateful messages. I'am not responsible for the losses of peoples using my indicators, nor is tradingview, using technical indicators does not guarantee long term returns, your ability to be profitable will mostly be based on the quality and quantity of knowledge you have.
Bullish Breakaway Dual Session-Publish-Consolidated FVG
Inspired by the FVG Concept:
This indicator is built on the Fair Value Gap (FVG) concept, with a focus on Consolidated FVG. Unlike traditional FVGs, this version only works within a defined session (e.g., ETH 18:00–17:00 or RTH 09:30–16:00).
Bullish consolidated FVG & Bullish breakaway candle
Begins when a new intraday low is printed. After that, the indicator searches for the 1st bullish breakaway candle, which must have its low above the high of the intraday low candle. Any candles in between are part of the consolidated FVG zone. Once the 1st breakaway forms, the indicator will shades the candle’s range (high to low). Then it will use this candle as an anchor to search for the 2nd, 3rd, etc. breakaways until the session ends.
Session Reset: Occurs at session close.
Repaint Behavior:
If a new intraday (or intra-session) low forms, earlier breakaway patterns are wiped, and the system restarts from the new low.
Counter:
A session-based counter at the top of the chart displays how many bullish consolidated FVGs have formed.
Settings
• Session Setup:
Choose ETH, RTH, or custom session. The indicator is designed for CME futures in New York timezone, but can be adjusted for other markets.
If nothing appears on your chart, check if you loaded it during an inactive session (e.g., weekend/Friday night).
• Max Zones to Show:
Default = 3 (recommended). You can increase, but 3 zones are usually most useful.
• Timeframe:
Best on 1m, 5m, or 15m. (If session range is big, try higher time frame)
Usage
1. Avoid Trading in Wrong Direction
• No bullish breakaway = No long trade.
• Prevents the temptation to countertrade in strong downtrends.
2. Catch the Trend Reversal
• When a bullish breakaway appears after an intraday low, it signals a potential reversal.
• You will need adjust position sizing, watch out liquidity hunt, and place stop loss.
• Best entries of your preferred choices: (this is your own trading edge)
Retest
Breakout
Engulf
MA cross over
Whatever your favorite approach
• Reversal signal is the strongest when price stays within/above the breakaway candle’s
range. Weak if it breaks below.
3. Higher Timeframe Confirmation
• 1m can give false reversals if new lows keep forming.
• 5m often provides cleaner signals and avoids premature reversals.
Failed Trade Example:
This indicator will repaint if a new intraday session low is updated. So it is possible to have a failed trade. Here is an example from the same session in 1m chart. However, if you enter the trade later at another bullish breakaway candle signal. The loss can be mitigated by the profit.
Therefore you should use smaller position size for your 1st trade. You should also considering using 5m chart to avoid 1m bull trap. In this example, if you use 5m chart, you can totally avoid this failed trade.
If you enter the trade, you will see the intraday low is stop loss hunted. You can also see the 1st bullish breakaway candle is super weak. There are a lot of candles below the breakaway candle low, so it is very possible to fail.
In the next chart, you can see the failed traded get stop loss hunted. However you can enter another trade with huge profit to win back the loss from the 1st trade if you follow the rule.
Summary
This indicator offers 3 main advantages:
1. Prevents wrong-direction trades.
2. Confirms trend entry after reversal signals.
3. Filters false positives using higher timeframes.
How to sharp your edge:
1. ⏳Extreme patience⏳: Do not guess the bottom during a downtrend before a confirmed bullish breakaway candle. If you get caught, have the courage to cut loss. This is literally the most important usage of this indicator. Again, this is the most important rule of this indicator and actually the hardest rule to follow.
2. 🛎Better Entry🛎: After a confirmed bullish breakaway, you will always have a good opportunity to enter the trade using established trading technique. Your edge will come from the position size, draw down, stop loss placement, risk/reward ratio.
3. ✂Cut loss fast✂: If you enter a trade according to the rule, but you are still not making profit for a period of time, and the price is below the low of the breakaway candle. It is very likely you may hit stop loss soon (intraday session low). It won't be a bad idea to cut loss before stop loss hit.
4. 🔂Reentry with confidence after stop loss🔂: a stop loss will not invalidate the indicator. If you see a second chance to reenter, you should still follow the trade guide and rule.
5. 🕔Time frame matter🕔: try 1m, 3m, 5m, 10m, 15m time frame. Over time, you should know what time frame work best for you and the market. Higher time frame will reduce the noise of false positive trade, but it comes with a higher stop loss placement and less max profit, however it may come with a lower draw down. Time frame will matter depending on the range of the session. If the session range is small (<0.5%), lower time frame is good. If session range is big (>1%), 5m time frame is better. Remember to wait for candle to close, if you use higher time frame.
Last Mention:
The indicator is only used for bullish side trading.
Timeframe Resistance Evaluation And Detection - CoffeeKillerTREAD - Timeframe Resistance Evaluation And Detection Guide
🔔 Important Technical Limitation 🔔
**This indicator does NOT fetch true higher timeframe data.** Instead, it simulates higher timeframe levels by aggregating data from your current chart timeframe. This means:
- Results will vary depending on what chart timeframe you're viewing
- Levels may not match actual higher timeframe candle highs/lows
- You might miss important wicks or gaps that occurred between chart timeframe bars
- **Always verify levels against actual higher timeframe charts before trading**
Welcome traders! This guide will walk you through the TREAD (Timeframe Resistance Evaluation And Detection) indicator, a multi-timeframe analysis tool developed by CoffeeKiller that identifies support and resistance confluence across different time periods.(I am 50+ year old trader and always thought I was bad a teaching and explaining so you get a AI guide. I personally use this on the 5 minute chart with the default settings, but to each there own and if you can improve the trend detection methods please DM me. I would like to see the code. Thanks)
Core Components
1. Dual Timeframe Level Tracking
- Short Timeframe Levels: Tracks opening price extremes within shorter periods
- Long Timeframe Levels: Tracks actual high/low extremes within longer periods
- Dynamic Reset Mechanism: Levels reset at the start of each new timeframe period
- Momentum Detection: Identifies when levels change mid-period, indicating active price movement
2. Visual Zone System
- High Zones: Areas between long timeframe highs and short timeframe highs
- Low Zones: Areas between long timeframe lows and short timeframe lows
- Fill Coloring: Dynamic colors based on whether levels are static or actively changing
- Momentum Highlighting: Special colors when levels break during active periods
3. Customizable Display Options
- Multiple Plot Styles: Line, circles, or cross markers
- Flexible Timeframe Selection: Wide range of short and long timeframe combinations
- Color Customization: Separate colors for each level type and momentum state
- Toggle Controls: Show/hide different elements based on trading preference
Main Features
Timeframe Settings
- Short Timeframe Options: 15m, 30m, 1h, 2h, 4h
- Long Timeframe Options: 1h, 2h, 4h, 8h, 12h, 1D, 1W
- Recommended Combinations:
- Scalping: 15m/1h or 30m/2h
- Day Trading: 30m/4h or 1h/4h
- Swing Trading: 4h/1D or 1D/1W
Display Configuration
- Level Visibility: Toggle short/long timeframe levels independently
- Fill Zone Control: Enable/disable colored zones between levels
- Momentum Fills: Special highlighting for actively changing levels
- Line Customization: Width, style, and color options for all elements
Color System
- Short TF High: Default red for resistance levels
- Short TF Low: Default green for support levels
- Long TF High: Transparent red for broader resistance context
- Long TF Low: Transparent green for broader support context
- Momentum Colors: Brighter colors when levels are actively changing
Technical Implementation Details
How Level Tracking Works
The indicator uses a custom tracking function that:
1. Detects Timeframe Periods: Uses `time()` function to identify when new periods begin
2. Tracks Extremes: Monitors highest/lowest values within each period
3. Resets on New Periods: Clears tracking when timeframe periods change
4. Updates Mid-Period: Continues tracking if new extremes are reached
The Timeframe Limitation Explained
`pinescript
// What the indicator does:
short_tf_start = ta.change(time(short_timeframe)) != 0 // Detects 30m period start
= track_highest(open, short_tf_start) // BUT uses chart TF opens!
// What true multi-timeframe would be:
// short_tf_high = request.security(syminfo.tickerid, short_timeframe, high)
`
This means:
- On a 5m chart with 30m/4h settings: Tracks 5m bar opens during 30m and 4h windows
- On a 1m chart with same settings: Tracks 1m bar opens during 30m and 4h windows
- Results will be different between chart timeframes
- May miss important price action that occurred between your chart's bars
Visual Elements
1. Level Lines
- Short TF High: Upper resistance line from shorter timeframe analysis
- Short TF Low: Lower support line from shorter timeframe analysis
- Long TF High: Broader resistance context from longer timeframe
- Long TF Low: Broader support context from longer timeframe
2. Zone Fills
- High Zone: Area between long TF high and short TF high (potential resistance cluster)
- Low Zone: Area between long TF low and short TF low (potential support cluster)
- Regular Fill: Standard transparency when levels are static
- Momentum Fill: Enhanced visibility when levels are actively changing
3. Dynamic Coloring
- Static Periods: Normal colors when levels haven't changed recently
- Active Periods: Momentum colors when levels are being tested/broken
- Confluence Zones: Different intensities based on timeframe alignment
Trading Applications
1. Support/Resistance Trading
- Entry Points: Trade bounces from zone boundaries
- Confluence Areas: Focus on areas where short and long TF levels cluster
- Zone Breaks: Enter on confirmed breaks through entire zones
- Multiple Timeframe Confirmation: Stronger signals when both timeframes align
2. Range Trading
- Zone Boundaries: Use fill zones as range extremes
- Mean Reversion: Trade back toward opposite zone when price reaches extremes
- Breakout Preparation: Watch for momentum color changes indicating potential breakouts
- Risk Management: Place stops outside the opposite zone
3. Trend Following
- Direction Bias: Trade in direction of zone breaks
- Pullback Entries: Enter on pullbacks to broken zones (now support/resistance)
- Momentum Confirmation: Use momentum coloring to confirm trend strength
- Multiple Timeframe Alignment: Strongest trends when both timeframes agree
4. Scalping Applications
- Quick Bounces: Trade rapid moves between zone boundaries
- Momentum Signals: Enter when momentum colors appear
- Short-Term Targets: Use opposite zone as profit target
- Tight Stops: Place stops just outside current zone
Optimization Guide
1. Timeframe Selection
For Different Trading Styles:
- Scalping: 15m/1h - Quick levels, frequent updates
- Day Trading: 30m/4h - Balanced view, good for intraday moves
- Swing Trading: 4h/1D - Longer-term perspective, fewer false signals
- Position Trading: 1D/1W - Major structural levels
2. Chart Timeframe Considerations
**Important**: Your chart timeframe affects results
- Lower Chart TF: More granular level tracking, but may be noisy
- Higher Chart TF: Smoother levels, but may miss important price action
- Recommended: Use chart timeframe 2-4x smaller than short indicator timeframe
3. Display Settings
- Busy Charts: Disable fills, show only key levels
- Clean Analysis: Enable all fills and momentum coloring
- Multi-Monitor Setup: Use different color schemes for easy identification
- Mobile Trading: Increase line width for visibility
Best Practices
1. Level Verification
- Always Cross-Check: Verify levels against actual higher timeframe charts
- Multiple Timeframes: Check 2-3 different chart timeframes for consistency
- Price Action Confirmation: Wait for candlestick confirmation at levels
- Volume Analysis: Combine with volume for stronger confirmation
2. Risk Management
- Stop Placement: Use zones rather than exact prices for stops
- Position Sizing: Reduce size when zones are narrow (higher risk)
- Multiple Targets: Scale out at different zone boundaries
- False Break Protection: Allow for minor zone penetrations
3. Signal Quality Assessment
- Momentum Colors: Higher probability when momentum coloring appears
- Zone Width: Wider zones often provide stronger support/resistance
- Historical Testing: Backtest on your preferred timeframe combinations
- Market Conditions: Adjust sensitivity based on volatility
Advanced Features
1. Momentum Detection System
The indicator tracks when levels change mid-period:
`pinescript
short_high_changed = short_high != short_high and not short_tf_start
`
This identifies:
- Active level testing
- Potential breakout situations
- Increased market volatility
- Trend acceleration points
2. Dynamic Color System
Complex conditional logic determines fill colors:
- Static Zones: Regular transparency for stable levels
- Active Zones: Enhanced colors for changing levels
- Mixed States: Different combinations based on user preferences
- Custom Overrides: User can prioritize certain color schemes
3. Zone Interaction Analysis
- Convergence: When short and long TF levels approach each other
- Divergence: When timeframes show conflicting levels
- Alignment: When both timeframes agree on direction
- Transition: When one timeframe changes while other remains static
Common Issues and Solutions
1. Inconsistent Levels
Problem: Levels look different on various chart timeframes
Solution: Always verify against actual higher timeframe charts
2. Missing Price Action
Problem: Important wicks or gaps not reflected in levels
Solution: Use chart timeframe closer to indicator's short timeframe setting
3. Too Many Signals
Problem: Excessive level changes and momentum alerts
Solution: Increase timeframe settings or reduce chart timeframe granularity
4. Lagging Signals
Problem: Levels seem to update too slowly
Solution: Decrease chart timeframe or use more sensitive timeframe combinations
Recommended Setups
Conservative Approach
- Timeframes: 4h/1D
- Chart: 1h
- Display: Show fills only, no momentum coloring
- Use: Swing trading, position management
Aggressive Approach
- Timeframes: 15m/1h
- Chart: 5m
- Display: All features enabled, momentum highlighting
- Use: Scalping, quick reversal trades
Balanced Approach
- Timeframes: 30m/4h
- Chart: 15m
- Display: Selective fills, momentum on key levels
- Use: Day trading, multi-session analysis
Final Notes
**Remember**: This indicator provides a synthetic view of multi-timeframe levels, not true higher timeframe data. While useful for identifying potential confluence areas, always verify important levels by checking actual higher timeframe charts.
**Best Results When**:
- Combined with actual multi-timeframe analysis
- Used for confluence confirmation rather than primary signals
- Applied with proper risk management
- Verified against price action and volume
**DISCLAIMER**: This indicator and its signals are intended solely for educational and informational purposes. The timeframe limitation means results may not reflect true higher timeframe levels. Always conduct your own analysis and verify levels independently before making trading decisions. Trading involves significant risk of loss.
DrawZigZag🟩 OVERVIEW
This library draws zigzag lines for existing pivots. It is designed to be simple to use. If your script creates pivots and you want to join them up while handling edge cases, this library does that quickly and efficiently. If you want your pivots created for you, choose one of the many other zigzag libraries that do that.
🟩 HOW TO USE
Pine Script libraries contain reusable code for importing into indicators. You do not need to copy any code out of here. Just import the library and call the function you want.
For example, for version 1 of this library, import it like this:
import SimpleCryptoLife/DrawZigZag/1
See the EXAMPLE USAGE sections within the library for examples of calling the functions.
For more information on libraries and incorporating them into your scripts, see the Libraries section of the Pine Script User Manual.
🟩 WHAT IT DOES
I looked at every zigzag library on TradingView, after finishing this one. They all seemed to fall into two groups in terms of functionality:
• Create the pivots themselves, using a combination of Williams-style pivots and sometimes price distance.
• Require an array of pivot information, often in a format that uses user-defined types.
My library takes a completely different approach.
Firstly, it only does the drawing. It doesn't calculate the pivots for you. This isn't laziness. There are so many ways to define pivots and that should be up to you. If you've followed my work on market structure you know what I think of Williams pivots.
Secondly, when you pass information about your pivots to the library function, you only need the minimum of pivot information -- whether it's a High or Low pivot, the price, and the bar index. Pass these as normal variables -- bools, ints, and floats -- on the fly as your pivots confirm. It is completely agnostic as to how you derive your pivots. If they are confirmed an arbitrary number of bars after they happen, that's fine.
So why even bother using it if all it does it draw some lines?
Turns out there is quite some logic needed in order to connect highs and lows in the right way, and to handle edge cases. This is the kind of thing one can happily outsource.
🟩 THE RULES
• Zigs and zags must alternate between Highs and Lows. We never connect a High to a High or a Low to a Low.
• If a candle has both a High and Low pivot confirmed on it, the first line is drawn to the end of the candle that is the opposite to the previous pivot. Then the next line goes vertically through the candle to the other end, and then after that continues normally.
• If we draw a line up from a Low to a High pivot, and another High pivot comes in higher, we *extend* the line up, and the same for lines down. Yes this is a form of repainting. It is in my opinion the only way to end up with a correct structure.
• We ignore lower highs on the way up and higher lows on the way down.
🟩 WHAT'S COOL ABOUT THIS LIBRARY
• It's simple and lightweight: no exported user-defined types, no helper methods, no matrices.
• It's really fast. In my profiling it runs at about ~50ms, and changing the options (e.g., trimming the array) doesn't make very much difference.
• You only need to call one function, which does all the calculations and draws all lines.
• There are two variations of this function though -- one simple function that just draws lines, and one slightly more advanced method that modifies an array containing the lines. If you don't know which one you want, use the simpler one.
🟩 GEEK STUFF
• There are no dependencies on other libraries.
• I tried to make the logic as clear as I could and comment it appropriately.
• In the `f_drawZigZags` function, the line variable is declared using the `var` keyword *inside* the function, for simplicity. For this reason, it persists between function calls *only* if the function is called from the global scope or a local if block. In general, if a function is called from inside a loop , or multiple times from different contexts, persistent variables inside that function are re-initialised on each call. In this case, this re-initialisation would mean that the function loses track of the previous line, resulting in incorrect drawings. This is why you cannot call the `f_drawZigZags` function from a loop (not that there's any reason to). The `m_drawZigZagsArray` does not use any internal `var` variables.
• The function itself takes a Boolean parameter `_showZigZag`, which turns the drawings on and off, so there is no need to call the function conditionally. In the examples, we do call the functions from an if block, purely as an illustration of how to increase performance by restricting the amount of code that needs to be run.
🟩 BRING ON THE FUNCTIONS
f_drawZigZags(_showZigZag, _isHighPivot, _isLowPivot, _highPivotPrice, _lowPivotPrice, _pivotIndex, _zigzagWidth, _lineStyle, _upZigColour, _downZagColour)
This function creates or extends the latest zigzag line. Takes real-time information about pivots and draws lines. It does not calculate the pivots. It must be called once per script and cannot be called from a loop.
Parameters:
_showZigZag (bool) : Whether to show the zigzag lines.
_isHighPivot (bool) : Whether the current bar confirms a high pivot. Note that pivots are confirmed after the bar in which they occur.
_isLowPivot (bool) : Whether the current bar confirms a low pivot.
_highPivotPrice (float) : The price of the high pivot that was confirmed this bar. It is NOT the high price of the current bar.
_lowPivotPrice (float) : The price of the low pivot that was confirmed this bar. It is NOT the low price of the current bar.
_pivotIndex (int) : The bar index of the pivot that was confirmed this bar. This is not an offset. It's the `bar_index` value of the pivot.
_zigzagWidth (int) : The width of the zigzag lines.
_lineStyle (string) : The style of the zigzag lines.
_upZigColour (color) : The colour of the up zigzag lines.
_downZagColour (color) : The colour of the down zigzag lines.
Returns: The function has no explicit returns. As a side effect, it draws or updates zigzag lines.
method m_drawZigZagsArray(_a_zigZagLines, _showZigZag, _isHighPivot, _isLowPivot, _highPivotPrice, _lowPivotPrice, _pivotIndex, _zigzagWidth, _lineStyle, _upZigColour, _downZagColour, _trimArray)
Namespace types: array
Parameters:
_a_zigZagLines (array)
_showZigZag (bool) : Whether to show the zigzag lines.
_isHighPivot (bool) : Whether the current bar confirms a high pivot. Note that pivots are usually confirmed after the bar in which they occur.
_isLowPivot (bool) : Whether the current bar confirms a low pivot.
_highPivotPrice (float) : The price of the high pivot that was confirmed this bar. It is NOT the high price of the current bar.
_lowPivotPrice (float) : The price of the low pivot that was confirmed this bar. It is NOT the low price of the current bar.
_pivotIndex (int) : The bar index of the pivot that was confirmed this bar. This is not an offset. It's the `bar_index` value of the pivot.
_zigzagWidth (int) : The width of the zigzag lines.
_lineStyle (string) : The style of the zigzag lines.
_upZigColour (color) : The colour of the up zigzag lines.
_downZagColour (color) : The colour of the down zigzag lines.
_trimArray (bool) : If true, the array of lines is kept to a maximum size of two lines (the line elements are not deleted). If false (the default), the array is kept to a maximum of 500 lines (the maximum number of line objects a single Pine script can display).
Returns: This function has no explicit returns but it modifies a global array of zigzag lines.
UTSConvenienceToolsLibrary "UTSConvenienceTools"
Convenience tool library containing helper functions for drawing and charting.
isDarkColor(color)
Determines on base of the luminance of the given color if the color can be considered a 'dark' color. Usefull for determining the readable font color for arbitrary colored backgrounds. Credits out to:
Parameters:
color (color) : (color): The actual color value.
Returns: (bool): A boolean value.
smallLabelLowerRight(txt, yPos, bgColor)
Displays the specified `txt` in a small label at the `yPos` of the current bar. The label points to the lower right.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
smallLabelUpperRight(txt, yPos, bgColor)
Displays the specified `txt` in a small label at the `yPos` of the current bar. The label points to the upper right.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
smallLabelCenter(txt, yPos, bgColor)
Displays the specified `txt` in a small label at the `yPos` of the current bar. The label points to the center.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
smallLabelDown(txt, yPos, bgColor)
Displays the specified `txt` in a small label at the `yPos` of the current bar. The label points down.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
smallLabelUp(txt, yPos, bgColor)
Displays the specified `txt` in a small label at the `yPos` of the current bar. The label points down.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
normalLabelLowerRight(txt, yPos, bgColor)
Displays the specified `txt` in a normal label at the `yPos` of the current bar. The label points to the lower right.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
normalLabelUpperRight(txt, yPos, bgColor)
Displays the specified `txt` in a normal label at the `yPos` of the current bar. The label points to the upper right.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
normalLabelCenter(txt, yPos, bgColor)
Displays the specified `txt` in a normal label at the `yPos` of the current bar. The label points to the center.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
normalLabelDown(txt, yPos, bgColor)
Displays the specified `txt` in a normal label at the `yPos` of the current bar. The label points down.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
normalLabelUp(txt, yPos, bgColor)
Displays the specified `txt` in a normal label at the `yPos` of the current bar. The label points down.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
largeLabelLowerRight(txt, yPos, bgColor)
Displays the specified `txt` in a large label at the `yPos` of the current bar. The label points to the lower right.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
largeLabelUpperRight(txt, yPos, bgColor)
Displays the specified `txt` in a large label at the `yPos` of the current bar. The label points to the upper right.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
largeLabelCenter(txt, yPos, bgColor)
Displays the specified `txt` in a large label at the `yPos` of the current bar. The label points to the center.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
largeLabelDown(txt, yPos, bgColor)
Displays the specified `txt` in a large label at the `yPos` of the current bar. The label points down.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
largeLabelUp(txt, yPos, bgColor)
Displays the specified `txt` in a large label at the `yPos` of the current bar. The label points down.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
autoLabelLowerRight(txt, yPos, bgColor)
Displays the specified `txt` in a auto label at the `yPos` of the current bar. The label points to the lower right.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
autoLabelUpperRight(txt, yPos, bgColor)
Displays the specified `txt` in a auto label at the `yPos` of the current bar. The label points to the upper right.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
autoLabelCenter(txt, yPos, bgColor)
Displays the specified `txt` in a auto label at the `yPos` of the current bar. The label points to the center.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
autoLabelDown(txt, yPos, bgColor)
Displays the specified `txt` in a auto label at the `yPos` of the current bar. The label points down.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned above the candle pass 'high'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
autoLabelUp(txt, yPos, bgColor)
Displays the specified `txt` in a auto label at the `yPos` of the current bar. The label points down.
Parameters:
txt (string)
yPos (float) : (float): The y-position value. To have it positioned below the candle pass 'low'.
bgColor (color) : (color): The background color value.
Returns: (bool): A boolean value.
Fractal Breakout Trend Following System█ OVERVIEW
The Fractal Breakout Trend Following System is a custom technical analysis tool designed to pinpoint significant fractal pivot points and breakout levels. By analyzing price action through configurable pivot parameters, this indicator dynamically identifies key support and resistance zones. It not only marks crucial highs and lows on the chart but also signals potential trend reversals through real-time breakout detections, helping traders capture shifts in market momentum.
█ KEY FEATURES
Fractal Pivot Detection
Utilizes user-defined left and right pivot lengths to detect local highs (pivot highs) and lows (pivot lows). This fractal-based approach ensures that only meaningful price moves are considered, effectively filtering out minor market noise.
Dynamic Line Visualization
Upon confirmation of a pivot, the system draws a dynamic line representing resistance (from pivot highs) or support (from pivot lows). These lines extend across the chart until a breakout occurs, offering a continuous visual guide to key levels.
Trend Breakout Signals
Monitors for price crossovers relative to the drawn pivot lines. A crossover above a resistance line signals a bullish breakout, while a crossunder below a support line indicates a bearish move, thus updating the prevailing trend.
Pivot Labelling
Assigns labels such as "HH", "LH", "LL", or "HL" to detected pivots based on their relative values.
It uses the following designations:
HH (Higher High) : Indicates that the current pivot high is greater than the previous pivot high, suggesting continued upward momentum.
LH (Lower High) : Signals that the current pivot high is lower than the previous pivot high, which may hint at a potential reversal within an uptrend.
LL (Lower Low) : Shows that the current pivot low is lower than the previous pivot low, confirming sustained downward pressure.
HL (Higher Low) : Reveals that the current pivot low is higher than the previous pivot low, potentially indicating the beginning of an upward reversal in a downtrend.
These labels provide traders with immediate insight into the market structure and recent price behavior.
Customizable Visual Settings
Offers various customization options:
• Adjust pivot sensitivity via left/right pivot inputs.
• Toggle pivot labels on or off.
• Enable background color changes to reflect bullish or bearish trends.
• Choose preferred colors for bullish (e.g., green) and bearish (e.g., red) signals.
█ UNDERLYING METHODOLOGY & CALCULATIONS
Fractal Pivot Calculation
The script employs a sliding window technique using configurable left and right parameters to identify local highs and lows. Detected pivot values are sanitized to ensure consistency in subsequent calculations.
Dynamic Line Plotting
When a new pivot is detected, a corresponding line is drawn from the pivot point. This line extends until the price breaks the level, at which point it is reset. This method provides a continuous reference for support and resistance.
Trend Breakout Identification
By continuously monitoring price interactions with the pivot lines, the indicator identifies breakouts. A price crossover above a resistance line suggests a bullish breakout, while a crossunder below a support line indicates a bearish shift. The current trend is updated accordingly.
Pivot Label Assignment
The system compares the current pivot with the previous one to determine if the move represents a higher high, lower high, higher low, or lower low. This classification helps traders understand the underlying market momentum.
█ HOW TO USE THE INDICATOR
1 — Apply the Indicator
• Add the Fractal Breakout Trend Following System to your chart to begin visualizing dynamic pivot points and breakout signals.
2 — Adjust Settings for Your Market
• Pivot Detection – Configure the left and right pivot lengths for both highs and lows to suit your desired sensitivity:
- Use shorter lengths for more responsive signals in fast-moving markets.
- Use longer lengths to filter out minor fluctuations in volatile conditions.
• Visual Customization – Toggle the display of pivot labels and background color changes. Select your preferred colors for bullish and bearish trends.
3 — Interpret the Signals
• Support & Resistance Lines – Observe the dynamically drawn lines that represent key pivot levels.
• Pivot Labels – Look for labels like "HH", "LH", "LL", and "HL" to quickly assess market structure and trend behavior.
• Trend Signals – Watch for price crossovers and corresponding background color shifts to gauge bullish or bearish breakouts.
4 — Integrate with Your Trading Strategy
• Use the identified pivot points as potential support and resistance levels.
• Combine breakout signals with other technical indicators for comprehensive trade confirmation.
• Adjust the sensitivity settings to tailor the indicator to various instruments and market conditions.
█ CONCLUSION
The Fractal Breakout Trend Following System offers a robust framework for identifying critical fractal pivot points and potential breakout opportunities. With its dynamic line plotting, clear pivot labeling, and customizable visual settings, this indicator equips traders with actionable insights to enhance decision-making and optimize entry and exit strategies.
One Trading Setup for Life ICT [TradingFinder] Sweep Session FVG🔵 Introduction
ICT One Trading Setup for Life is a trading strategy based on liquidity and market structure shifts, utilizing the PM Session Sweep to determine price direction. In this strategy, the market first forms a price range during the PM Session (from 13:30 to 16:00 EST), which includes the highest high (PM Session High) and lowest low (PM Session Low).
In the next session, the price first touches one of these levels to trigger a Liquidity Hunt before confirming its trend by breaking the Change in State of Delivery (CISD) Level. After this confirmation, the price retraces toward a Fair Value Gap (FVG) or Order Block (OB), which serve as the best entry points in alignment with liquidity.
In financial markets, liquidity is the primary driver of price movement, and major market participants such as institutional investors and banks are constantly seeking liquidity at key levels. This process, known as Liquidity Hunt or Liquidity Sweep, occurs when the price reaches an area with a high concentration of orders, absorbs liquidity, and then reverses direction.
In this setup, the PM Session range acts as a trading framework, where its highs and lows function as key liquidity zones that influence the next session’s price movement. After the New York market opens at 9:30 EST, the price initially breaks one of these levels to capture liquidity.
However, for a trend shift to be confirmed, the CISD Level must be broken.
Once the CISD Level is breached, the price retraces toward an FVG or OB, which serve as optimal trade entry points.
Bullish Setup :
Bearish Setup :
🔵 How to Use
In this strategy, the PM Session range is first identified, which includes the highest high (PM Session High) and lowest low (PM Session Low) between 13:30 and 16:00 EST. In the following session, the price touches one of these levels for a Liquidity Hunt, followed by a break of the Change in State of Delivery (CISD) Level. The price then retraces toward a Fair Value Gap (FVG) or Order Block (OB), creating a trading opportunity.
This process can occur in two scenarios : bearish and bullish setups.
🟣 Bullish Setup
In a bullish scenario, the PM Session High and PM Session Low are identified. In the following session, the price first breaks the PM Session Low, absorbing liquidity. This process results in a Fake Breakout to the downside, misleading retail traders into taking short positions.
After the Liquidity Hunt, the CISD Level is broken, confirming a trend reversal. The price then retraces toward an FVG or OB, offering an optimal long entry opportunity.
The initial take-profit target is the PM Session High, but if higher timeframe liquidity levels exist, extended targets can be set.
The stop-loss should be placed below the Fake Breakout low or the first candle of the FVG.
🟣 Bearish Setup
In a bearish scenario, the market first defines its PM Session High and PM Session Low. In the next session, the price initially breaks the PM Session High, triggering a Liquidity Hunt. This movement often causes a Fake Breakout, misleading retail traders into taking incorrect positions.
After absorbing liquidity, the CISD Level breaks, indicating a shift in market structure. The price then retraces toward an FVG or OB, offering the best short entry opportunity.
The initial take-profit target is the PM Session Low, but if additional liquidity exists on higher timeframes, lower targets can be considered.
The stop-loss should be placed above the Fake Breakout high or the first candle of the FVG.
🔵 Setting
CISD Bar Back Check : The Bar Back Check option enables traders to specify the number of past candles checked for identifying the CISD Level, enhancing CISD Level accuracy on the chart.
Order Block Validity : The number of candles that determine the validity of an Order Block.
FVG Validity : The duration for which a Fair Value Gap remains valid.
CISD Level Validity : The duration for which a CISD Level remains valid after being broken.
New York PM Session : Defines the PM Session range from 13:30 to 16:00 EST.
New York AM Session : Defines the AM Session range from 9:30 to 16:00 EST.
Refine Order Block : Enables finer adjustments to Order Block levels for more accurate price responses.
Mitigation Level OB : Allows users to set specific reaction points within an Order Block, including: Proximal: Closest level to the current price. 50% OB: Midpoint of the Order Block. Distal: Farthest level from the current price.
FVG Filter : The Judas Swing indicator includes a filter for Fair Value Gap (FVG), allowing different filtering based on FVG width: FVG Filter Type: Can be set to "Very Aggressive," "Aggressive," "Defensive," or "Very Defensive." Higher defensiveness narrows the FVG width, focusing on narrower gaps.
Mitigation Level FVG : Like the Order Block, you can set price reaction levels for FVG with options such as Proximal, 50% OB, and Distal.
Demand Order Block : Enables or disables bullish Order Block.
Supply Order Block : Enables or disables bearish Order Blocks.
Demand FVG : Enables or disables bullish FVG.
Supply FVG : Enables or disables bearish FVGs.
Show All CISD : Enables or disables the display of all CISD Levels.
Show High CISD : Enables or disables high CISD levels.
Show Low CISD : Enables or disables low CISD levels.
🔵 Conclusion
The ICT One Trading Setup for Life is a liquidity-based strategy that leverages market structure shifts and precise entry points to identify high-probability trade opportunities. By focusing on PM Session High and PM Session Low, this setup first captures liquidity at these levels and then confirms trend shifts with a break of the Change in State of Delivery (CISD) Level.
Entering a trade after a retracement to an FVG or OB allows traders to position themselves at optimal liquidity levels, ensuring high reward-to-risk trades. When used in conjunction with higher timeframe bias, order flow, and liquidity analysis, this strategy can become one of the most effective trading methods within the ICT Concept framework.
Successful execution of this setup requires risk management, patience, and a deep understanding of liquidity dynamics. Traders can enhance their confidence in this strategy by conducting extensive backtesting and analyzing past market data to optimize their approach for different assets.