Wskaźniki i strategie
EMA 9 / EMA 15 Buy-Sell Indicatorthis indicator is for scalping for xauusd gold and accurecy is 80% made more profits use it and earn more money
DTFX Time based range candle box [Wang Indicators]DTFX Time based range candle box
Overview : This indicator highlights HTF Candles in specified timeframe within boxes and extend them until they are mitigated. Allowing traders to use them as zones from which you could find some turn-around or scalp
How does it works ?
Users can setup up to 8 desired timeframe with the hour/minute of the HTF candle
Be carrefull when you chose the time. You must put something coherent with the timeframe (e.g : you can't put 'minutes' = 45 if your timeframe is '1h')
Everyday, the indicator will draw a box around the specified candle for it timeframe
Once the price close above or bellow this candle in the same timeframe, the Zone become "active"
As long as the price doesn't came back into the zone, the retracements will extends
Once the price came back into the zone (in the current timeframe), it stops the expension
Exemple
Here we have those settings :
timeframe : 1 hour
time : 9am
mitigation : 10%
fibs : visible & dashed
The box highlights the 9am 1H candle (9am to 10am)
We now wait for the price to close in the same timeframe (1h here) above or bellow the price
At 11am we close above - the zone is now "active"'
Now we wait for the price to go back in this zone in the current timeframe (here 5min)
12:40am : we put a low above the 10% of the zone -> we stop the retracements, the zone is considered as "mitigated"
Settings
Hour : The hour of the begiging of the candle
Minute : Combined with hour (default 0)
Timeframe : In whichtimeframe we are looking for the candle
% Mitigation : % of the box in wich the price must go back-in in order to "mitigate" the box and stop the expension of the fibs/box (if settings enabled)
Retracements style : Hidden, dashed, dotted or lines for the fibs
Extend Box : extend the box itself until it get mitigated
Number of unmitigated zones : Max unmitigated zone drawed on the chart PER CONFIG
Timezone : Must be set to reflect your needs. (preferably the chart timezone)
How does it helps users ?
Once a Candle is "active" it can be used as a Zone
Fibonnacis levels (30, 50 and 70%) are displayed (if enabled)
Users can customize their apparence and the boxes as they see fit
The 30 - 50 - 70 levels are possible support/resistance that the price tend to bounce of off
You might find some success looking for an entry inside the zone at a level if price gives further confirmations such as a lower time frame flip.
next_libsmcLibrary "next_libsmc"
TODO: add library description here
method init(this)
Namespace types: OrderBlockConfig
Parameters:
this (OrderBlockConfig)
method delete(this)
Namespace types: OrderBlock
Parameters:
this (OrderBlock)
method delete(blocks)
Namespace types: array
Parameters:
blocks (array)
method delete(this)
delete the plot of an object, including deleting it from the chart
Namespace types: FVG
Parameters:
this (FVG)
method delete(fvgs)
delete the plot of an array of objects, including deleting it from the chart
Namespace types: array
Parameters:
fvgs (array)
create_ob(id, mode, start_t, start_i, top, end_t, end_i, bottom, break_price, break_mode)
INTERNAL: set internal order block coordinates
Parameters:
id (int)
mode (int) : 1: bullish, -1 bearish block
start_t (int)
start_i (int)
top (float)
end_t (int)
end_i (int)
bottom (float)
break_price (float)
break_mode (simple LevelBreakMode)
Returns: signals are true if an according order block was broken/mitigated
method align_to_profile(block, align_edge, align_break_price)
Namespace types: OrderBlock
Parameters:
block (OrderBlock)
align_edge (bool)
align_break_price (bool)
method create_profile(block, opens, tops, bottoms, closes, values, resolution, vah_pc, val_pc, init_calculated, use_open_close_data_for_blocks_shorter_than_bars)
Namespace types: OrderBlock
Parameters:
block (OrderBlock)
opens (array)
tops (array)
bottoms (array)
closes (array)
values (array)
resolution (int)
vah_pc (float)
val_pc (float)
init_calculated (bool)
use_open_close_data_for_blocks_shorter_than_bars (simple int)
method create_profile(block, resolution, vah_pc, val_pc, init_calculated, use_open_close_data_for_blocks_shorter_than_bars)
Namespace types: OrderBlock
Parameters:
block (OrderBlock)
resolution (int)
vah_pc (float)
val_pc (float)
init_calculated (bool)
use_open_close_data_for_blocks_shorter_than_bars (simple int)
track_obs(swing_len, swing_high_confirmed, swing_low_confirmed, bull_bos_alert, bull_choch_alert, bear_bos_alert, bear_choch_alert, min_block_size, max_block_size, enabled, include_consecutive_bars, capture_profile, align_edge_to_value_area, align_break_price_to_poc, use_soft_confirm, soft_confirm_offset, use_soft_confirm_big_candle, use_retracements_with_FVG_out, broken_by, keep_broken_max, gc_cycle)
Parameters:
swing_len (int)
swing_high_confirmed (float)
swing_low_confirmed (float)
bull_bos_alert (bool)
bull_choch_alert (bool)
bear_bos_alert (bool)
bear_choch_alert (bool)
min_block_size (float)
max_block_size (float)
enabled (bool)
include_consecutive_bars (simple bool)
capture_profile (simple bool)
align_edge_to_value_area (simple bool)
align_break_price_to_poc (simple bool)
use_soft_confirm (simple bool)
soft_confirm_offset (float)
use_soft_confirm_big_candle (simple bool)
use_retracements_with_FVG_out (simple bool)
broken_by (simple LevelBreakMode)
keep_broken_max (simple int)
gc_cycle (simple int)
method draw(this, config, extend_only, force_overlay, left_override, right_override)
plot order block
Namespace types: OrderBlock
Parameters:
this (OrderBlock) : OrderBlock to draw
config (OrderBlockConfig) : OrderBlockConfig to apply to block
extend_only (bool) : if true, only the right x coordinate will be updated after initial draw. This enables usage of xloc.bar_index older than 254 bars (given the block has been drawn once within the 254 bars after the left coordinate bar). If you want to draw with changing left x coordinate set this to false (default: true)
force_overlay (simple bool)
left_override (int)
right_override (int)
method draw(blocks, config, extend_only, force_overlay, left_override, right_override)
plot order blocks
Namespace types: array
Parameters:
blocks (array) : array of OrderBlocks to draw
config (OrderBlockConfig) : OrderBlockConfig to apply to all blocks
extend_only (bool) : if true, only the right x coordinate will be updated after initial draw. This enables usage of xloc.bar_index older than 254 bars (given the block has been drawn once within the 254 bars after the left coordinate bar). If you want to draw with changing left x coordinate set this to false (default: true)
force_overlay (simple bool)
left_override (int) : ob left coordinate (defaults to xloc.bar_index, configure config.args.xloc to use bar_time)
right_override (int) : ob right coordinate (defaults to xloc.bar_index, configure config.args.xloc to use bar_time)
method draw(blocks, config, extend_only, force_overlay, left_override, right_override)
plot order blocks
Namespace types: map
Parameters:
blocks (map) : array of OrderBlocks to draw
config (OrderBlockConfig) : OrderBlockConfig to apply to all blocks
extend_only (bool) : if true, only the right x coordinate will be updated after initial draw. This enables usage of xloc.bar_index older than 254 bars (given the block has been drawn once within the 254 bars after the left coordinate bar). If you want to draw with changing left x coordinate set this to false (default: true)
force_overlay (simple bool)
left_override (int) : ob left x coordinate (defaults to xloc.bar_index, configure config.args.xloc to use bar_time)
right_override (int) : ob right x coordinate (defaults to xloc.bar_index, configure config.args.xloc to use bar_time)
method draw(this, config, extend_only, force_overlay, left_override, right_override)
plot FVG (Fair Value Gap)
Namespace types: FVG
Parameters:
this (FVG) : FVG to draw
config (FVGConfig) : FVGConfig to apply to fvg
extend_only (bool) : if true, only the right x coordinate will be updated after initial draw. This enables usage of xloc.bar_index older than 254 bars (given the block has been drawn once within the 254 bars after the left coordinate bar). If you want to draw with changing left x coordinate set this to false (default: true)
force_overlay (simple bool)
left_override (int)
right_override (int)
method draw(fvgs, config, extend_only, force_overlay, left_override, right_override)
plot fvgs
Namespace types: array
Parameters:
fvgs (array) : array of FVGs to draw
config (FVGConfig) : FVGConfig to apply to all fvgs
extend_only (bool) : if true, only the right x coordinate will be updated after initial draw. This enables usage of xloc.bar_index older than 254 bars (given the block has been drawn once within the 254 bars after the left coordinate bar). If you want to draw with changing left x coordinate set this to false (default: true)
force_overlay (simple bool)
left_override (int)
right_override (int)
method hide(this)
hide the plot of an object, without deleting it from the chart, so it can re-appear later without triggering a max_bars_back error when redrawing an object that has a x coordinate > 244 bars in the past (the limit for the default buffer)
Namespace types: OrderBlock
Parameters:
this (OrderBlock)
method hide(this)
hide the plot of an object, without deleting it from the chart, so it can re-appear later without triggering a max_bars_back error when redrawing an object that has a x coordinate > 244 bars in the past (the limit for the default buffer)
Namespace types: FVG
Parameters:
this (FVG)
detect_swings(length)
INTERNAL: detect swing points (HH and LL) in given range
Parameters:
length (simple int)
Returns: values are the price level where and if a new HH or LL was detected, else na
detect_pivot(mode, trend, hhll_x, hhll, super_hhll, filter_insignificant_internal_breaks)
INTERNAL: detect whether a structural level has been broken and if it was in trend direction (BoS) or against trend direction (ChoCh), also track the latest high and low swing points
Parameters:
mode (simple int) : detect 1: bullish, -1 bearish pivot points
trend (int) : current trend direction
hhll_x (int) : x-coordinate of newly detected hh/ll (bar_index)
hhll (float) : y-coordinate of newly detected hh/ll (price)
super_hhll (float) : level/y-coordinate of superior hhll (if this is an internal structure pivot level)
filter_insignificant_internal_breaks (bool) : if true pivot points / internal structure will be ignored where the wick in trend direction is longer than the opposite (likely to push further in direction of main trend)
Returns: coordinates of internal structure that has been broken (x,y): start of structure, (trail_x, trail_y): tracking hh/ll after structure break, (bos_alert, choch_alert): signal whether a structural level has been broken
detect_structure(swing_len, super_hh, super_ll, filter_insignificant_internal_breaks)
detect (and plot) structural breaks and the resulting new trend
Parameters:
swing_len (simple int)
super_hh (float) : level/y-coordinate of superior hh (for internal structure detection)
super_ll (float) : level/y-coordinate of superior ll (for internal structure detection)
filter_insignificant_internal_breaks (bool) : if true pivot points / internal structure will be ignored where the wick in trend direction is longer than the opposite (likely to push further in direction of main trend)
Returns: trend: direction 1:bullish -1:bearish, (bull_bos_alert, bull_choch_alert, top_x, top_y, trail_up_x, trail_up): whether and which level broke in a bullish direction, trailing high, (bbear_bos_alert, bear_choch_alert, tm_x, btm_y, trail_dn_x, trail_dn): same in bearish direction
plot_pivot_points(mode, x, y, enabled, args, keep_history)
INTERNAL: plot swing points
Parameters:
mode (int) : 1: bullish, -1 bearish block
x (int) : x-coordingate of swing point to plot (bar_index)
y (float) : y-coordingate of swing point to plot (price)
enabled (bool) : switch to enable/disable plotting of swing point labels
args (LabelArgs type from robbatt/lib_plot_objects/56) : object for swing point label styling
keep_history (bool) : weather to remove older swing point labels or only keep the most recent
plot_swing_levels(mode, trail_x, trail_y, trend, enabled, label_args, line_args, override_right_index)
INTERNAL: plot latest swing levels
Parameters:
mode (int) : 1: bullish, -1 bearish block
trail_x (int) : x-coordinate for latest swing point (bar_index)
trail_y (float) : y-coordinate for latest swing point (price)
trend (int) : the current trend 1: bullish, -1: bearish, to determine Strong/Weak Low/Highs
enabled (bool) : switch to enable/disable plotting of swing point labels
label_args (LabelArgs type from robbatt/lib_plot_objects/56) : object for swing point label styling
line_args (LineArgs type from robbatt/lib_plot_objects/56) : object for swing point line styling
override_right_index (int)
plot_structure(x, y, is_bos, is_choch, label_args, line_args, keep_history)
INTERNAL: plot structural breaks (BoS/ChoCh)
Parameters:
x (int) : x-coordinate of newly broken structure (bar_index)
y (float) : y-coordinate of newly broken structure (price)
is_bos (bool) : whether this structural break was in trend direction
is_choch (bool) : whether this structural break was against trend direction
label_args (LabelArgs type from robbatt/lib_plot_objects/56) : object for plot structure styling
line_args (LineArgs type from robbatt/lib_plot_objects/56) : object for plot structure styling
keep_history (bool) : weater to remove older swing point labels and only keep the most recent
detect_equal_level(mode, len, eq_threshold, enabled)
INTERNAL: detect equal levels (double top/bottom)
Parameters:
mode (int) : detect 1: bullish/high, -1 bearish/low pivot points
len (int) : lookback period for equal level (swing point) detection
eq_threshold (float) : maximum price offset for a level to be considered equal
enabled (bool)
Returns: eq_alert whether an equal level was detected and coordinates of the first and the second level/swing point
detect_equal_levels(len, threshold, enabled)
detect (and plot) equal levels (double top/bottom), returns coordinates
Parameters:
len (int) : lookback period for equal level (swing point) detection
threshold (float) : maximum price offset for a level to be considered equal
enabled (bool) : whether detection is enabled
Returns: (eqh_alert, eqh_x1, eqh_y1, eqh_x2, eqh_y2) whether an equal high was detected and coordinates of the first and the second level/swing point, (eql_alert, eql_x1, eql_y1, eql_x2, eql_y2) same for equal lows
plot_equal_level(show_eq, x1, y1, x2, y2, label_txt, label_args, line_args, keep_history, force_overlay)
INTERNAL: plot equal levels (double top/bottom)
Parameters:
show_eq (bool) : whether to plot the level or not
x1 (int) : x-coordinate of the first level / swing point
y1 (float) : y-coordinate of the first level / swing point
x2 (int) : x-coordinate of the second level / swing point
y2 (float) : y-coordinate of the second level / swing point
label_txt (string) : text for the label above/below the line connecting the equal levels
label_args (LabelArgs type from robbatt/lib_plot_objects/56)
line_args (LineArgs type from robbatt/lib_plot_objects/56)
keep_history (bool) : weater to remove older swing point labels and only keep the most recent
force_overlay (bool)
_detect_fvg(mode, enabled, size_threshold)
INTERNAL: detect FVG (fair value gap)
Parameters:
mode (int) : detect 1: bullish, -1 bearish gaps
enabled (bool) : whether detection is enabled
size_threshold (float) : filter small/insignificant gaps that are smaller than this value
Returns: whether a new FVG was detected and its top/bottom levels
_detect_fvg_object(mode, enabled, size_threshold, fill_mode, fill_target_ratio)
INTERNAL: detect FVG points (fair value gap)
Parameters:
mode (int) : detect 1: bullish, -1 bearish gaps
enabled (bool) : whether detection is enabled
size_threshold (float) : filter small/insignificant gaps that are smaller than this value
fill_mode (series LevelBreakMode)
fill_target_ratio (float) : at which point the FVG is considered as filled
Returns: whether a new FVG was detected and its left_top/right_bottom chart.points
_clear_broken_fvg(mode, upper_boxes, lower_boxes, fill_ratio)
INTERNAL: clear mitigated FVGs (fair value gaps)
Parameters:
mode (int) : detect 1: bullish, -1 bearish gaps
upper_boxes (array) : array that stores the upper parts of the FVG boxes
lower_boxes (array) : array that stores the lower parts of the FVG boxes
fill_ratio (float)
plot_fvg(mode, show, top, btm, border_color, extend_box, fill_ratio)
INTERNAL: plot (and clear broken) FVG (fair value gap)
Parameters:
mode (int) : plot 1: bullish, -1 bearish gap
show (bool) : whether plotting is enabled
top (float) : top level of fvg
btm (float) : bottom level of fvg
border_color (color) : color for the FVG box
extend_box (int) : how many bars into the future the FVG box should be extended after detection
fill_ratio (float) : target fill ratio of FVG (optional, defaults to 50%)
fvgs_values(size_threshold, enabled)
detect FVGs (fair value gaps), and return alerts and level values
Parameters:
size_threshold (float) : filter small/insignificant gaps that are smaller than this value
enabled (bool) : whether detection is enabled
Returns: (bullish_fvg_alert, bull_top, bull_btm): whether a new bullish FVG was detected and its top/bottom levels, (bearish_fvg_alert, bear_top, bear_btm): same for bearish FVGs
method clear_filled(fvgs, filled_buffer, filled_new_buffer, keep_history, discard_buffer)
Namespace types: array
Parameters:
fvgs (array)
filled_buffer (array)
filled_new_buffer (array)
keep_history (int)
discard_buffer (array)
method update(this)
Namespace types: FVG
Parameters:
this (FVG)
method update(fvgs)
Namespace types: array
Parameters:
fvgs (array)
method remove_insignificant(fvgs, size_threshold, removed_buffer)
removes FVGs smaller than size_threshold from fvgs. If a removed_buffer is passed, it adds it to that buffer (plots are not deleted because it would be a 'side effect' in security calls, make sure to call delete() on each removed FVG to remove it from the chart as well.)
Namespace types: array
Parameters:
fvgs (array)
size_threshold (float)
removed_buffer (array)
fvgs_objects(fill_mode, fill_target_ratio, size_threshold, enabled, filled_max_keep, gc_cycle)
detect FVGs (fair value gaps), and return FVG objects
Parameters:
fill_mode (simple LevelBreakMode)
fill_target_ratio (float)
size_threshold (float) : filter small/insignificant gaps that are smaller than this value
enabled (simple bool) : whether detection is enabled
filled_max_keep (simple int)
gc_cycle (simple int)
Returns: (bullish_fvg_alert, bearish_fvg_alert) boolean flag to indicate a new FVG | (buffer_bull, buffer_bear) persistent buffers of unfilled FVGs with latest at the end | (new_bull, new_bear) newly detected FVG objects additionally to being added to the buffer | (filled_bull, filled_bear) non persistent arrays of FVGs filled in this candle
fvgs_plot(bullish_fvg_alert, bull_top, bull_btm, bearish_fvg_alert, bear_top, bear_btm, color_bull, color_bear, extend_box, fill_ratio, show)
detect (and plot / clear broken) FVGs (fair value gaps), and return alerts and level values
Parameters:
bullish_fvg_alert (bool)
bull_top (float)
bull_btm (float)
bearish_fvg_alert (bool)
bear_top (float)
bear_btm (float)
color_bull (color) : color for bullish FVG boxes
color_bear (color) : color for bearish FVG boxes
extend_box (int) : how many bars into the future the FVG box should be extended after detection
fill_ratio (float) : (optional) target fill ratio at which the box is removed (defaults to 0.5)
show (bool) : whether plotting is enabled
Returns: (bullish_fvg_alert, bull_top, bull_mid, bull_btm): whether a new bullish FVG was detected and its top/mid/bottom levels, (bearish_fvg_alert, bear_top, bear_mid, bear_btm): same for bearish FVGs
fvgs(size_threshold, color_bull, color_bear, extend_box, fill_ratio, enabled, show)
detect (and plot / clear broken) FVGs (fair value gaps)
Parameters:
size_threshold (float) : filter small/insignificant gaps that are smaller than this value
color_bull (color) : color for bullish FVG boxes
color_bear (color) : color for bearish FVG boxes
extend_box (int) : how many bars into the future the FVG box should be extended after detection
fill_ratio (float) : (optional) target fill ratio at which the box is removed (defaults to 0.5)
enabled (bool) : whether detection is enabled
show (bool) : whether plotting is enabled
Returns: (bullish_fvg_alert): whether a new bullish FVG was detected, (bearish_fvg_alert): same for bearish FVGs
OrderBlock
Fields:
id (series int)
dir (series int)
left_top (chart.point)
right_bottom (chart.point)
break_price (series float)
break_mode (series LevelBreakMode)
ltf_open (array)
ltf_high (array)
ltf_low (array)
ltf_close (array)
ltf_volume (array)
plot (Box type from robbatt/lib_plot_objects/56)
profile (Profile type from robbatt/lib_profile/44)
probability (series float)
trailing (series bool)
extending (series bool)
awaiting_confirmation (series bool)
touched_break_price_before_confirmation (series bool)
soft_confirmed (series bool)
has_fvg_out (series bool)
has_big_candle (series bool)
hidden (series bool)
broken (series bool)
broken_time (series int)
broken_index (series int)
OrderBlockConfig
Fields:
show (series bool)
show_last (series int)
show_id (series bool)
show_profile (series bool)
show_text (series bool)
show_fvg_out (series bool)
show_probability (series bool)
extend_until_broken (series bool)
args (BoxArgs type from robbatt/lib_plot_objects/56)
txt (series string)
txt_args (BoxTextArgs type from robbatt/lib_plot_objects/56)
use_profile (series bool)
profile_config (ProfileConfig type from robbatt/lib_profile/44)
FVGConfig
Fields:
show_box (series bool)
show_target (series bool)
show_target_label (series bool)
show_last (series int)
show_text (series bool)
show_probability (series bool)
show_profile (series bool)
box_args (BoxArgs type from robbatt/lib_plot_objects/56)
box_text_args (BoxTextArgs type from robbatt/lib_plot_objects/56)
line_args (LineArgs type from robbatt/lib_plot_objects/56)
label_args (LabelArgs type from robbatt/lib_plot_objects/56)
txt (series string)
extend_bars (series int)
extend_until_filled (series bool)
FVG
Fields:
dir (series int)
fill_mode (series LevelBreakMode)
left_top (chart.point)
right_bottom (chart.point)
fvg_fill_target_ratio (series float)
fill_target_level (series float)
fill_current_ratio (series float)
fill_current_level (series float)
total_volume (series float)
probability (series float)
filled (series bool)
fill_time (series int)
fill_index (series int)
plot_box (Box type from robbatt/lib_plot_objects/56)
plot_fill_target_level (Line type from robbatt/lib_plot_objects/56)
plot_fill_target_label (Label type from robbatt/lib_plot_objects/56)
hidden (series bool)
Multi-Session Opening Range IndicatorPlots the opening range of each trading session: Tokyo (red), London (green) and NY (blue)
Defaults to GMT +7 timezone and 1 hr opening range
Retirement Portfolio Dashboard1. Set It Up
Paste the script into the Pine Script editor in TradingView
Add to chart (use a daily chart for any TSX ticker)
Configure the inputs on the right panel:
Choose your ETF tickers (default: VFV, XAW, XIC)
Enter your target allocations (U.S., Global, Canada, Cash)
Set your current portfolio value and contribution plan
Adjust your expected return and rebalance trigger
📊 2. What It Tracks
💼 Allocation Overview
Target vs. actual % for each asset class
CAD value of each component
Performance YTD based on Jan 2nd start
Drift % to see how far each asset has deviated
📈 Growth Forecast
Future value projection with contributions
Weighted return (based on typical historical returns)
Inflation-adjusted real return (assuming 2% inflation)
⚠ Rebalancing
If any drift exceeds your set threshold (e.g., 5%), the script:
Highlights the issue in red
Displays "⚠ Rebalance Suggested"
Triggers a TradingView alert if you've activated it
🔔 3. Set Up Alerts
Go to Alerts > Create Alert
Choose your script from the dropdown
Under Condition, select "Rebalance Alert"
Choose your desired alert type (popup, email, webhook, etc.)
✅ 4. How to Use It Effectively
Task What to Do
Monitor allocations Check dashboard weekly or monthly
Spot imbalances Use Drift % and Status (green/red)
Forecast retirement growth Adjust contributions, return rate, and horizon
Prepare to rebalance Use alerts when drift > threshold
Tune assumptions Change expected returns or inflation rate as needed
💡 Tips
You can edit return assumptions (e.g., make Global equity more conservative)
Use this on a “blank” ticker (like TSX:XIC) so you don't overlay the chart
Copy values from your broker or retirement account to update real allocations
Quarterly Cycle Theory with DST time AdjustedThe Quarterly Theory removes ambiguity, as it gives specific time-based reference points to look for when entering trades. Before being able to apply this theory to trading, one must first understand that time is fractal:
Yearly Quarters = 4 quarters of three months each.
Monthly Quarters = 4 quarters of one week each.
Weekly Quarters = 4 quarters of one day each (Monday - Thursday). Friday has its own specific function.
Daily Quarters = 4 quarters of 6 hours each = 4 trading sessions of a trading day.
Sessions Quarters = 4 quarters of 90 minutes each.
90 Minute Quarters = 4 quarters of 22.5 minutes each.
Yearly Cycle: Analogously to financial quarters, the year is divided in four sections of three months each:
Q1 - January, February, March.
Q2 - April, May, June (True Open, April Open).
Q3 - July, August, September.
Q4 - October, November, December.
S&P 500 E-mini Futures (daily candles) — Monthly Cycle.
Monthly Cycle: Considering that we have four weeks in a month, we start the cycle on the first month’s Monday (regardless of the calendar Day):
Q1 - Week 1: first Monday of the month.
Q2 - Week 2: second Monday of the month (True Open, Daily Candle Open Price).
Q3 - Week 3: third Monday of the month.
Q4 - Week 4: fourth Monday of the month.
S&P 500 E-mini Futures (4 hour candles) — Weekly Cycle.
Weekly Cycle: Daye determined that although the trading week is composed by 5 trading days, we should ignore Friday, and the small portion of Sunday’s price action:
Q1 - Monday.
Q2 - Tuesday (True Open, Daily Candle Open Price).
Q3 - Wednesday.
Q4 - Thursday.
S&P 500 E-mini Futures (1 hour candles) — Daily Cycle.
Daily Cycle: The Day can be broken down into 6 hour quarters. These times roughly define the sessions of the trading day, reinforcing the theory’s validity:
Q1 - 18:00 - 00:00 Asia.
Q2 - 00:00 - 06:00 London (True Open).
Q3 - 06:00 - 12:00 NY AM.
Q4 - 12:00 - 18:00 NY PM.
S&P 500 E-mini Futures (15 minute candles) — 6 Hour Cycle.
6 Hour Quarters or 90 Minute Cycle / Sessions divided into four sections of 90 minutes each (EST/EDT):
Asian Session
Q1 - 18:00 - 19:30
Q2 - 19:30 - 21:00 (True Open)
Q3 - 21:00 - 22:30
Q4 - 22:30 - 00:00
London Session
Q1 - 00:00 - 01:30
Q2 - 01:30 - 03:00 (True Open)
Q3 - 03:00 - 04:30
Q4 - 04:30 - 06:00
NY AM Session
Q1 - 06:00 - 07:30
Q2 - 07:30 - 09:00 (True Open)
Q3 - 09:00 - 10:30
Q4 - 10:30 - 12:00
NY PM Session
Q1 - 12:00 - 13:30
Q2 - 13:30 - 15:00 (True Open)
Q3 - 15:00 - 16:30
Q4 - 16:30 - 18:00
S&P 500 E-mini Futures (5 minute candles) — 90 Minute Cycle.
Micro Cycles: Dividing the 90 Minute Cycle yields 22.5 Minute Quarters, also known as Micro Sessions or Micro Quarters:
Asian Session
Q1/1 18:00:00 - 18:22:30
Q2 18:22:30 - 18:45:00
Q3 18:45:00 - 19:07:30
Q4 19:07:30 - 19:30:00
Q2/1 19:30:00 - 19:52:30 (True Session Open)
Q2/2 19:52:30 - 20:15:00
Q2/3 20:15:00 - 20:37:30
Q2/4 20:37:30 - 21:00:00
Q3/1 21:00:00 - 21:23:30
etc. 21:23:30 - 21:45:00
London Session
00:00:00 - 00:22:30 (True Daily Open)
00:22:30 - 00:45:00
00:45:00 - 01:07:30
01:07:30 - 01:30:00
01:30:00 - 01:52:30 (True Session Open)
01:52:30 - 02:15:00
02:15:00 - 02:37:30
02:37:30 - 03:00:00
03:00:00 - 03:22:30
03:22:30 - 03:45:00
03:45:00 - 04:07:30
04:07:30 - 04:30:00
04:30:00 - 04:52:30
04:52:30 - 05:15:00
05:15:00 - 05:37:30
05:37:30 - 06:00:00
New York AM Session
06:00:00 - 06:22:30
06:22:30 - 06:45:00
06:45:00 - 07:07:30
07:07:30 - 07:30:00
07:30:00 - 07:52:30 (True Session Open)
07:52:30 - 08:15:00
08:15:00 - 08:37:30
08:37:30 - 09:00:00
09:00:00 - 09:22:30
09:22:30 - 09:45:00
09:45:00 - 10:07:30
10:07:30 - 10:30:00
10:30:00 - 10:52:30
10:52:30 - 11:15:00
11:15:00 - 11:37:30
11:37:30 - 12:00:00
New York PM Session
12:00:00 - 12:22:30
12:22:30 - 12:45:00
12:45:00 - 13:07:30
13:07:30 - 13:30:00
13:30:00 - 13:52:30 (True Session Open)
13:52:30 - 14:15:00
14:15:00 - 14:37:30
14:37:30 - 15:00:00
15:00:00 - 15:22:30
15:22:30 - 15:45:00
15:45:00 - 15:37:30
15:37:30 - 16:00:00
16:00:00 - 16:22:30
16:22:30 - 16:45:00
16:45:00 - 17:07:30
17:07:30 - 18:00:00
S&P 500 E-mini Futures (30 second candles) — 22.5 Minute Cycle.
RSI y RSI S.O. Estrategia HIBRIDA - 15minRSI Híbrido 70 - 30 Para operar en temporalidades de 15 min
Exponential Top and Bottom FinderAll-in-one indicators that works really great and highly customizable.
Candle PercentageThis script calculates the percentage movement of the candle body from open to close and displays it as a label on the chart. The label color changes based on the candle's direction:
Green for bullish (price closes higher than it opened),
Red for bearish (price closes lower than it opened).
The script also allows you to select the label size, with the following options:
Tiny (very small text)
Small (small text)
Normal (default text size)
Large (large text)
Huge (giant text)
By default, the label size is set to Normal.
The percentage is calculated using the formula:
(Body Size / Open Price) * 100
This is helpful for traders who want to quickly assess the magnitude of price movement within each candle and analyze market sentiment based on the size of the body.
VWAPceptiondaily, weekly, and monthly VWAPs with 1st standard deviation and 2nd standard deviation bands toggleable
NYCSessionLibrary "NYCSession"
Library for New York trading session time functions
@author abneralvarado
@version 1.0
isInNYSession(sessionStart, sessionEnd)
Determines if the current bar is within New York trading session
Parameters:
sessionStart (simple int) : Starting time of NY session in 24hr format (HHMM) like 0930 for 9:30 AM ET
sessionEnd (simple int) : Ending time of NY session in 24hr format (HHMM) like 1600 for 4:00 PM ET
Returns: True if current bar is within the NY session time, false otherwise
getNYSessionStartTime(lookback, sessionStart)
Gets the start time of NY session for a given bar
Parameters:
lookback (simple int) : Bar index to check (0 is current bar)
sessionStart (simple int) : Starting time of NY session in 24hr format (HHMM)
Returns: Unix timestamp for the start of NY session on the given bar's date
getNYSessionEndTime(lookback, sessionEnd)
Gets the end time of NY session for a given bar
Parameters:
lookback (simple int) : Bar index to check (0 is current bar)
sessionEnd (simple int) : Ending time of NY session in 24hr format (HHMM)
Returns: Unix timestamp for the end of NY session on the given bar's date
isNYSessionOpen(sessionStart)
Checks if current bar opens the NY session
Parameters:
sessionStart (simple int) : Starting time of NY session in 24hr format (HHMM)
Returns: True if current bar marks the session opening, false otherwise
isNYSessionClose(sessionEnd)
Checks if current bar closes the NY session
Parameters:
sessionEnd (simple int) : Ending time of NY session in 24hr format (HHMM)
Returns: True if current bar marks the session closing, false otherwise
isWeekday()
Determines if the current day is a weekday (Mon-Fri)
Returns: True if current bar is on a weekday, false otherwise
getSessionBackgroundColor(sessionStart, sessionEnd, bgColor)
Gets session background color with transparency
Parameters:
sessionStart (simple int) : Starting time of NY session in 24hr format (HHMM)
sessionEnd (simple int) : Ending time of NY session in 24hr format (HHMM)
bgColor (color) : Background color for session highlighting
Returns: Color value for background or na if not in session
StonkGame AutoLevels HL Y/T/W/MHigh and Low auto-generated clean levels and labels for prior day, current day, last week, last month, last year.
OverUnder Yield Spread🗺️ OverUnder is a structural regime visualizer , engineered to diagnose the shape, tone, and trajectory of the yield curve. Rather than signaling trades directly, it informs traders of the world they’re operating in. Yield curve steepening or flattening, normalizing or inverting — each regime reflects a macro pressure zone that impacts duration demand, liquidity conditions, and systemic risk appetite. OverUnder abstracts that complexity into a color-coded compression map, helping traders orient themselves before making risk decisions. Whether you’re in bonds, currencies, crypto, or equities, the regime matters — and OverUnder makes it visible.
🧠 Core Logic
Built to show the slope and intent of a selected rate pair, the OverUnder Yield Spread defaults to 🇺🇸US10Y-US2Y, but can just as easily compare global sovereign curves or even dislocated monetary systems. This value is continuously monitored and passed through a debounce filter to determine whether the curve is:
• Inverted, or
• Steepening
If the curve is flattening below zero: the world is bracing for contraction. Policy lags. Risk appetite deteriorates. Duration gets bid, but only as protection. Stocks and speculative assets suffer, regardless of positioning.
📍 Curve Regimes in Bull and Bear Contexts
• Flattening occurs when the short and long ends compress . In a bull regime, flattening may reflect long-end demand or fading growth expectations. In a bear regime, flattening often precedes or confirms central bank tightening.
• Steepening indicates expanding spread . In a bull context, this may signal healthy risk appetite or early expansion. In a bear or crisis context, it may reflect aggressive front-end cuts and dislocation between short- and long-term expectations.
• If the curve is steepening above zero: the world is rotating into early expansion. Risk assets behave constructively. Bond traders position for normalization. Equities and crypto begin trending higher on rising forward expectations.
🖐️ Dynamically Colored Spread Line Reflects 1 of 4 Regime States
• 🟢 Normal / Steepening — early expansion or reflation
• 🔵 Normal / Flattening — late-cycle or neutral slowdown
• 🟠 Inverted / Steepening — policy reversal or soft landing attempt
• 🔴 Inverted / Flattening — hard contraction, credit stress, policy lag
🍋 The Lemon Label
At every bar, an anchored label floats directly on the spread line. It displays the active regime (in plain English) and the precise spread in percent (or basis points, depending on resolution). Colored lemon yellow, neither green nor red, the label is always legible — a design choice to de-emphasize bias and center the data .
🎨 Fill Zones
These bands offer spatial, persistent views of macro compression or inversion depth.
• Blue fill appears above the zero line in normal (non-inverted) conditions
• Red fill appears below the zero line during inversion
🧪 Sample Reading: 1W chart of TLT
OverUnder reveals a multi-year arc of structural inversion and regime transition. From mid-2021 through late 2023, the spread remains decisively inverted, signaling persistent flattening and credit stress as bond prices trended sharply lower. This prolonged inversion aligns with a high-volatility phase in TLT, marked by lower highs and an accelerating downtrend, confirming policy lag and macro tightening conditions.
As of early 2025, the spread has crossed back above the zero baseline into a “Normal / Steepening” regime (annotated at +0.56%), suggesting a macro inflection point. Price action remains subdued, but the shift in yield structure may foreshadow a change in trend context — particularly if follow-through in steepening persists.
🎭 Different Traders Respond Differently:
• Bond traders monitor slope change to anticipate policy pivots or recession signals.
• Equity traders use regime shifts to time rotations, from growth into defense, or from contraction into reflation.
• Currency traders interpret curve steepening as yield compression or divergence depending on region.
• Crypto traders treat inversion as a liquidity vacuum — and steepening as an early-phase risk unlock.
🛡️ Can It Compare Different Bond Markets?
Yes — with caveats. The indicator can be used to compare distinct sovereign yield instruments, for example:
• 🇫🇷FR10Y vs 🇩🇪DE10Y - France vs Germany
• 🇯🇵JP10Y vs 🇺🇸US10Y - BoJ vs Fed policy curves
However:
🙈 This no longer visualizes the domestic yield curve, but rather the differential between rate expectations across regions
🙉 The interpretation of “inversion” changes — it reflects spread compression across nations , not within a domestic yield structure
🙊 Color regimes should then be viewed as relative rate positioning , not absolute curve health
🙋🏻 Example: OverUnder compares French vs German 10Y yields
1. 🇫🇷 Change the long-duration ticker to FR10Y
2. 🇩🇪 Set the short-duration ticker to DE10Y
3. 🤔 Interpret the result as: “How much higher is France’s long-term borrowing cost vs Germany’s?”
You’ll see steepening when the spread rises (France decoupling), flattening when the spread compresses (convergence), and inversions when Germany yields rise above France’s — historically rare and meaningful.
🧐 Suggested Use
OverUnder is not a signal engine — it’s a context map. Its value comes from situating any trade idea within the prevailing yield regime. Use it before entries, not after them.
• On the 1W timeframe, OverUnder excels as a macro overlay. Yield regime shifts unfold over quarters, not days. Weekly structure smooths out rate volatility and reveals the true curvature of policy response and liquidity pressure. Use this view to orient your portfolio, define directional bias, or confirm long-duration trend turns in assets like TLT, SPX, or BTC.
• On the 1D timeframe, the indicator becomes tactically useful — especially when aligning breakout setups or trend continuations with steepening or flattening transitions. Daily views can also identify early-stage regime cracks that may not yet be visible on the weekly.
• Avoid sub-daily use unless you’re anchoring a thesis already built on higher timeframe structure. The yield curve is a macro construct — it doesn’t oscillate cleanly at intraday speeds. Shorter views may offer clarity during event-driven spikes (like FOMC reactions), but they do not replace weekly context.
Ultimately, OverUnder helps you decide: What kind of world am I trading in? Use it to confirm macro context, avoid fighting the curve, and lean into trades aligned with the broader pressure regime.
Stoch_RSI_ChartEnhanced Stochastic RSI Divergence Indicator with VWAP Filter for Charts
This custom indicator builds upon the classic Stochastic RSI to automatically detect both regular and hidden divergences. It’s designed to help traders spot potential market reversals or continuations using two methods for divergence detection (fractal‑ and pivot‑based) while offering optional VWAP filtering for confirmation.
Key Features
Stoch RSI Calculation
The indicator computes a smoothed Stoch RSI using configurable parameters for RSI length, stochastic length, and smoothing periods. An option to average the K and D lines provides a cleaner momentum view.
Divergence Detection via Fractals & Pivots
Fractal-Based Divergences:
Looks for 4-candle patterns to identify higher-highs or lower-lows in the price that are not confirmed by the oscillator, signaling potential reversals.
Pivot-Based Divergences:
Utilizes TradingView’s built-in pivot functions to find divergence conditions over adjustable pivot ranges.
Regular vs. Hidden Divergences:
Regular Divergence: Occurs when price makes a new extreme (higher high or lower low) while the Stoch RSI fails to follow suit.
Hidden Divergence: Indicates potential trend continuations when the oscillator diverges against the established price trend.
Optional VWAP Filtering
The script includes two optional VWAP filters that work as follows:
VWAP Filter on Regular Divergences:
Only confirms regular divergence signals if the current price satisfies the VWAP condition (e.g., price is above VWAP for bullish signals, below VWAP for bearish signals).
VWAP Filter on Hidden Divergences:
Similarly, hidden divergence signals are validated only when the price meets specific VWAP conditions, adding an extra layer of trend confirmation.
Customizable Alerts and Visual Labels
Easily configure divergence labels (“B” for bullish, “S” for bearish) and enable up to four alert conditions for real‑time notifications when a divergence occurs.
Credits & History:
Log RSI by @fskrypt
Divergence Detection originally by @RicardoSantos (with edits from @JustUncleL)
Further Edits by @NeoButane on August 8, 2018
Latest Edits by @FYMD on June 1, 2024
kỳ BB, MA Ribbon, RS RatingHere's a professional translation of your Vietnamese text about combining Moving Averages (MA) and Bollinger Bands into English:
Combined MA and Bollinger Bands Indicator: The Ultimate Trading Strategy
1. Core Principles
Bollinger Bands (BB):
Consists of 3 lines: Middle band (20-period SMA), Upper band (SMA + 2 standard deviations), Lower band (SMA - 2 standard deviations)
Measures price volatility and identifies overbought/oversold conditions
Moving Averages (MA):
MA lines (20, 50, 100, 200) determine long-term trends
MA Ribbon (multiple MAs) provides stronger signals
2. Strategic Combination
A. Trend Identification
Uptrend:
Price above 200-period SMA
Short-term MAs above long-term MAs (MA20 > MA50 > MA100 > MA200)
Downtrend:
Price below 200-period SMA
Short-term MAs below long-term MAs (MA20 < MA50 < MA100 < MA200)
B. Trading Signals
DI+/- Cross Strategy with ATR SL and 2% TPDI+/- Cross Strategy with ATR Stop Loss and 2% Take Profit
📝 Script Description for Publishing:
This strategy is based on the directional movement of the market using the Average Directional Index (ADX) components — DI+ and DI- — to generate entry signals, with clearly defined risk and reward targets using ATR-based Stop Loss and Fixed Percentage Take Profit.
🔍 How it works:
Buy Signal: When DI+ crosses above 40, signaling strong bullish momentum.
Sell Signal: When DI- crosses above 40, indicating strong bearish momentum.
Stop Loss: Dynamically calculated using ATR × 1.5, to account for market volatility.
Take Profit: Fixed at 2% above/below the entry price, for consistent reward targeting.
🧠 Why it’s useful:
Combines momentum breakout logic with volatility-based risk management.
Works well on trending assets, especially when combined with higher timeframe filters.
Clean BUY and SELL visual labels make it easy to interpret and backtest.
✅ Tips for Use:
Use on assets with clear trends (e.g., major forex pairs, trending stocks, crypto).
Best on 30m – 4H timeframes, but can be customized.
Consider combining with other filters (e.g., EMA trend direction or Bollinger Bands) for even better accuracy.
Filtered Swing Pivot S&R )Pivot support and resis🔍 Filtered Swing Pivot S&R - Overview
This indicator identifies and plots tested support and resistance levels using a filtered swing pivot strategy. It focuses on high-probability zones where price has reacted before, helping traders better anticipate future price behavior.
It filters out noise using:
Customizable pivot detection logic
Minimum price level difference
ATR (Average True Range) volatility filter
Confirmation by price retesting the level before plotting
⚙️ Core Logic Explained
✅ 1. Pivot Detection
The script uses Pine Script's built-in ta.pivothigh() and ta.pivotlow() functions to find local highs (potential resistance) and lows (potential support).
Pivot Lookback/Lookahead (pivotLen):
A pivot is confirmed if it's the highest (or lowest) point within a lookback and lookahead range of pivotLen bars.
Higher values = fewer, stronger pivots.
Lower values = more, but potentially noisier levels.
✅ 2. Pending Pivot Confirmation
Once a pivot is detected:
It is not drawn immediately.
The script waits until price re-tests that pivot level. This retest confirms the market "respects" the level.
For example: if price hits a previous high again, it's treated as a valid resistance.
✅ 3. Dual-Level Filtering System
To reduce chart clutter and ignore insignificant levels, two filters are applied:
Fixed Threshold (Minimum Level Difference):
Ensures a new pivot level is not too close to the last one.
ATR-Based Filter:
Dynamically adjusts sensitivity based on current volatility using the formula:
java
Copy
Edit
Minimum distance = ATR × ATR Multiplier
Only pivots that pass both filters are plotted.
✅ 4. Line Drawing
Once a pivot is:
Detected
Retested
Filtered
…a horizontal dashed line is drawn at that level to highlight support or resistance.
Resistance: Red (default)
Support: Green (default)
These lines are:
Dashed for clarity
Extended for X bars into the future (user-defined) for forward visibility
🎛️ Customizable Inputs
Parameter Description
Pivot Lookback/Lookahead Bars to the left and right of a pivot to confirm it
Minimum Level Difference Minimum price difference required between plotted levels
ATR Length Number of bars used in ATR volatility calculation
ATR Multiplier for Pivot Multiplies ATR to determine volatility-based pivot separation
Line Extension (bars) How many future bars the level line will extend for better visibility
Resistance Line Color Color for resistance lines (default: red)
Support Line Color Color for support lines (default: green)
📈 How to Use It
This indicator is ideal for:
Identifying dynamic support & resistance zones that adapt to volatility.
Avoiding false levels by waiting for pivot confirmation.
Visual guidance for entries, exits, stop placements, or take-profits.
🔑 Trade Ideas:
Use support/resistance retests for entry confirmations.
Combine with candlestick patterns or volume spikes near drawn levels.
Use in confluence with trendlines or moving averages.
🚫 What It Does Not Do (By Design)
Does not repaint or remove past levels once confirmed.
Does not include labels or alerts (but can be added).
Does not auto-scale based on timeframes (manual tuning recommended).
🛠️ Possible Enhancements (Optional)
If desired, you could extend the functionality to include:
Labels with “S” / “R”
Alert when a new level is tested or broken
Toggle for support/resistance visibility
Adjustable line width or style
tance indicator
Stoch_RSIStochastic RSI – Advanced Divergence Indicator
This custom indicator is an advanced version of the Stochastic RSI that not only smooths and refines the classic RSI input but also automatically detects both regular and hidden divergences using two powerful methods: fractal-based and pivot-based detection. Originally inspired by contributions from @fskrypt, @RicardoSantos, and later improved by developers like @NeoButane and @FYMD, this script has been fully refined for clarity and ease-of-use.
Key Features:
Dual Divergence Detection:
Fractal-Based Divergence: Uses a four-candle pattern to confirm top and bottom fractals for bullish and bearish divergences.
Pivot-Based Divergence: Employs TradingView’s built-in pivot functions for an alternate view of divergence conditions.
Customizable Settings:
The inputs are organized into logical groups (Stoch RSI settings, Divergence Options, Labels, and Market Open Settings) allowing you to adjust smoothing periods, RSI and Stochastic lengths, and divergence thresholds with a user-friendly interface.
Visual Enhancements:
Plots & Fills: The indicator plots both the K and D lines with corresponding fills and horizontal bands for quick visual reference.
Divergence Markers: Diamond shapes and labeled markers indicate regular and hidden divergences on the chart.
Market Open Highlighting: Optional histogram plots highlight the market open candle based on different timeframes for stocks versus non-forex symbols.
CandelaCharts - Premium & Discount 📝 Overview
Premium and Discount are key concepts in ICT (Inner Circle Trader) trading strategies, used to pinpoint ideal entry and exit points in the market. These concepts are based on an understanding of market structure and the behavior of institutional traders, commonly referred to as Smart Money.
To understand the Premium and Discount zones, it's crucial to first grasp the concept of the equilibrium level, also known as the basic or fair value. The equilibrium represents the midpoint of a given price range and acts as a reference point, dividing the range into Premium and Discount zones.
The equilibrium reflects the "fair value" of the price within the considered range. Traders use this as a benchmark to assess whether the current price is in the Premium or Discount zone.
The Premium zone lies above the equilibrium level, while the Discount zone is located below it within the price range.
📦 Features
Swing-based detection
Custom detection
Modes
Styling
⚙️ Settings
Range: Determines how you will identify Premium and Discount, either by swing points or by custom date.
Mode: Controls what UI will be displayed
Premium: Sets the Premium color
Discount: Sets the Discount color
Equilibrium: Sets the Equilibrium color
Labels: Controls the labels visibility
⚡️ Showcase
Pro Mode
Solid Mode
Outlined Mode
Flat Mode
The Indicator can be effortlessly applied in replay mode to highlight premium and discount zones based on the most prominent market swings.
🚨 Alerts
The indicator does not provide any alerts!
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
NY ORB, VWAP & EMAsIndicator is designed to display key technical analysis tools on your Trading View chart. It includes:
One of the key benefits of this indicator is that it allows Basic Trading View users to set VWAP, EMAs, and ORB in a single indicator. This is particularly useful for users who are limited to a single indicator on their Basic plan, as it provides a comprehensive view of market sentiment, trend, and potential breakouts without the need for multiple indicators.
Features
New York Opening Range Breakout (ORB): Plots the high and low of the first 15 minutes (configurable) of the New York trading session.
Volume Weighted Average Price (VWAP): Displays the VWAP line, which can be toggled on or off.
Exponential Moving Averages (EMAs): Plots four EMAs (9, 21, 50, and 200 periods), which can also be toggled on or off.
Customization
ORB Length: Choose from 5 or 15 minutes for the ORB calculation.
Show VWAP and EMAs: Toggle the visibility of the VWAP and EMA lines on or off.
Usage
This indicator is designed to help traders identify key market levels, trends, and potential breakouts during the New York trading session. The ORB can be used to gauge market sentiment, while the VWAP provides a benchmark for average price action. The EMAs offer additional trend analysis and can be used to identify potential support and resistance levels.