Deadzone Pro @DaviddTechDeadzone Pro by @DaviddTech – Adaptive Multi-Strategy NNFX Trading System
Deadzone Pro by @DaviddTech is a meticulously engineered trading indicator that strictly adheres to the No-Nonsense Forex (NNFX) methodology. It integrates adaptive trend detection, dual confirmation indicators, advanced volatility filtering, and dynamic risk management into one powerful, visually intuitive system. Ideal for traders seeking precision and clarity, this indicator consistently delivers high-probability trade setups across all market conditions.
🔥 Key Features:
The Setup:
Adaptive Hull Moving Average Baseline: Clearly identifies trend direction using an advanced, gradient-colored Hull MA that intensifies based on trend strength, providing immediate visual clarity.
Dual Confirmation Indicators: Combines Waddah Attar Explosion (momentum detector) and Bull/Bear Power (strength gauge) for robust validation, significantly reducing false entries.
Volatility Filter (ADX): Ensures entries are only made during strong trending markets, filtering out weak, range-bound scenarios for enhanced trade accuracy.
Dynamic Trailing Stop Loss: Implements a SuperTrend-based trailing stop using adaptive ATR calculations, managing risk effectively while optimizing exits.
Dashboard:
💎 Gradient Visualization & User Interface:
Dynamic gradient colors enhance readability, clearly indicating bullish/bearish strength.
Comprehensive dashboard summarizes component statuses, real-time market sentiment, and entry conditions at a glance.
Distinct and clear buy/sell entry and exit signals, with adaptive stop-loss levels visually plotted.
Candlestick coloring based on momentum signals (Waddah Attar) for intuitive market reading.
📈 How to Interpret Signals:
Bullish Signal: Enter when Hull MA baseline trends upward, both confirmation indicators align bullish, ADX indicates strong trend (>25), and price breaks above the previous trailing stop.
Bearish Signal: Enter short or exit long when Hull MA baseline trends downward, confirmations indicate bearish momentum, ADX confirms trend strength, and price breaks below previous trailing stop.
📊 Recommended Usage:
Timeframes: Ideal on 1H, 4H, and Daily charts for swing trading; effective on shorter (5M, 15M) charts for day trading.
Markets: Compatible with Forex, Crypto, Indices, Stocks, and Commodities.
The Entry & Exit:
🎯 Trading Styles:
Choose from three distinct trading modes:
Conservative: Requires full alignment of all indicators for maximum accuracy.
Balanced (Default): Optimized balance between signal frequency and reliability.
Aggressive: Fewer confirmations needed for more frequent trading signals.
📝 Credits & Originality:
Deadzone Pro incorporates advanced concepts inspired by:
Hull Moving Average by @Julien_Eche
Waddah Attar Explosion by @LazyBear
Bull Bear Power by @Pinecoders
ADX methodology by @BeikabuOyaji
This system has been significantly refactored and enhanced by @DaviddTech to maximize synergy, clarity, and usability, standing apart distinctly from its original components.
Deadzone Pro exemplifies precision and discipline, aligning fully with NNFX principles to provide traders with a comprehensive yet intuitive trading advantage.
Educational
Tetris with Auto-PlayThis indicator is implemented in Pine Script™ v6 and serves as a demonstration of TradingView's capabilities. The core concept is to simulate a classic Tetris game by creating a grid-based environment and managing game state entirely within Pine Script.
Key Technical Aspects:
Grid Representation:
The script defines a custom grid structure using a user-defined type that holds the grid’s dimensions and a one-dimensional array to simulate a two-dimensional board. This structure is used to track occupied cells, clear full rows, and determine stack height.
Piece Management:
A second custom type is used to represent the state of a tetromino piece, including its type, rotation, and position. The code includes functions to calculate the block offsets for each tetromino based on its rotation state.
Collision Detection and Piece Locking:
Dedicated functions check for collisions against the grid borders and existing blocks. When a collision is detected during a downward move, the piece is locked into the grid, and any complete lines are cleared.
AIgo-Driven Placement:
The script incorporates a simple heuristic to determine the best placement for the next tetromino. It simulates different rotations and horizontal positions, evaluating each based on aggregated column height, cleared lines, holes, and bumpiness. This decision-making process is encapsulated in an AI-like function that returns the optimal rotation and placement.
Rendering Using Tables:
The visual representation is managed via TradingView’s table objects. The game board is rendered with a bordered layout, while a separate preview table displays the next piece and the current score. Each cell is updated with text and background colors that correspond to the state of the game.
Execution Flow and Timing:
The main execution loop handles real-time updates by dropping pieces at set intervals and checking for game-over conditions. The code leverages persistent variables and time comparisons to control game speed and manage transitions between piece drops.
Executing:
Add the indicator to the chart
It starts playing itself till game over
There are no parameters to change in this version but the grid in the code directly
p.s. Sadly we have no interactive buttons in the current pinescript versions to play ourself, but its about the possibilitys what we could do ;-)
Maybe in a future version there is more possible, if i find time to enhance and expand the idea
Have fun :-)
2013-2025 EclipsesIndicator Description: 2013-2025 Eclipses
This Pine Script (version 5) indicator overlays solar and lunar eclipse events on a TradingView chart, covering the period from 2013 to 2025. It is designed for traders and astrology enthusiasts who wish to visualize these significant astronomical events alongside price action, potentially identifying correlations with market movements or key turning points.
Features:
Eclipses:
Visualization: Displayed as a semi-transparent aqua background highlight across the chart.
Data: Includes 48 specific eclipse dates (both solar and lunar) from April 25, 2013, to September 21, 2025.
Purpose: Highlights dates of eclipses, which are often considered powerful astrological events associated with sudden changes, revelations, or significant shifts in energy and market sentiment.
Technical Details:
Overlay: The indicator is set to overlay=true, ensuring it displays directly on the price chart rather than in a separate pane.
Date Matching: Utilizes a helper function is_date(y, m, d) to determine if the current chart date matches any of the predefined eclipse dates, using TradingView's year, month, and dayofmonth variables.
Visualization Method:
bgcolor: Applies a light aqua background (using color.new(color.aqua, 85)) on the specific dates of eclipses. The transparency level of 85 allows price action to remain visible through the highlight.
Time Range: Spans from April 2013 to September 2025, covering a 12+ year period of eclipse events.
Usage:
Add the script to your TradingView chart to see eclipse dates highlighted with an aqua background on your chosen symbol and timeframe.
The background highlight appears only on the exact dates of eclipses, making it easy to spot these events amidst price data.
Ideal for those incorporating astrological analysis into trading or studying the potential impact of eclipses on financial markets.
Notes:
The script uses a single-line definition for eclipse_dates to ensure compatibility with Pine Script v5 syntax and avoid line continuation errors.
The aqua color matches the original circle-based visualization, with transparency adjustable via the color.new(color.aqua, 85) parameter (0 = fully opaque, 100 = fully transparent).
Works best on daily or higher timeframes for clear visibility of individual eclipse dates, though it functions on any TradingView-supported timeframe.
Eclipse dates should be cross-checked with astronomical sources for critical applications, as the script relies on the provided data accuracy.
Purpose:
This indicator provides a straightforward way to track eclipses over a 12-year period, offering a visual representation of these potent celestial events. By using a background highlight instead of markers, it maintains chart clarity while emphasizing the specific days when eclipses occur, potentially aiding in the analysis of their influence on market behavior or personal trading strategies.
Price Action Volumetric Order Blocks [StratifyTrade]// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © StratifyTrade
//@version=5
indicator("Price Action Volumetric Order Blocks ", "StratifyTrade - Price Action Volumetric Order Blocks ", overlay = true, max_bars_back = 5000, max_boxes_count = 500, max_labels_count = 500, max_lines_count = 500)
const color colup = #089981
const color coldn = #f23645
const string tm = " Use Length to adjust cordinate of the orderblocks Use whole candle body"
const string tn = "Mitigation method for when to trigger order blocks"
const string tj = "Order block Metrics text size"
const string ta = 'Display internal buy & sell activity'
const string ts = 'Show Last number of orderblocks'
const string gv = "Volumetric Order Blocks"
obshow = input.bool (true , "Show Last" , ts, '1', gv)
oblast = input.int (5 , "" , 0, 50, 1 , inline = '1', group = gv)
obupcs = input.color (color.new(colup, 90), "" , inline = '1', group = gv)
obdncs = input.color (color.new(coldn, 90), "" , inline = '1', group = gv)
obshowactivity = input.bool (true , "Show Buy/Sell Activity ", ta, '2', gv)
obactup = input.color (color.new(colup, 50), "" , inline = '2', group = gv)
obactdn = input.color (color.new(coldn, 50), "" , inline = '2', group = gv)
obmode = input.string("Length" , "Construction " , , tm, '3', gv)
len = input.int (5 , "" , 1, 20, 1 , inline = '3', group = gv)
obmiti = input.string("Close" , "Mitigation Method" , , tn, group = gv)
obtxt = input.string("Normal" , "Metric Size" , , tj, group = gv)
showmetric = input.bool (true , "Show Metrics" , group = gv)
showline = input.bool (true , "Show Mid-Line" , group = gv)
overlap = input.bool (true , "Hide Overlap" , group = gv, tooltip = "Most recent order block will be preserved")
blcreated = input.bool(false , "Bullish OB Formed " , inline = "Formed" , group = "ANY ALERT")
brcreated = input.bool(false , "Bearish OB Formed" , inline = "Formed" , group = "ANY ALERT")
blmitigated = input.bool(false , "Bullish OB Mitigated " , inline = "Mitigated" , group = "ANY ALERT")
brmitigated = input.bool(false , "Bearish OB Mitigated" , inline = "Mitigated" , group = "ANY ALERT")
blinside = input.bool(false , "Price Inside Bullish OB" , inline = "Inside" , group = "ANY ALERT")
brinside = input.bool(false , "Price Inside Bearish OB" , inline = "Inside" , group = "ANY ALERT")
type bar
float o = open
float h = high
float l = low
float c = close
float v = volume
int i = bar_index
int t = time
type ob
float top
float btm
float avg
int loc
color css
float vol
int dir
int move
int blPOS
int brPOS
int xlocbl
int xlocbr
type alert
bool created = false
bool inside = false
bool mitigated = false
type cross
bool reset = false
bar b = bar .new()
alert blal = alert.new()
alert bral = alert.new()
var cross blIS = cross.new()
var cross brIS = cross.new()
method txSz(string s) =>
out = switch s
"Tiny" => size.tiny
"Small" => size.small
"Normal" => size.normal
"Large" => size.large
"Huge" => size.huge
out
method display(ob id, ob full, int i) =>
box.new (top = id.top, bottom = id.btm, left = id.loc, right = b.t , border_color = na, bgcolor = id.css, xloc = xloc.bar_time)
box.new (top = id.top, bottom = id.btm, left = b.t , right = b.t + 1 , border_color = na, bgcolor = id.css, xloc = xloc.bar_time, extend = extend.right)
if obshowactivity
box.new(top = id.top, bottom = id.avg, left = id.loc, right = id.xlocbl, border_color = na, bgcolor = obactup, xloc = xloc.bar_time)
box.new(top = id.avg, bottom = id.btm, left = id.loc, right = id.xlocbr, border_color = na, bgcolor = obactdn, xloc = xloc.bar_time)
if showline
line.new(
x1 = id.loc
, x2 = b.t
, y1 = id.avg
, y2 = id.avg
, color = color.new(id.css, 0)
, xloc = xloc.bar_time
, style = line.style_dashed
)
if showmetric
if i == math.min(oblast - 1, full.size() - 1)
float tV = 0
float dV = array.new()
seq = math.min(oblast - 1, full.size() - 1)
for j = 0 to seq
cV = full.get(j)
tV += cV.vol
if j == seq
for y = 0 to seq
dV.push(
math.floor(
(full.get(y).vol / tV) * 100)
)
id = full.get(y)
label.new(
b.i + 1
, id.avg
, textcolor = color.new(id.css, 0)
, style = label.style_label_left
, size = obtxt.txSz()
, color = #ffffff00
, text =
str.tostring(
math.round(full.get(y).vol, 3), format = format.volume) + " (" + str.tostring(dV.get(y)) + "%)"
)
method overlap(ob id) =>
if id.size() > 1
for i = id.size() - 1 to 1
stuff = id.get(i)
current = id.get(0)
switch
stuff.btm > current.btm and stuff.btm < current.top => id.remove(i)
stuff.top < current.top and stuff.btm > current.btm => id.remove(i)
stuff.top > current.top and stuff.btm < current.btm => id.remove(i)
stuff.top < current.top and stuff.top > current.btm => id.remove(i)
method umt(ob metric) =>
switch metric.dir
1 =>
switch metric.move
1 => metric.blPOS := metric.blPOS + 1, metric.move := 2
2 => metric.blPOS := metric.blPOS + 1, metric.move := 3
3 => metric.brPOS := metric.brPOS + 1, metric.move := 1
-1 =>
switch metric.move
1 => metric.brPOS := metric.brPOS + 1, metric.move := 2
2 => metric.brPOS := metric.brPOS + 1, metric.move := 3
3 => metric.blPOS := metric.blPOS + 1, metric.move := 1
if (b.t - b.t ) == (b.t - b.t )
metric.xlocbl := metric.loc + (b.t - b.t ) * metric.blPOS
metric.xlocbr := metric.loc + (b.t - b.t ) * metric.brPOS
fnOB() =>
var ob blob = array.new()
var ob brob = array.new()
var int dir = 0
up = ta.highest ( len )
dn = ta.lowest ( len )
pv = ta.pivothigh(b.v, len, len)
dir := b.h > up ? -1 : b.l < dn ? 1 : dir
atr = ta.atr(len)
btmP = obmode == "Length" ? (b.h - 1 * atr ) < b.l ? b.l : (b.h - 1 * atr ) : b.l
topP = obmode == "Length" ? (b.l + 1 * atr ) > b.h ? b.h : (b.l + 1 * atr ) : b.h
if pv and dir == 1
blob.unshift(
ob.new(
topP
, b.l
, math.avg(topP, b.l )
, b.t
, obupcs
, b.v
, b.c > b.o ? 1 : -1
, 1
, 0
, 0
, b.t
)
)
blal.created := true
blIS.reset := false
if pv and dir == -1
brob.unshift(
ob.new(
b.h
, btmP
, math.avg(btmP, b.h )
, b.t
, obdncs
, b.v
, b.c > b.o ? 1 : -1
, 1
, 0
, 0
, b.t
)
)
bral.created := true
brIS.reset := false
if blob.size() > 0 and barstate.isconfirmed
for in blob
for j = 0 to len - 1
if obmiti == "Close" ? math.min(b.c , b.o ) < ob.btm : obmiti == "Wick" ? b.l < ob.btm : obmiti == "Avg" ? b.l < ob.avg : na
blob.remove(i)
blal.mitigated := true
break
if brob.size() > 0 and barstate.isconfirmed
for in brob
for j = 0 to len - 1
if obmiti == "Close" ? math.max(b.c , b.o ) > ob.top : obmiti == "Wick" ? b.h > ob.top : obmiti == "Avg" ? b.h > ob.avg : na
brob.remove(i)
bral.mitigated := true
break
if blob.size() > 0
for in blob
metric.umt()
if brob.size() > 0
for in brob
metric.umt()
if overlap
blob.overlap()
brob.overlap()
if barstate.isconfirmed
if blob.size() > 0
ob = blob.get(0)
if low < ob.top and blIS.reset == false
blal.inside := true
blIS.reset := true
if brob.size() > 0
ob = brob.get(0)
if high > ob.btm and brIS.reset == false
bral.inside := true
brIS.reset := true
if barstate.islast
for bx in box.all
bx.delete()
for ln in line.all
ln.delete()
for lb in label.all
lb.delete()
if blob.size() > 0
for i = 0 to math.min(oblast - 1, blob.size() - 1)
blob.get(i).display(blob, i)
if brob.size() > 0
for i = 0 to math.min(oblast - 1, brob.size() - 1)
brob.get(i).display(brob, i)
if obshow
fnOB()
if blinside and blal.inside
alert("Price Inside Bullish OB")
if blcreated and blal.created
alert("Bullish OB Formed")
if blmitigated and blal.mitigated
alert("Bullish OB Mitigated")
if brinside and bral.inside
alert("Price Inside Bearish OB")
if brcreated and bral.created
alert("Bearish OB Formed")
if brmitigated and bral.mitigated
alert("Bearish OB Mitigated")
Circuit Breaker - MFFUThis Indicator Is Used To Protect User From Over Trading After Market Hit The Circuit Breakers.
The CME Exchange Usually Halts Trading If Market Hit + or - 7%.
To Protect Users From Extreme Volatile Condition MFFU, Halts Trading If Market Hits + or - 5%.
This Indicator helps us to plot the circuit breaking lines helping us to when to stop trading.
XLevel% PULL BACKThis is simple pull back indicator plotted to your chart . 10% - 70% and it will alert you when price is crossing from those levels.
EMA5 vs EMA13 Crossover (1D)1dklık ema5 vs ema13 crossover deneme bununla 1 dk lık al sat verısı ıncelıyorum
[nikosign] label stylesWhen displaying the label style sheet on a one-minute chart, 20 different label samples will be shown.
ORB - Futures and Stocks (Breakouts + Alerts + ORB Selector)This indicator shows the Opening Range Breakout (ORB) based on the time range you choose.
Important:
It only works for intraday trading on time frames less than 1 day (like 1-minute, 5-minute, or hourly charts).
You can use it with any stock or futures, such as US500, NAS100, or GER40.
Inputs:
ORB Range - Your preference.
Session Start
Time Zone Offset
Examples:
for EU Frankfurt, DAX (GER40):
Set your ORB range
Session Start 0900
Time Zone Offset +1
For US Stock Market and US500, NAS100:
Set your ORB range
Session Start 0930
Time Zone Offset -5
Created using ChatGPT
XLevel%W52This is a simple yet very helpful indicator.
On the top fuchsia color is % change from 52 weeks low.
In the middle yellow line is %change from last year close. Year to date % change.
On the bottom aqua color is % pull back from 52 weeks high. Which I use for entries to trends.
Daily & Weekly BoxesThis indicator draws colored boxes to highlight key trading ranges:
DAILY BOXES
Shows price range (high/low) for each trading day (Mon-Fri).
Adjusts for market close at 5 PM ET
Custom colors for each weekday.
WEEKLY BOXES
Displays previous week's trading range.
Helps identify support/resistance levels.
Fair Value Gap - Clean & Labeledmade a script for FVGs pretty basic sorry you can not really see the lettering very well but it works.
Weekly Levels Prep (Smart Weekly Candle)This script draws key weekly levels based on the most recent completed weekly candle (Monday–Friday). It automatically calculates and plots:
✅ Weekly High & Low
✅ Midpoint (50% level)
✅ Extension levels above and below
All levels are dynamically updated every new week and are visually marked with clean color-coded horizontal lines. Price values are shown near the price axis for clear visibility across all timeframes.
Great for:
Weekly preparation
Swing trading setups
Mean reversion and range breakouts
🔄 Works on all timeframes
🔍 Lightweight and non-intrusive
Built by a trader, for traders. 💼📈
Days Live CounterThis quite simply tracks how many days an asset has been on Trading View for.
The indicator calculates the day count based on the timestamp of the first visible bar in your current chart view. Since monthly charts generally load data from further back in time than daily or intraday charts, they'll show a larger day count.
This isn't a bug in the indicator - it's correctly counting the days from the first bar it can see in each timeframe.
Custom % Drop from HighInvest long term on market, SP500, Nasdaq100. It's a drop down and buy dip opportunity. adjust the dip percentage
RK_RAVI [RK_RAVI]this indicator includes
eme20
ema50
tr true range
atr averave true range
datr daily average true range
Bitcoin Global Liquidity OverlayThis overlay shows the relationship between global liquidity and BTC. Future versions will project the data into the future.
Highlight London Session (12:30 to 3:30 IST)The very first Pine Script code was designed to highlight the London trading session, specifically from 12:30 PM to 3:30 PM IST, which corresponds to 7:00 AM to 10:00 AM in UTC. During this window, the script monitored the highest and lowest prices reached and, once the session ended, it automatically plotted horizontal lines at those high and low levels. These lines stayed on the chart to provide a clear visual reference of the London session range, making it easier for traders to spot key areas of support and resistance. This is especially useful for identifying potential breakouts, liquidity grabs, or retests later in the day. The script didn’t include any visual boxes or background highlights—just clean, simple lines that marked the session's price boundaries for strategic analysis.
Z-Score Normalized Volatility IndicesVolatility is one of the most important measures in financial markets, reflecting the extent of variation in asset prices over time. It is commonly viewed as a risk indicator, with higher volatility signifying greater uncertainty and potential for price swings, which can affect investment decisions. Understanding volatility and its dynamics is crucial for risk management and forecasting in both traditional and alternative asset classes.
Z-Score Normalization in Volatility Analysis
The Z-score is a statistical tool that quantifies how many standard deviations a given data point is from the mean of the dataset. It is calculated as:
Z = \frac{X - \mu}{\sigma}
Where X is the value of the data point, \mu is the mean of the dataset, and \sigma is the standard deviation of the dataset. In the context of volatility indices, the Z-score allows for the normalization of these values, enabling their comparison regardless of the original scale. This is particularly useful when analyzing volatility across multiple assets or asset classes.
This script utilizes the Z-score to normalize various volatility indices:
1. VIX (CBOE Volatility Index): A widely used indicator that measures the implied volatility of S&P 500 options. It is considered a barometer of market fear and uncertainty (Whaley, 2000).
2. VIX3M: Represents the 3-month implied volatility of the S&P 500 options, providing insight into medium-term volatility expectations.
3. VIX9D: The implied volatility for a 9-day S&P 500 options contract, which reflects short-term volatility expectations.
4. VVIX: The volatility of the VIX itself, which measures the uncertainty in the expectations of future volatility.
5. VXN: The Nasdaq-100 volatility index, representing implied volatility in the Nasdaq-100 options.
6. RVX: The Russell 2000 volatility index, tracking the implied volatility of options on the Russell 2000 Index.
7. VXD: Volatility for the Dow Jones Industrial Average.
8. MOVE: The implied volatility index for U.S. Treasury bonds, offering insight into expectations for interest rate volatility.
9. BVIX: Volatility of Bitcoin options, a useful indicator for understanding the risk in the cryptocurrency market.
10. GVZ: Volatility index for gold futures, reflecting the risk perception of gold prices.
11. OVX: Measures implied volatility for crude oil futures.
Volatility Clustering and Z-Score
The concept of volatility clustering—where high volatility tends to be followed by more high volatility—is well documented in financial literature. This phenomenon is fundamental in volatility modeling and highlights the persistence of periods of heightened market uncertainty (Bollerslev, 1986).
Moreover, studies by Andersen et al. (2012) explore how implied volatility indices, like the VIX, serve as predictors for future realized volatility, underlining the relationship between expected volatility and actual market behavior. The Z-score normalization process helps in making volatility data comparable across different asset classes, enabling more effective decision-making in volatility-based strategies.
Applications in Trading and Risk Management
By using Z-score normalization, traders can more easily assess deviations from the mean in volatility, helping to identify periods when volatility is unusually high or low. This can be used to adjust risk exposure or to implement volatility-based trading strategies, such as mean reversion strategies. Research suggests that volatility mean-reversion is a reliable pattern that can be exploited for profit (Christensen & Prabhala, 1998).
References:
• Andersen, T. G., Bollerslev, T., Diebold, F. X., & Vega, C. (2012). Realized volatility and correlation dynamics: A long-run approach. Journal of Financial Economics, 104(3), 385-406.
• Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics, 31(3), 307-327.
• Christensen, B. J., & Prabhala, N. R. (1998). The relation between implied and realized volatility. Journal of Financial Economics, 50(2), 125-150.
• Whaley, R. E. (2000). Derivatives on market volatility and the VIX index. Journal of Derivatives, 8(1), 71-84.
Option Contract Size CalculatorOption Contract Size Calculator
This indicator helps you to figure out the ideal number of contracts for your trade and its only used for options day trading.
The indicator needs to fill the input section in order to give you the information table that includes Contract size .
The input section consists of two sections. The first section requires user entry of the delta of the options contract from the broker chain and the stop loss size on the chart.
The second section allows you to enter your account balance and risk per trade
(2% recommended) .
There is also the option for where you wish to display your table like bottom right , bottom left or top right, top left.
special thanks to @Mohamedawke for the open source script this code is based off
Strat Pattern Highlighter (with Alerts)This indicator helps you isolate Failed 2d and Failed 2u candles, and the 3-1-2 Pattern in the strat with colored candles. It also has alerts added. Enjoy!
Candle Pattern Color PainterThis helps you isolate the most powerful candles on the chart. Use with significant levels and enter and exit at better times. The inside, outside, doji, hammer, shooter and engulfing candles can be colored to your own preference! enjoy
QT NY Session High/LowShows Asia & London High/Low which are key liquidity points price will react to.
You can also adjust the NY AM 6am - 12pm EST range to divide the time frames into 4 quarters
It delivers NY AM true open and the true day open
It gives you previous day high & previous day low