chrono_utilsLibrary "chrono_utils"
Collection of objects and common functions that are related to datetime windows session days and time
ranges. The main purpose of this library is to handle time-related functionality and make it easy to reason about a
future bar checking if it will be part of a predefined session and/or inside a datetime window. All existing session
functionality I found in the documentation e.g. "not na(time(timeframe, session, timezone))" are not suitable for
strategy scripts, since the execution of the orders is delayed by one bar, due to the script execution happening at
the bar close. Moreover, a history operator with a negative value that looks forward is not allowed in any pinescript
expression. So, a prediction for the next bar using the bars_back argument of "time()"" and "time_close()" was
necessary. Thus, I created this library to overcome this small but very important limitation. In the meantime, I
added useful functionality to handle session-based behavior. An interesting utility that emerged from this
development is the data anomaly detection where a comparison between the prediction and the actual value is happening.
If those two values are different then a data inconsistency happened between the prediction bar and the actual bar
(probably due to a holiday, half session day, a timezone change etc..)
exTimezone(timezone)
exTimezone - Convert extended timezone to timezone string
Parameters:
timezone (simple string) : - The timezone or a special string
Returns: string representing the timezone
nameOfDay(day)
nameOfDay - Convert the day id into a short nameOfDay
Parameters:
day (int) : - The day id to convert
Returns: - The short name of the day
today()
today - Get the day id of this day
Returns: - The day id
nthDayAfter(day, n)
nthDayAfter - Get the day id of n days after the given day
Parameters:
day (int) : - The day id of the reference day
n (int) : - The number of days to go forward
Returns: - The day id of the day that is n days after the reference day
nextDayAfter(day)
nextDayAfter - Get the day id of next day after the given day
Parameters:
day (int) : - The day id of the reference day
Returns: - The day id of the next day after the reference day
nthDayBefore(day, n)
nthDayBefore - Get the day id of n days before the given day
Parameters:
day (int) : - The day id of the reference day
n (int) : - The number of days to go forward
Returns: - The day id of the day that is n days before the reference day
prevDayBefore(day)
prevDayBefore - Get the day id of previous day before the given day
Parameters:
day (int) : - The day id of the reference day
Returns: - The day id of the previous day before the reference day
tomorrow()
tomorrow - Get the day id of the next day
Returns: - The next day day id
normalize(num, min, max)
normalizeHour - Check if number is inthe range of
Parameters:
num (int)
min (int)
max (int)
Returns: - The normalized number
normalizeHour(hourInDay)
normalizeHour - Check if hour is valid and return a noralized hour range from
Parameters:
hourInDay (int)
Returns: - The normalized hour
normalizeMinute(minuteInHour)
normalizeMinute - Check if minute is valid and return a noralized minute from
Parameters:
minuteInHour (int)
Returns: - The normalized minute
monthInMilliseconds(mon)
monthInMilliseconds - Calculate the miliseconds in one bar of the timeframe
Parameters:
mon (int) : - The month of reference to get the miliseconds
Returns: - The number of milliseconds of the month
barInMilliseconds()
barInMilliseconds - Calculate the miliseconds in one bar of the timeframe
Returns: - The number of milliseconds in one bar
method to_string(this)
to_string - Formats the time window into a human-readable string
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object with the from and to datetimes
Returns: - The string of the time window
method to_string(this)
to_string - Formats the session days into a human-readable string with short day names
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
Returns: - The string of the session day short names
method to_string(this)
to_string - Formats the session time into a human-readable string
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
Returns: - The string of the session time
method to_string(this)
to_string - Formats the session time into a human-readable string
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object with the start and end time of the daily session
Returns: - The string of the session time
method to_string(this)
to_string - Formats the session into a human-readable string
Namespace types: Session
Parameters:
this (Session) : - The session object with the day and the time range selection
Returns: - The string of the session
method init(this, fromDateTime, toDateTime)
init - Initialize the time window object from boolean values of each session day
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object that will hold the from and to datetimes
fromDateTime (int) : - The starting datetime of the time window
toDateTime (int) : - The ending datetime of the time window
Returns: - The time window object
method init(this, refTimezone, chTimezone, fromDateTime, toDateTime)
init - Initialize the time window object from boolean values of each session day
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object that will hold the from and to datetimes
refTimezone (simple string) : - The timezone of reference of the 'from' and 'to' dates
chTimezone (simple string) : - The target timezone to convert the 'from' and 'to' dates
fromDateTime (int) : - The starting datetime of the time window
toDateTime (int) : - The ending datetime of the time window
Returns: - The time window object
method init(this, sun, mon, tue, wed, thu, fri, sat)
init - Initialize the session days object from boolean values of each session day
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object that will hold the day selection
sun (bool) : - Is Sunday a trading day?
mon (bool) : - Is Monday a trading day?
tue (bool) : - Is Tuesday a trading day?
wed (bool) : - Is Wednesday a trading day?
thu (bool) : - Is Thursday a trading day?
fri (bool) : - Is Friday a trading day?
sat (bool) : - Is Saturday a trading day?
Returns: - The session days object
method init(this, unixTime)
init - Initialize the object from the hour and minute of the session time in exchange timezone (syminfo.timezone)
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
unixTime (int) : - The unix time
Returns: - The session time object
method init(this, hourInDay, minuteInHour)
init - Initialize the object from the hour and minute of the session time in exchange timezone (syminfo.timezone)
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
hourInDay (int) : - The hour of the time
minuteInHour (int) : - The minute of the time
Returns: - The session time object
method init(this, hourInDay, minuteInHour, refTimezone)
init - Initialize the object from the hour and minute of the session time
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
hourInDay (int) : - The hour of the time
minuteInHour (int) : - The minute of the time
refTimezone (string) : - The timezone of reference of the 'hour' and 'minute'
Returns: - The session time object
method init(this, startTime, endTime)
init - Initialize the object from the start and end session time in exchange timezone (syminfo.timezone)
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object that will hold the start and end time of the daily session
startTime (SessionTime) : - The time the session begins
endTime (SessionTime) : - The time the session ends
Returns: - The session time range object
method init(this, startTimeHour, startTimeMinute, endTimeHour, endTimeMinute, refTimezone)
init - Initialize the object from the start and end session time
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object that will hold the start and end time of the daily session
startTimeHour (int) : - The time hour the session begins
startTimeMinute (int) : - The time minute the session begins
endTimeHour (int) : - The time hour the session ends
endTimeMinute (int) : - The time minute the session ends
refTimezone (string)
Returns: - The session time range object
method init(this, days, timeRanges)
init - Initialize the session object from session days and time range
Namespace types: Session
Parameters:
this (Session) : - The session object that will hold the day and the time range selection
days (SessionDays) : - The session days object that defines the days the session is happening
timeRanges (array) : - The array of all the session time ranges during a session day
Returns: - The session object
method init(this, days, timeRanges, names, colors)
init - Initialize the session object from session days and time range
Namespace types: SessionView
Parameters:
this (SessionView) : - The session view object that will hold the session, the names and the color selections
days (SessionDays) : - The session days object that defines the days the session is happening
timeRanges (array) : - The array of all the session time ranges during a session day
names (array) : - The array of the names of the sessions
colors (array) : - The array of the colors of the sessions
Returns: - The session object
method get_size_in_secs(this)
get_size_in_secs - Count the seconds from start to end in the given timeframe
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object with the from and to datetimes
Returns: - The number of seconds inside the time widow for the given timeframe
method get_size_in_secs(this)
get_size_in_secs - Calculate the seconds inside the session
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object with the start and end time of the daily session
Returns: - The number of seconds inside the session
method get_size_in_bars(this)
get_size_in_bars - Count the bars from start to end in the given timeframe
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object with the from and to datetimes
Returns: - The number of bars inside the time widow for the given timeframe
method get_size_in_bars(this)
get_size_in_bars - Calculate the bars inside the session
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object with the start and end time of the daily session
Returns: - The number of bars inside the session for the given timeframe
method is_bar_included(this, offset_forward)
is_bar_included - Check if the given bar is between the start and end dates of the window
Namespace types: DateTimeWindow
Parameters:
this (DateTimeWindow) : - The time window object with the from and to datetimes
offset_forward (simple int) : - The number of bars forward. Default is 1
Returns: - Whether the current bar is inside the datetime window
method is_bar_included(this, offset_forward)
is_bar_included - Check if the given bar is inside the session as defined by the input params (what "not na(time(timeframe.period, this.to_sess_string()) )" should return if you could write it
Namespace types: Session
Parameters:
this (Session) : - The session with the day and the time range selection
offset_forward (simple int) : - The bar forward to check if it is between the from and to datetimes. Default is 1
Returns: - Whether the current time is inside the session
method to_sess_string(this)
to_sess_string - Formats the session days into a session string with day ids
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object
Returns: - The string of the session day ids
method to_sess_string(this)
to_sess_string - Formats the session time into a session string
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
Returns: - The string of the session time
method to_sess_string(this)
to_sess_string - Formats the session time into a session string
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object with the start and end time of the daily session
Returns: - The string of the session time
method to_sess_string(this)
to_sess_string - Formats the session into a session string
Namespace types: Session
Parameters:
this (Session) : - The session object with the day and the time range selection
Returns: - The string of the session
method from_sess_string(this, sess)
from_sess_string - Initialize the session days object from the session string
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object that will hold the day selection
sess (string) : - The session string part that represents the days
Returns: - The session days object
method from_sess_string(this, sess)
from_sess_string - Initialize the session time object from the session string in exchange timezone (syminfo.timezone)
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object that will hold the hour and minute of the time
sess (string) : - The session string part that represents the time HHmm
Returns: - The session time object
method from_sess_string(this, sess, refTimezone)
from_sess_string - Initialize the session time object from the session string
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object that will hold the hour and minute of the time
sess (string) : - The session string part that represents the time HHmm
refTimezone (simple string) : - The timezone of reference of the 'hour' and 'minute'
Returns: - The session time object
method from_sess_string(this, sess)
from_sess_string - Initialize the session time range object from the session string in exchange timezone (syminfo.timezone)
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object that will hold the start and end time of the daily session
sess (string) : - The session string part that represents the time range HHmm-HHmm
Returns: - The session time range object
method from_sess_string(this, sess, refTimezone)
from_sess_string - Initialize the session time range object from the session string
Namespace types: SessionTimeRange
Parameters:
this (SessionTimeRange) : - The session time range object that will hold the start and end time of the daily session
sess (string) : - The session string part that represents the time range HHmm-HHmm
refTimezone (simple string) : - The timezone of reference of the time ranges
Returns: - The session time range object
method from_sess_string(this, sess)
from_sess_string - Initialize the session object from the session string in exchange timezone (syminfo.timezone)
Namespace types: Session
Parameters:
this (Session) : - The session object that will hold the day and the time range selection
sess (string) : - The session string that represents the session HHmm-HHmm,HHmm-HHmm:ddddddd
Returns: - The session time range object
method from_sess_string(this, sess, refTimezone)
from_sess_string - Initialize the session object from the session string
Namespace types: Session
Parameters:
this (Session) : - The session object that will hold the day and the time range selection
sess (string) : - The session string that represents the session HHmm-HHmm,HHmm-HHmm:ddddddd
refTimezone (simple string) : - The timezone of reference of the time ranges
Returns: - The session time range object
method nth_day_after(this, day, n)
nth_day_after - The nth day after the given day that is a session day (true) in the object
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
day (int) : - The day id of the reference day
n (int) : - The number of days after
Returns: - The day id of the nth session day of the week after the given day
method nth_day_before(this, day, n)
nth_day_before - The nth day before the given day that is a session day (true) in the object
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
day (int) : - The day id of the reference day
n (int) : - The number of days after
Returns: - The day id of the nth session day of the week before the given day
method next_day(this)
next_day - The next day that is a session day (true) in the object
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
Returns: - The day id of the next session day of the week
method previous_day(this)
previous_day - The previous day that is session day (true) in the object
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
Returns: - The day id of the previous session day of the week
method get_sec_in_day(this)
get_sec_in_day - Count the seconds since the start of the day this session time represents
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
Returns: - The number of seconds passed from the start of the day until that session time
method get_ms_in_day(this)
get_ms_in_day - Count the milliseconds since the start of the day this session time represents
Namespace types: SessionTime
Parameters:
this (SessionTime) : - The session time object with the hour and minute of the time of the day
Returns: - The number of milliseconds passed from the start of the day until that session time
method is_day_included(this, day)
is_day_included - Check if the given day is inside the session days
Namespace types: SessionDays
Parameters:
this (SessionDays) : - The session days object with the day selection
day (int) : - The day to check if it is a trading day
Returns: - Whether the current day is included in the session days
DateTimeWindow
DateTimeWindow - Object that represents a datetime window with a beginning and an end
Fields:
fromDateTime (series int) : - The beginning of the datetime window
toDateTime (series int) : - The end of the datetime window
SessionDays
SessionDays - Object that represent the trading days of the week
Fields:
days (map) : - The map that contains all days of the week and their session flag
SessionTime
SessionTime - Object that represents the time (hour and minutes)
Fields:
hourInDay (series int) : - The hour of the day that ranges from 0 to 24
minuteInHour (series int) : - The minute of the hour that ranges from 0 to 59
minuteInDay (series int) : - The minute of the day that ranges from 0 to 1440. They will be calculated based on hourInDay and minuteInHour when method is called
SessionTimeRange
SessionTimeRange - Object that represents a range that extends from the start to the end time
Fields:
startTime (SessionTime) : - The beginning of the time range
endTime (SessionTime) : - The end of the time range
isOvernight (series bool) : - Whether or not this is an overnight time range
Session
Session - Object that represents a session
Fields:
days (SessionDays) : - The map of the trading days
timeRanges (array) : - The array with all time ranges of the session during the trading days
SessionView
SessionView - Object that visualize a session
Fields:
sess (Session) : - The Session object to be visualized
names (array) : - The names of the session time ranges
colors (array) : - The colors of the session time ranges
Cari dalam skrip untuk "session"
Power Hour Money StrategyDescription of the Pine Script Code: "Power Hour Money Strategy"
This Pine Script strategy, "Power Hour Money Strategy," is designed to trade based on the alignment of multiple time frames (month, week, day, and hour). The strategy aims to enter long or short positions depending on whether all selected time frames are in sync (all green for long positions, all red for short positions). Additionally, the script includes configurations for trading during specific sessions and automatically closing positions at the end of the trading day.
Core Features:
1. Time Frame Sync Check:
- The strategy evaluates whether the current price is higher than the opening price for the month, week, day, and hour to determine if each time frame is "green" (bullish) or "red" (bearish).
2. Session Control:
- The user can select between different trading sessions:
- "NY Session 9:30-11:30"
- "Extended NY Session 8-4"
- "All Sessions"
- Trades are only executed if the current time falls within the selected session.
3. Trailing Stop Mechanism:
- The strategy includes an optional trailing stop mechanism for both long and short positions.
- The trailing stop is configured with a percentage loss from the current price to protect gains.
4. End-of-Day Position Management:
- An option is provided to automatically close all positions at the end of the trading day (5:45 PM Eastern Time).
Detailed Code Breakdown:
1. Input Settings:
- **Session Selection**: Allows the user to choose the trading session.
- **End-of-Day Close**: Option to automatically close positions at the end of the day.
- **Trailing Stop Loss**: Enables or disables the trailing stop loss feature and sets the percentage for long and short positions.
2. Time Frame Calculations:
- The script uses `request.security` to get the opening prices for higher time frames (monthly, weekly, daily, and hourly).
- It compares the current close price to these opening prices to determine if each time frame is green or red.
3. Session Time Definitions:
- Defines the start and end times for the NY session (9:30-11:30 AM) and the extended session (8:00 AM - 4:00 PM).
4. Trade Execution:
- The strategy checks if all selected time frames are in sync and if the current time falls within the trading session.
- If all conditions are met, it enters a long or short position.
5. Trailing Stop Loss Implementation:
- Adjusts the stop price based on the trailing percentage and the current position's size.
- Automatically exits positions if the trailing stop condition is met.
6. End-of-Day Close Implementation:
- Uses a timestamp to check if the current time is 5:45 PM Eastern Time.
- Closes all positions if the end-of-day condition is met.
7. Plotting and Logging:
- Plots indicators to visualize the green/red status of each time frame.
- Logs information about the status of each time frame for debugging and analysis.
Example Usage:
Entering a Long Position: If the month, week, day, and hour are all green and the current time is within the selected session, a long position is entered.
Entering a Short Position: If the month, week, day, and hour are all red and the current time is within the selected session, a short position is entered.
Trailing Stop: Protects gains by exiting the position if the price moves against the set trailing stop percentage.
End-of-Day Close: Automatically closes all open positions at 5:45 PM Eastern Time if enabled.
This strategy is particularly useful for traders who want to ensure that multiple time frames are in alignment before entering a trade and who wish to manage positions effectively throughout the trading day with specific session controls and trailing stops.
Weekday Signal [QuantAlchemy]### Weekday Signal Indicator
#### Overview
The "Weekday Signal " indicator offers a method for triggering entry and exit signals based on specific weekdays and defined trading sessions. This allows traders to tailor their strategies to time slots and days, ensuring strategic execution and optimal trading periods.
Additionally, this indicator exposes signals for external use in other scripts, enabling integration with additional trading strategies or indicators, thereby enhancing its utility and flexibility for trading systems.
#### Definitions
- **Weekday Signal**: An indicator designed to trigger entry and exit signals based on specific weekdays within defined trading sessions.
- **Time Zone**: The local or preferred time zone setting to match market hours across global exchanges.
- **Trading Session**: The specific hours within a day when the trading signals are active.
#### Plots
- **Enter Signal**: Plots a signal when the conditions for entering a trade are met.
- **Exit Signal**: Plots a signal when the conditions for exiting a trade are met.
#### Properties
- **Flexible Time Zones**: Allows users to set their preferred time zone to align with global market hours.
- **Customizable Entry and Exit Days**: Users can select specific weekdays for entry and exit signals.
- **Defined Trading Sessions**: Users can define trading session hours to restrict signals to optimal market times.
- **Visual Indicators**: Provides clear visual plots and background colors on the chart to indicate when entry and exit criteria are met.
- **Dual Group Configuration**: Separate controls for entry and exit setups, offering flexibility in managing trading signals.
#### How to Read
1. **Green Background**: Indicates a potential entry signal.
2. **Red Background**: Indicates a potential exit signal.
3. **Status Line and Data Window**: Shows a value of 1 when an entry or exit condition is met and 0 otherwise.
#### Proposed Interpretations
- **Entry Signals**: When the background turns green and the status line/data window shows a value of 1, it indicates a potential time to enter a trade based on the selected weekday and session.
- **Exit Signals**: When the background turns red and the status line/data window shows a value of 1, it indicates a potential time to exit a trade based on the selected weekday and session.
#### Essential Knowledge
- **Weekdays and Trading Sessions**: Understanding the significance of specific trading days and sessions can help in optimizing trade timings.
- **Time Zones**: Correctly setting the time zone ensures alignment with market hours and accurate signal generation.
#### Deeper Concepts
- **Signal Filtering**: The script uses the `time_filter` library to determine if the current time falls within the defined entry or exit periods.
#### Typical Use Cases
- **Intraday Trading**: Traders who want to restrict their trades to specific weekdays and trading sessions.
- **Strategy Integration**: Users can integrate the signals from this indicator into broader trading strategies or other Pine Scripts using the signals as an external reference to an input.
#### Limitations
- **Time Zone Settings**: Incorrect time zone settings can lead to misaligned signals.
- **Trading Sessions**: Signals are limited to the defined trading session hours, which may not cover all market conditions.
#### Final Thoughts
The "Weekday Signal " indicator is a tool for traders looking to refine their entry and exit points based on specific days and sessions. By leveraging customizable time zones and trading sessions, traders can refine their strategic execution.
#### Disclaimer
This indicator is for educational purposes only and should not be construed as financial advice. Trading involves risk, and you should consult with a qualified financial advisor before making any trading decisions.
Scalping The BullNome: Scalping The Bull (Indicatore)
Categoria: Scalping, Trend Following, Mean Reversion.
Timeframe: 1M, 5M, 30M, 1D, secondo la conformazione specifica.
(follow description in english)
Analisi tecnica: l’indicatore supporta le operatività descritte nei video di YouTube del canale “Scalping The Bull”. Di norma si basa su price action e medie mobili esponenziali.
Le varie tecniche che possono essere usate insieme all’indicatore sono sintetizzate nei settaggi dell’indicatore e si può fare riferimento ai video specifici per la spiegazione completa.
Utilizzo consigliato: Altcoin che presentano forti trend per scalping e operazioni intra-day.
Configurazione: È possibile configurare lo strumento in maniera semplice e completa.
Medie:
Medie per mercato: e’ possibile utilizzare le medie mobili esponenziali (EMA) esclusivamente per il mercato Crypto (5/10/60/223).
Media addizionale: e’ possibile visualizzare una media aggiuntiva, e.g. a 20 periodi.
Elementi del grafico:
Sfondo: segnala con lo sfondo del grafico in verde una situazione di uptrend ( EMA 60 > EMA 223) e in rosso sfondo rosso una situazione di downtrend (EMA 60 < EMA 223).
Separatori di sessioni: indica l’inizio della sessione corrente.
Punti Trigger:
Massimi e minimi di oggi: disegna sul grafico il prezzo di apertura della candela daily e i massimi e i minimi di giornata.
Massimi minimi di ieri: disegna sul grafico il prezzo di apertura della candela daily, i massimi e i minimi del giorno prima.
(English description)
Name: Scalping The Bull (Indicator)
Category: Scalping, Trend Following, Mean Reversion.
Timeframe: 1M, 5M, 30M, 1D depending on the specific signal.
Technical Analysis: The indicator supports the operations described in the YouTube videos of the channel "Scalping The Bull". Usually it is based on price action and exponential moving averages.
The various techniques that can be used in conjunction with the indicator are summarized in the indicator settings and you can refer to the specific videos for the full explanation.
Suggested usage: Altcoin showing strong trends for scalping and intra-day trades.
Configuration:
Exponential Moving Averages
Per market: you can display averages exclusively for the Crypto market (5/10/60/223).
Additional Average: You can display an additional average, e.g. 20-period average.
Chart elements:
Session Separators: indicates the beginning of the current session.
Background: signals with the background in green an uptrend situation ( 60 > 223) and in red background a downtrend situation (60 < 223).
Trigger points:
Today's highs and lows: draw on the chart the opening price of the daily candle and the highs and lows of the day.
Yesterday's highs and lows: draw on the chart the opening price of the daily candle, the highs and lows of the previous day.
Advanced Volume Profile Pro Delta + POC + VAH/VAL# Advanced Volume Profile Pro - Delta + POC + VAH/VAL Analysis System
## WHAT THIS SCRIPT DOES
This script creates a comprehensive volume profile analysis system that combines traditional volume-at-price distribution with delta volume calculations, Point of Control (POC) identification, and Value Area (VAH/VAL) analysis. Unlike standard volume indicators that show only total volume over time, this script analyzes volume distribution across price levels and estimates buying vs selling pressure using multiple calculation methods to provide deeper market structure insights.
## WHY THIS COMBINATION IS ORIGINAL AND USEFUL
**The Problem Solved:** Traditional volume indicators show when volume occurs but not where price finds acceptance or rejection. Standalone volume profiles lack directional bias information, while basic delta calculations don't provide structural context. Traders need to understand both volume distribution AND directional sentiment at key price levels.
**The Solution:** This script implements an integrated approach that:
- Maps volume distribution across price levels using configurable row density
- Estimates delta (buying vs selling pressure) using three different methodologies
- Identifies Point of Control (highest volume price level) for key support/resistance
- Calculates Value Area boundaries where 70% of volume traded
- Provides real-time alerts for key level interactions and volume imbalances
**Unique Features:**
1. **Developing POC Visualization**: Real-time tracking of Point of Control migration throughout the session via blue dotted trail, revealing institutional accumulation/distribution patterns before they complete
2. **Multi-Method Delta Calculation**: Price Action-based, Bid/Ask estimation, and Cumulative methods for different market conditions
3. **Adaptive Timeframe System**: Auto-adjusts calculation parameters based on chart timeframe for optimal performance
4. **Flexible Profile Types**: N Bars Back (precise control), Days Back (calendar-based), and Session-based analysis modes
5. **Advanced Imbalance Detection**: Identifies and highlights significant buying/selling imbalances with configurable thresholds
6. **Comprehensive Alert System**: Monitors POC touches, Value Area entry/exit, and major volume imbalances
## HOW THE SCRIPT WORKS TECHNICALLY
### Core Volume Profile Methodology:
**1. Price Level Distribution:**
- Divides price range into user-defined rows (10-50 configurable)
- Calculates row height: `(Highest Price - Lowest Price) / Number of Rows`
- Distributes each bar's volume across price levels it touched proportionally
**2. Delta Volume Calculation Methods:**
**Price Action Method:**
```
Price Range = High - Low
Buy Pressure = (Close - Low) / Price Range
Sell Pressure = (High - Close) / Price Range
Buy Volume = Total Volume × Buy Pressure
Sell Volume = Total Volume × Sell Pressure
Delta = Buy Volume - Sell Volume
```
**Bid/Ask Estimation Method:**
```
Average Price = (High + Low + Close) / 3
Buy Volume = Close > Average ? Volume × 0.6 : Volume × 0.4
Sell Volume = Total Volume - Buy Volume
```
**Cumulative Method:**
```
Buy Volume = Close > Open ? Volume : Volume × 0.3
Sell Volume = Close ≤ Open ? Volume : Volume × 0.3
```
**3. Point of Control (POC) Identification:**
- Scans all price levels to find maximum volume concentration
- POC represents the price level with highest trading activity
- Acts as significant support/resistance level
- **Developing POC Feature**: Tracks POC evolution in real-time via blue dotted trail, showing how institutional interest migrates throughout the session. Upward POC migration indicates accumulation patterns, downward migration suggests distribution, providing early trend signals before price confirmation.
**4. Value Area Calculation:**
- Starts from POC and expands up/down to encompass 70% of total volume
- VAH (Value Area High): Upper boundary of value area
- VAL (Value Area Low): Lower boundary of value area
- Expansion algorithm prioritizes direction with higher volume
**5. Adaptive Range Selection:**
Based on profile type and timeframe optimization:
- **N Bars Back**: Fixed lookback period with performance optimization (20-500 bars)
- **Days Back**: Calendar-based analysis with automatic timeframe adjustment (1-365 days)
- **Session**: Current trading session or custom session times
### Performance Optimization Features:
- **Sampling Algorithm**: Reduces calculation load on large datasets while maintaining accuracy
- **Memory Management**: Clears previous drawings to prevent performance degradation
- **Safety Constraints**: Prevents excessive memory usage with configurable limits
## HOW TO USE THIS SCRIPT
### Initial Setup:
1. **Profile Configuration**: Select profile type based on trading style:
- N Bars Back: Precise control over data range
- Days Back: Intuitive calendar-based analysis
- Session: Real-time session development
2. **Row Density**: Set number of rows (30 default) - more rows = higher resolution, slower performance
3. **Delta Method**: Choose calculation method based on market type:
- Price Action: Best for trending markets
- Bid/Ask Estimate: Good for ranging markets
- Cumulative: Smoothed approach for volatile markets
4. **Visual Settings**: Configure colors, position (left/right), and display options
### Reading the Profile:
**Volume Bars:**
- **Length**: Represents relative volume at that price level
- **Color**: Green = net buying pressure, Red = net selling pressure
- **Intensity**: Darker colors indicate volume imbalances above threshold
**Key Levels:**
- **POC (Blue Line)**: Highest volume price - major support/resistance
- **VAH (Purple Dashed)**: Value Area High - upper boundary of fair value
- **VAL (Orange Dashed)**: Value Area Low - lower boundary of fair value
- **Value Area Fill**: Shaded region showing main trading range
**Developing POC Trail:**
- **Blue Dotted Lines**: Show real-time POC evolution throughout the session
- **Migration Patterns**: Upward trail indicates bullish accumulation, downward trail suggests bearish distribution
- **Early Signals**: POC movement often precedes price movement, providing advance warning of institutional activity
- **Institutional Footprints**: Reveals where smart money concentrated volume before final POC establishment
### Trading Applications:
**Support/Resistance Analysis:**
- POC acts as magnetic price level - expect reactions
- VAH/VAL provide intermediate support/resistance levels
- Profile edges show areas of low volume acceptance
**Developing POC Analysis:**
- **Upward Migration**: POC moving higher = institutional accumulation, bullish bias
- **Downward Migration**: POC moving lower = institutional distribution, bearish bias
- **Stable POC**: Tight clustering = balanced market, range-bound conditions
- **Early Trend Detection**: POC direction change often precedes price breakouts
**Entry Strategies:**
- Buy at VAL with POC as target (in uptrends)
- Sell at VAH with POC as target (in downtrends)
- Breakout plays above/below profile extremes
**Volume Imbalance Trading:**
- Strong buying imbalance (>60% threshold) suggests continued upward pressure
- Strong selling imbalance suggests continued downward pressure
- Imbalances near key levels provide high-probability setups
**Multi-Timeframe Context:**
- Use higher timeframe profiles for major levels
- Lower timeframe profiles for precise entries
- Session profiles for intraday trading structure
## SCRIPT SETTINGS EXPLANATION
### Volume Profile Settings:
- **Profile Type**: Determines data range for calculation
- N Bars Back: Exact number of bars (20-500 range)
- Days Back: Calendar days with timeframe adaptation (1-365 days)
- Session: Trading session-based (intraday focus)
- **Number of Rows**: Profile resolution (10-50 range)
- **Profile Width**: Visual width as chart percentage (10-50%)
- **Value Area %**: Volume percentage for VA calculation (50-90%, 70% standard)
- **Auto-Adjust**: Automatically optimizes for different timeframes
### Delta Volume Settings:
- **Show Delta Volume**: Enable/disable delta calculations
- **Delta Calculation Method**: Choose methodology based on market conditions
- **Highlight Imbalances**: Visual emphasis for significant volume imbalances
- **Imbalance Threshold**: Percentage for imbalance detection (50-90%)
### Session Settings:
- **Session Type**: Daily, Weekly, Monthly, or Custom periods
- **Custom Session Time**: Define specific trading hours
- **Previous Sessions**: Number of historical sessions to display
### Days Back Settings:
- **Lookback Days**: Number of calendar days to analyze (1-365)
- **Automatic Calculation**: Script automatically converts days to bars based on timeframe:
- Intraday: Accounts for 6.5 trading hours per day
- Daily: 1 bar per day
- Weekly/Monthly: Proportional adjustment
### N Bars Back Settings:
- **Lookback Bars**: Exact number of bars to analyze (20-500)
- **Precise Control**: Best for systematic analysis and backtesting
### Visual Customization:
- **Colors**: Bullish (green), Bearish (red), and level colors
- **Profile Position**: Left or Right side of chart
- **Profile Offset**: Distance from current price action
- **Labels**: Show/hide level labels and values
- **Smooth Profile Bars**: Enhanced visual appearance
### Alert Configuration:
- **POC Touch**: Alerts when price interacts with Point of Control
- **VA Entry/Exit**: Alerts for Value Area boundary interactions
- **Major Imbalance**: Alerts for significant volume imbalances
## VISUAL FEATURES
### Profile Display:
- **Horizontal Bars**: Volume distribution across price levels
- **Color Coding**: Delta-based coloring for directional bias
- **Smooth Rendering**: Optional smoothing for cleaner appearance
- **Transparency**: Configurable opacity for chart readability
### Level Lines:
- **POC**: Solid blue line with optional label
- **VAH/VAL**: Dashed colored lines with value displays
- **Extension**: Lines extend across relevant time periods
- **Value Area Fill**: Optional shaded region between VAH/VAL
### Information Table:
- **Current Values**: Real-time POC, VAH, VAL prices
- **VA Range**: Value Area width calculation
- **Positioning**: Multiple table positions available
- **Text Sizing**: Adjustable for different screen sizes
## IMPORTANT USAGE NOTES
**Realistic Expectations:**
- Volume profile analysis provides structural context, not trading signals
- Delta calculations are estimations based on price action, not actual order flow
- Past volume distribution does not guarantee future price behavior
- Combine with other analysis methods for comprehensive market view
**Best Practices:**
- Use appropriate profile types for your trading style:
- Day Trading: Session or Days Back (1-5 days)
- Swing Trading: Days Back (10-30 days) or N Bars Back
- Position Trading: Days Back (60-180 days)
- Consider market context (trending vs ranging conditions)
- Verify key levels with additional technical analysis
- Monitor profile development for changing market structure
**Performance Considerations:**
- Higher row counts increase calculation complexity
- Large lookback periods may affect chart performance
- Auto-adjust feature optimizes for most use cases
- Consider using session profiles for intraday efficiency
**Limitations:**
- Delta calculations are estimations, not actual transaction data
- Profile accuracy depends on available price/volume history
- Effectiveness varies across different instruments and market conditions
- Requires understanding of volume profile concepts for optimal use
**Data Requirements:**
- Requires volume data for accurate calculations
- Works best on liquid instruments with consistent volume
- May be less effective on very low volume or exotic instruments
This script serves as a comprehensive volume analysis tool for traders who need detailed market structure information with integrated directional bias analysis and real-time POC development tracking for informed trading decisions.
Advanced Market TheoryADVANCED MARKET THEORY (AMT)
This is not an indicator. It is a lens through which to see the true nature of the market.
Welcome to the definitive application of Auction Market Theory. What you have before you is the culmination of decades of market theory, fused with state-of-the-art data analysis and visual engineering. It is an institutional-grade intelligence engine designed for the serious trader who seeks to move beyond simplistic indicators and understand the fundamental forces that drive price.
This guide is your complete reference. Read it. Study it. Internalize it. The market is a complex story, and this tool is the language with which to read it.
PART I: THE GRAND THEORY - A UNIVERSE IN AN AUCTION
To understand the market, you must first understand its purpose. The market is a mechanism of discovery, organized by a continuous, two-way auction.
This foundational concept was pioneered by the legendary trader J. Peter Steidlmayer at the Chicago Board of Trade in the 1980s. He observed that beneath the chaotic facade of ticking prices lies a beautifully organized structure. The market's primary function is not to go up or down, but to facilitate trade by seeking a price level that encourages the maximum amount of interaction between buyers and sellers. This price is "value."
The Organizing Principle: The Normal Distribution
Over any given period, the market's activity will naturally form a bell curve (a normal distribution) turned on its side. This is the blueprint of the auction.
The Point of Control (POC): This is the peak of the bell curve—the single price level where the most trade occurred. It represents the point of maximum consensus, the "fairest price" as determined by the market participants. It is the gravitational center of the session.
The Value Area (VA): This is the heart of the bell curve, typically containing 70% of the session's activity (one standard deviation). This is the zone of "accepted value." Prices within this area are considered fair and are where the market is most comfortable conducting business.
The Extremes: The thin areas at the top and bottom of the curve are the "unfair" prices. These are levels where one side of the auction (buyers at the top, sellers at the bottom) was shut off, and trade was quickly rejected. These are areas of emotional trading and excess.
The Narrative of the Day: Balance vs. Imbalance
Every trading session is a story of the market's search for value.
Balance: When the market rotates and builds a symmetrical, bell-shaped profile, it is in a state of balance . Buyers and sellers are in agreement, and the market is range-bound.
Imbalance: When the market moves decisively away from a balanced area, it is in a state of imbalance . This is a trend. The market is actively seeking new information and a new area of value because the old one was rejected.
Your Purpose as a Trader
Your job is to read this story in real-time. Are we in balance or imbalance? Is the auction succeeding or failing at these new prices? The Advanced Market Theory engine is your Rosetta Stone to translate this complex narrative into actionable intelligence.
PART II: THE AMT ENGINE - AN EVOLUTION IN MARKET VISION
A standard market profile tool shows you a picture. The AMT Engine gives you the architect's full schematics, the engineer's stress tests, and the psychologist's behavioral analysis, all at once.
This is what makes it the Advanced Market Theory. We have fused the timeless principles with layers of modern intelligence:
TRINITY ANALYSIS: You can view the market through three distinct lenses. A Volume Profile shows where the money traded. A TPO (Time) Profile shows where the market spent its time. The revolutionary Hybrid Profile fuses both, giving you a complete picture of market conviction—marrying volume with duration.
AUTOMATED STRUCTURAL DECODING: The engine acts as your automated analyst, identifying critical structural phenomena in real-time:
Poor Highs/Lows: Weak auction points that signal a high probability of reversal.
Single Prints & Ledges: Footprints of rapid, aggressive market moves and areas of strong institutional acceptance.
Day Type Classification: The engine analyzes the session's personality as it develops ("Trend Day," "Normal Day," etc.), allowing you to adapt your strategy to the market's current character.
MACRO & MICRO FUSION: Via the Composite Profile , the engine merges weeks of data to reveal the major institutional battlegrounds that govern long-term price action. You can see the daily skirmish and the multi-month war on a single chart.
ORDER FLOW INTELLIGENCE: The ultimate advancement is the integrated Cumulative Volume Delta (CVD) engine. This moves beyond structure to analyze the raw aggression of buyers versus sellers. It is your window into the market's soul, automatically detecting critical Divergences that often precede major trend shifts.
ADAPTIVE SIGNALING: The engine's signal generation is not static; it is a thinking system. It evaluates setups based on a multi-factor Confluence Score , understands the market Regime (e.g., High Volatility), and adjusts its own confidence ( Probability % ) based on the complete context.
This is not a tool that gives you signals. This is a tool that gives you understanding .
PART III: THE VISUAL KEY - A LEXICON OF MARKET STRUCTURE
Every element on your chart is a piece of information. This is your guide to reading it fluently.
--- THE CORE ARCHITECTURE ---
The Profile Histogram: The primary visual on the left of each session. Its shape is the story. A thin profile is a trend; a fat, symmetrical profile is balance.
Blue Box : The zone of accepted, "fair" value. The heart of the session's business.
Bright Orange Line & Label : The Point of Control. The gravitational center. The price of maximum consensus. The most significant intraday level.
Dashed Blue Lines & Labels : The boundaries of value. Critical inflection points where the market decides to either remain in balance or seek value elsewhere.
Dashed Cyan Lines & Labels : The major, long-term structural levels derived from weeks of data. These are institutional reference points and carry immense weight. Treat them as primary support and resistance.
Dashed Orange Lines & Labels : Marks a Poor or Unfinished Auction . These represent emotional, weak extremes and are high-probability targets for future price action.
Diamond Markers : Mark Single Prints , which are footprints of aggressive, one-sided moves that left a "liquidity vacuum." Price is often drawn back to these levels to "repair" the poor structure.
Arrow Markers : Mark Ledges , which are areas of strong horizontal acceptance. They often act as powerful support/resistance in the future.
Dotted Gray Lines & Labels : The projected daily range based on multiples of the Initial Balance . Use them to set realistic profit targets and gauge the day's potential.
--- THE SIGNAL SUITE ---
Colored Triangles : These are your high-probability entry signals. The color is a strategic playbook:
Gold Triangle : ELITE Signal. An A+ setup with overwhelming confluence. This is the highest quality signal the engine can produce.
Yellow Triangle : FADE Signal. A counter-trend setup against an exhausted move at a structural extreme.
Cyan Triangle : BREAKOUT Signal. A momentum setup attempting to capitalize on a breakout from the value area.
Purple Triangle : ROTATION Signal. A mean-reversion setup within the value area, typically from one edge towards the POC.
Magenta Triangle : LIQUIDITY Signal. A sophisticated setup that identifies a "stop run" or liquidity sweep.
Percentage Number: The engine's calculated probability of success . This is not a guarantee, but a data-driven confidence score.
Dotted Gray Line: The signal's Entry Price .
Dashed Green Lines: The calculated Take Profit Targets .
Dashed Red Line: The calculated Stop Loss level.
PART IV: THE DASHBOARD - YOUR STRATEGIC COMMAND CENTER
The dashboard is your real-time intelligence briefing. It synthesizes all the engine's analysis into a clear, concise, and constantly updating summary.
--- CURRENT SESSION ---
POC, VAH, VAL: The live values for the core structure.
Profile Shape: Is the current auction top-heavy ( b-shaped ), bottom-heavy ( P-shaped ), or balanced ( D-shaped )?
VA Width: Is the value area expanding (trending) or contracting (balancing)?
Day Type: The engine's judgment on the day's personality. Use this to select the right strategy.
IB Range & POC Trend: Key metrics for understanding the opening sentiment and its evolution.
--- CVD ANALYSIS ---
Session CVD: The raw order flow. Is there more net buying or selling pressure in this session?
CVD Trend & DIVERGENCE: This is your order flow intelligence. Is the order flow confirming the price action? If "DIVERGENCE" flashes, it is a critical, high-alert warning of a potential reversal.
--- MARKET METRICS ---
Volume, ATR, RSI: Your standard contextual metrics, providing a quick read on activity, volatility, and momentum.
Regime: The engine's assessment of the broad market environment: High Volatility (favor breakouts), Low Volatility (favor mean reversion), or Normal .
--- PROFILE STATS, COMPOSITE, & STRUCTURE ---
These sections give you a quick quantitative summary of the profile structure, the major long-term Composite levels, and any active Poor Structures.
--- SIGNAL TYPES & ACTIVE SIGNAL ---
A permanent key to the signal colors and their meanings, along with the full details of the most recent active signal: its Type , Probability , Entry , Stop , and Target .
PART V: THE INPUTS MENU - CALIBRATING YOUR LENS
This engine is designed to be calibrated to your specific needs as a trader. Every input is a lever. This is not a "one size fits all" tool. The extensive tooltips are your built-in user manual, but here are the key areas of focus:
--- MARKET PROFILE ENGINE ---
Profile Mode: This is the most fundamental choice. Volume is the standard for price-based support and resistance. TPO is for analyzing time-based acceptance. Hybrid is the professional's choice, fusing both for a complete picture.
Profile Resolution: This is your zoom lens. Lower values for scalping and intraday precision. Higher values for a cleaner, big-picture view suitable for swing trading.
Composite Sessions: Your timeframe for macro analysis. 5-10 sessions for a weekly view; 20-30 sessions for a monthly, structural view.
--- SESSION & VALUE AREA ---
These settings must be configured correctly for your specific asset. The Session times are critical. The Initial Balance should reflect the key opening period for your market (60 minutes is standard for equities).
--- SIGNAL ENGINE & RISK MANAGEMENT ---
Signal Mode: THIS IS YOUR PERSONAL RISK PROFILE. Set it to Conservative to see only the absolute best A+ setups. Use Elite or Balanced for a standard approach. Use Aggressive only if you are an experienced scalper comfortable with managing more frequent, lower-probability setups.
ATR Multipliers: This suite gives you full, dynamic control over your risk/reward parameters. You can precisely define your initial stop loss distance and profit targets based on the market's current volatility.
A FINAL WORD FROM THE ARCHITECT
The creation of this engine was a journey into the very heart of market dynamics. It was born from a frustrating truth: that the most profound market theories were often confined to books and expensive institutional platforms, inaccessible to the modern retail trader. The goal was to bridge that gap.
The challenge was monumental. Making each discrete system—the volume profile, the TPO counter, the composite engine, the CVD tracker, the signal generator, the dynamic dashboard—work was a task in itself. But the true struggle, the frustrating, painstaking process that consumed countless hours, was making them work in unison . It was about ensuring the CVD analysis could intelligently inform the signal engine, that the day type classification could adjust the probability scores, and that the composite levels could provide context to the intraday structure, all in a seamless, real-time dance of data.
This engine is the result of that relentless pursuit of integration. It is built on the belief that a trader's greatest asset is not a signal, but clarity . It was designed to clear the noise, to organize the chaos, and to present the elegant, underlying logic of the market auction so that you can make better, more informed, and more confident decisions.
It is now in your hands. Use it not as a crutch, but as a lens. See the market for what it truly is.
"The market can remain irrational longer than you can remain solvent."
- John Maynard Keynes
DISCLAIMER
This script is an advanced analytical tool provided for informational and educational purposes only. It is not financial advice. All trading involves substantial risk, and past performance is not indicative of future results. The signals, probabilities, and metrics generated by this indicator do not constitute a recommendation to buy or sell any financial instrument. You, the user, are solely responsible for all trading decisions, risk management, and outcomes. Use this tool to supplement your own analysis and trading strategy.
PUBLISHING CATEGORIES
Volume Profile
Market Profile
Order Flow
Blue Ocean BOATS 24/5 US Market DataThis script utilizes Blue Ocean's ATS (Alternative Trading System) and U.S. exchange market data to create a continuous candlestick chart. The continuous data has the option to be used as an indicator or strategy source.
Requirements
The main chart symbol (which can be unrelated to the user-input Ticker Symbol) needs to be a 24/7 chart. An example symbol is CRYPTO:BTCUSD. CME_MINI:ES1! and FX:SPX500 work too, but are not truly 24/5 and will miss ~4 hours of the total trading week from the extended U.S. session.
The main chart's timeframe needs to be intraday. Because the script's output is currently inconsistent on daily or higher timeframes, it will disable itself.
The Ticker Symbol chosen should be a ticker that is traded on U.S. exchanges. This will provide both U.S. extended session data and a BOATS equivalent.
Usage & configuration
This script visualizes the 24-hour Monday-Friday chart of a U.S. exchange ticker. Going a step further, it can be used to compare the performance indices or cryptocurrencies to stock constituents of indices, cryptocurrency treasury stocks or holding ETFs.
The script's output, candlesticks, can be overlaid on the main chart or used as is. A "Price Source" plot is used for indicators or strategies.
Ticker Symbol: The U.S. ticker you'd like to view extended session and Blue Ocean ATS session data for.
Price Source: Price source that can be used for indicators or strategies.
Highlight Sessions: Highlight the different trading sessions.
Last Price Line: Show a horizontal line at the last traded price.
Ticker Symbol Check: Plots a label that will display only if the selected Ticker Symbol is not detected as a U.S. exchange traded ticker.
Earnings Label: Creates a label at the time of past earnings of the chosen Ticker Symbol. The time that the earnings are plotted is approximate. Because of this, the label is meant as an explanation for price action.
What this script does and how it works
It creates OHLC candlesticks by merging Blue Ocean's ATS market data and U.S. exchange data. From the OHLC data of both, a single output can be used for indicators or strategies.
References and further information
www.tradingview.com
The Blue Ocean ATS allows trading from 20:00 to 4:00 Eastern Time, Sunday through Thursday. This critical timeframe bridges the eight-hour overnight gap when major U.S. exchanges are closed.
blueocean-tech.io
Blue Ocean ATS, LLC is a US broker dealer which operates the alternative trading system BOATS. Our trading platform offers electronic access, price discovery, compliant regulatory reporting requirements, and standard clearing and settlement processes.
www.nyse.com
Hours mentioned are in Eastern Time.
Overnight trading remains far less active than extended hours trading. The hour with the highest overnight volume is 9:00PM, which averages 2.94 million shares per day and coincides with several Asian market opens. This volume is a fraction of the last hour of extended hours trading, which averages 43.22 million shares. The first hour of pre-core reported volume averages 113.30 million shares per day.
Overnight executions, in addition to the peak in the 9:00PM hour, also exhibits a smaller peak at 3:00AM, of 2.35 million shares. This coincides with several Asian bourses’ end of their regular trading day.
Example of using the script in the main chart window and the difference in how RSI may be calculated.
Note: ATS is not the name of the 20:00 to 4:00 ET session itself, and the term refers to a broader definition of trading systems that include dark pools, which can be different.
24/5 Monday-Friday really means NY time Sunday night to Friday afternoon.
yatofxDescription: "Ramon Coto's 3 Session Bar Color" Indicator
This TradingView Pine Script indicator colors candlestick bars based on three custom trading sessions. It allows traders to visually distinguish different market timeframes on their charts.
Features:
Three configurable trading sessions with user-defined time ranges.
Customizable session colors:
Session A → Blue
Session B → Red
Session C → Lime
Enable/disable sessions independently using input toggles.
Automatic session detection: Bars are colored based on the active session.
Optimized for TradingView Mobile & Desktop with clear and efficient logic.
How It Works:
1. User Inputs: The script takes session time ranges and enables/disables each session.
2. Session Detection: The script checks whether the current time falls within any of the defined sessions.
3. Bar Coloring: If a session is active, the corresponding color is applied to the bars.
This indicator helps traders quickly recognize which market session they are in, improving decision-making for session-based strategies.
DCStatCalcs_v0.1DCStatCalcs_v0.1 - Session-Based Statistical Projections
This Pine Script indicator overlays customizable horizontal lines on your chart to visualize a session's opening price and its statistical projections based on historical standard deviation (SD). Designed for traders who want to analyze price behavior within defined time sessions, it calculates and plots the session open price along with optional projection lines at 0.5, 1.0, 1.5, 2.0, and 2.5 standard deviations above and below the open, derived from past session data.
Key Features:
Customizable Sessions: Define your session time (e.g., 0600-1500) and timezone (e.g., America/New_York).
Historical Analysis: Uses a user-specified number of past sessions (default: 20) to compute the standard deviation of price movements relative to the session open.
Projection Lines: Displays toggleable lines at multiple SD levels with adjustable styles, colors, and widths for easy visualization.
Flexible Display: Extend lines beyond the current bar with an offset setting, and adjust label sizes for clarity.
Real-Time Updates: Lines dynamically extend as the session progresses, keeping projections relevant to the current bar.
How It Works:
At the start of each user-defined session, the indicator records the opening price and calculates the SD based on price deviations from the open across historical sessions. It then plots the open price line and, if enabled, projection lines at the specified SD intervals. These lines help traders identify potential support, resistance, or volatility zones based on statistical norms.
Use Case:
Ideal for day traders or analysts working with intraday charts to gauge price ranges and volatility within specific trading sessions, such as market opens or key economic hours.
Published under the Mozilla Public License 2.0. Created by dc_77.
Depth of Market (DOM) [LuxAlgo]The Depth Of Market (DOM) tool allows traders to look under the hood of any market, taking price and volume analysis to the next level. The following features are included: DOM, Time & Sales, Volume Profile, Depth of Market, Imbalances, Buying Pressure, and up to 24 key intraday levels (it really packs a punch).
As a disclaimer, this tool does not use tick data, it is a DOM reconstruction from the provided real-time time series data (price and volume). So the volume you see is from filled orders only, this tool does not show unfilled limit orders.
Traders can enable or disable any of the features at will to avoid being overwhelmed with too much information and to make the tool perform faster.
The features that have the biggest impact on performance are Historical Data Collection, Key Levels (POC & VWAP), Time & Sales, Profile, and Imbalances. Disable these features to improve the indicator computational performance.
🔶 DOM
This is the simplest form of the tool, a simple DOM or ladder that displays the following columns:
PRICE: Price level
BID: Total number of market sell orders filled or limit buy orders filled.
SELL: Sell market orders
BUY: Buy market orders
ASK: Total number of market buy orders filled or limit sell orders filled.
The DOM only collects historical data from the last 24 hours and real-time data.
Traders can select a reset period for the DOM with two options:
DAILY: Resets at the beginning of each trading day
SESSIONS: Resets twice, as DAILY and 15.5 hours later, to coincide with the start of the RTH session for US tickers.
The DOM has two main modes, it can display price levels as ticks or points. The default is automatic based on the current daily volatility, but traders can manually force one mode or the other if they wish.
For convenience, traders have the option to set the number of lines (price levels), and the size of the text and to display only real-time data.
By default, the top price is set to 0 so that the DOM automatically adjusts the price levels to be displayed, but traders can set the top price manually so that the tool displays only the desired price levels in a fixed manner.
🔹 Volume Profile
As additional features to the basic DOM, traders have access to the volume profile histogram and the total volume per price level.
This helps traders identify at a glance key price areas where volume is accumulating (high volume nodes) or areas where volume is lacking (low volume nodes) - these areas are important to some traders who base their decision-making process on them.
🔹 Imbalances
Other added features are imbalances and buying pressure:
Interlevel Imbalance: volume delta between two different price levels
Intralevel Imbalance: delta between buy and sell volume at the same price level
Buying Pressure Percent: percentage of buy volume compared to total volume
Imbalances can help traders identify areas of interest in the price for possible support or resistance.
🔹 Depth
Depth allows traders to see at a glance how much supply is above the current price level or how much demand is below the current price level.
Above the current price level shows the cumulative ask volume (filled sell limit orders) and below the current price level shows the cumulative bid volume (filled buy limit orders).
🔶 KEY LEVELS
The tool includes up to 24 different key intraday levels of particular relevance:
Previous Week Levels
PWH: Previous week high
PWL: Previous week low
PWM: Previous week middle
PWS: Previous week settlement (close)
Previous Day Levels
PDH: Previous day high
PDL: Previous day low
PDM: Previous day middle
PDS: Previous day settlement (close)
Current Day Levels
OPEN: Open of day (or session)
HOD: High of day (or session)
LOD: Low of day (or session)
MOD: Middle of day (or session)
Opening Range
ORH: Open range high
ORL: Open range low
Initial Balance
IBH: Initial balance high
IBL: Initial balance low
VWAP
+3SD: Volume weighted average price plus 3 standard deviations
+2SD: Volume weighted average price plus 2 standard deviations
+1SD: Volume weighted average price plus 1 standard deviation
VWAP: Volume weighted average price
-1SD: Volume weighted average price minus 1 standard deviation
-2SD: Volume weighted average price minus 2 standard deviations
-3SD: Volume weighted average price minus 3 standard deviations
POC: Point of control
Different traders look at different levels, the key levels shown here are objective and specific areas of interest that traders can act on, providing us with potential areas of support or resistance in the price.
🔶 TIME & SALES
The tool also features a full-time and sales panel with time, price, and size columns, a size filter, and the ability to set the timezone to display time in the trader's local time.
The information shown here is what feeds the DOM and it can be useful in several ways, for example in detecting absorption. If a large number of orders are coming into the market but the price is barely moving, this indicates that there is enough liquidity at these levels to absorb all these orders, so if these orders stop coming into the market, the price may turn around.
🔶 SETTINGS
Period: Select the anchoring period to start data collection, DAILY will anchor at the start of the trading day, and SESSIONS will start as DAILY and 15.5 hours later (RTH for US tickers).
Mode: Select between AUTO and MANUAL modes for displaying TICKS or POINTS, in AUTO mode the tool will automatically select TICKS for tickers with a daily average volatility below 5000 ticks and POINTS for the rest of the tickers.
Rows: Select the number of price levels to display
Text Size: Select the text size
🔹 DOM
DOM: Enable/Disable DOM display
Realtime only: Enable/Disable real-time data only, historical data will be collected if disabled
Top Price: Specify the price to be displayed on the top row, set to 0 to enable dynamic DOM
Max updates: Specify how many times the values on the SELL and BUY columns are accumulated until reset.
Profile/Depth size: Maximum size of the histograms on the PROFILE and DEPTH columns.
Profile: Enable/Disable Profile column. High impact on performance.
Volume: Enable/Disable Volume column. Total volume traded at price level.
Interlevel Imbalance: Enable/Disable Interlevel Imbalance column. Total volume delta between the current price level and the price level above. High impact on performance.
Depth: Enable/Disable Depth, showing the cumulative supply above the current price and the cumulative demand below. Impact on performance.
Intralevel Imbalance: Enable/Disable Intralevel Imbalance column. Delta between total buy volume and total sell volume. High impact on performance.
Buying Pressure Percent: Enable/Disable Buy Percent column. Percentage of total buy volume compared to total volume.
Imbalance Threshold %: Threshold for highlighting imbalances. Set to 90 to highlight the top 10% of interlevel imbalances and the top and bottom 10% of intra-level imbalances.
Crypto volume precision: Specify the number of decimals to display on the volume of crypto assets
🔹 Key Levels
Key Levels: Enable/Disable KEY column. Very high performance impact.
Previous Week: Enable/Disable High, Low, Middle, and Close of the previous trading week.
Previous Day: Enable/Disable High, Low, Middle, and Settlement of the previous trading day.
Current Day/Session: Enable/Disable Open, High, Low and Middle of the current period.
Open Range: Enable/Disable High and Low of the first candle of the period.
Initial Balance: Enable/Disable High and Low of the first hour of the period.
VWAP: Enable/Disable Volume-weighted average price of the period with 1, 2, and 3 standard deviations.
POC: Enable/Disable Point of Control (price level with the highest volume traded) of the period.
🔹 Time & Sales
Time & Sales: Enable/Disable time and sales panel.
Timezone offset (hours): Enter your time zone\'s offset (+ or −), including a decimal fraction if needed.
Order Size: Set order size filter. Orders smaller than the value are not displayed.
🔶 THANKS
Hi, I'm makit0 coder of this tool and proud member of the LuxAlgo Opensource team, it's an honor to be part of the LuxAlgo family doing something I love as it's writing opensource code and sharing it with the world. I'd like to thank all of you who use, comment on, and vote for all of our open-source tools, and all of you who give us your support.
And of course thanks to the PineCoders family for all the work in front of and behind the scenes that makes the PineScript community what it is, simply the best.
Peace, Love & PineScript!
ICT Macro Zone Boxes w/ Individual H/L Tracking v3.1ICT Macro Zones (Grey Box Version
This indicator dynamically highlights key intraday time-based macro sessions using a clean, minimalistic grey box overlay, helping traders align with institutional trading cycles. Inspired by ICT (Inner Circle Trader) concepts, it tracks real-time highs and lows for each session and optionally extends the zone box after the session ends — making it a precision tool for intraday setups, order flow analysis, and macro-level liquidity sweeps.
### 🔍 **What It Does**
- Plots **six predefined macro sessions** used in Smart Money Concepts:
- AM Macro (09:50–10:10)
- London Close (10:50–11:10)
- Lunch Macro (11:30–13:30)
- PM Macro (14:50–15:10)
- London SB (03:00–04:00)
- PM SB (15:00–16:00)
- Each zone:
- **Tracks high and low dynamically** throughout the session.
- **Draws a consistent grey shaded box** to visualize price boundaries.
- **Displays a label** at the first bar of the session (optional).
- **Optionally extends** the box to the right after the session closes.
### 🧠 **How It Works**
- Uses Pine Script arrays to define each session’s time window, label, and color.
- Detects session entry using `time()` within a New York timezone context.
- High/Low values are updated per bar inside the session window.
- Once a session ends, the box is optionally closed and fixed in place.
- All visual zones use a standardized grey tone for clarity and consistency across charts.
### 🛠️ **Settings**
- **Shade Zone High→Low:** Enable/disable the grey macro box.
- **Extend Box After Session:** Keep the zone visible after it ends.
- **Show Entry Label:** Display a label at the start of each session.
### 🎯 **Why This Script is Unique**
Unlike basic session markers or colored backgrounds, this tool:
- Focuses on **macro moments of liquidity and reversal**, not just open/close times.
- Uses **per-session logic** to individually track price behavior inside key time windows.
- Supports **real-time high/low tracking and clean zone drawing**, ideal for Smart Money and ICT-style strategies.
Perfect — based on your list, here's a **bundle-style description** that not only explains the function of each script but also shows how they **work together** in a Smart Money/ICT workflow. This kind of cross-script explanation is exactly what TradingView wants to see to justify closed-source mashups or interdependent tools.
---
📚 ICT SMC Toolkit — Script Integration Guide
This set of advanced Smart Money Concept (SMC) tools is designed for traders who follow ICT-based methodologies, combining liquidity theory, time-based precision, and engineered confluences for high-probability trades. Each indicator is optimized to work both independently and synergistically, forming a comprehensive trading framework.
---
First FVG Custom Time Range
**Purpose:**
Plots the **first Fair Value Gap (FVG)** that appears within a defined session (e.g., NY Kill Zone, Custom range). Includes optional retest alerts.
**Best Used With:**
- Use with **ICT Macro Zones (Grey Box Version)** to isolate FVGs during high-probability times like AM Macro or PM SB.
- Combine with **Liquidity Levels** to assess whether FVGs form near swing points or liquidity voids.
---
ICT SMC Liquidity Grabs and OB s
**Purpose:**
Detects **liquidity grabs** (stop hunts above/below swing highs/lows) and **bullish/bearish order blocks**. Includes optional Fibonacci OTE levels for sniper entries.
**Best Used With:**
- Use with **ICT Turtle Soup (Reversal)** for confirmation after a liquidity grab.
- Combine with **Macro Zones** to catch order blocks forming inside timed macro windows.
- Match with **Smart Swing Levels** to confirm structure breaks before entry.
ICT SMC Liquidity Levels (Smart Swing Lows)
**Purpose:**
Automatically marks swing highs/lows based on user-defined lookbacks. Tracks whether those levels have been breached or respected.
**Best Used With:**
- Combine with **Turtle Soup** to detect if a swing level was swept, then reversed.
- Use with **Liquidity Grabs** to confirm a grab occurred at a meaningful structural point.
- Align with **Macro Zones** to understand when liquidity events occur within macro session timing.
ICT Turtle Soup (Liquidity Reversal)
**Purpose:**
Implements the classic ICT Turtle Soup model. Looks for swing failure and quick reversals after a liquidity sweep — ideal for catching traps.
Best Used With:
- Confirm with **Liquidity Grabs + OBs** to identify institutional activity at the reversal point.
- Use **Liquidity Levels** to ensure the reversal is happening at valid previous swing highs/lows.
- Amplify probability when pattern appears during **Macro Zones** or near the **First FVG**.
ICT Turtle Soup Ultimate V2
**Purpose:**
An enhanced, multi-layer version of the Turtle Soup setup that includes built-in liquidity checks, OTE levels, structure validation, and customizable visual output.
**Best Used With:**
- Use as an **entry signal generator** when other indicators (e.g., OBs, liquidity grabs) are aligned.
- Pair with **Macro Zones** for high-precision timing.
- Combine with **First FVG** to anticipate price rebalancing before explosive moves.
---
## 🧠 Workflow Example:
1. **Start with Macro Zones** to focus only on institutional trading windows.
2. Look for **Liquidity Grabs or Swing Sweeps** around key highs/lows.
3. Check for a **Turtle Soup Reversal** or **Order Block Reaction** near that level.
4. Confirm confluence with a **Fair Value Gap**.
5. Execute using the **OTE level** from the Liquidity Grabs + OB script.
---
Let me know which script you want to publish first — I’ll tailor its **individual TradingView description** and flag its ideal **“Best Used With” partners** to help users see the value in your ecosystem.
Intraday -RSKWhat You See:
Session Boxes:
As you observe, the larger purple box represents the Asian Session, spanning from around 22:00 to 06:00 UTC. You notice how it captures the overnight market activity.
The smaller, greyish box marks the London Session, from about 08:00 to 12:00 UTC. You can see how the price action changes during this session.
The New York Session is also indicated, with vertical lines possibly marking the open and close, helping you track movements as the U.S. markets come into play.
High and Low Levels:
Horizontal lines are drawn at the high and low of each session. You can use these as potential support or resistance levels, aiding in your decision-making process.
Vertical Lines:
These lines likely correspond to specific key times, such as session opens or closes. You can quickly identify the transition between sessions, which is crucial for your timing.
Color Coding:
Each session is color-coded, making it easier for you to distinguish between them at a glance. The purple, grey, and additional lines offer a clear visual distinction.
How You Use It:
This indicator is your go-to for understanding how different market sessions affect price action. You’ll use it to:
Recognize important price levels within each session.
Identify potential entry and exit points based on session highs and lows.
Observe how the market transitions from one session to another, giving you insight into the best times to trade.
Customization:
You have the flexibility to adjust the settings. You can change session times to suit your trading hours, modify colors to match your chart theme, and even choose which sessions to display or hide based on your focus.
This tool is designed to enhance your analysis, providing you with a structured view of market sessions. With this indicator, you’re well-equipped to navigate the global markets with greater precision and confidence.
Open-source script
90 Minute Cycles Full90-Minute Cycles Indicator for London and NY Sessions
This is a more streamlined version of the 90-minute cycle indicator by sunwoo101.
The 90-Minute Cycles Indicator is built to help traders easily follow and trade around key market cycles during the London and New York sessions. Marking important 90-minute intervals and highlighting the True Cycle Open Price provides clear visual cues to help you make more informed trading decisions.
Key Features:
90-Minute Cycles for London and NY: The indicator automatically draws vertical lines marking every 90-minute cycle for the London and NY sessions. These lines are great for timing your trades and spotting potential shifts in market momentum.
True Cycle Open Price: A horizontal line is drawn at the True Cycle Open Price, which stays visible throughout the session. This gives you a key reference point for price levels that tend to act as support or resistance.
Customizable Visuals: You can fully personalize the indicator’s appearance - adjusting the colors and line styles and even controlling when the lines appear - so it blends perfectly with your existing charts.
All Cycles Drawn from the Start: Unlike other indicators, this one draws all the 90-minute cycles right when the session begins, so you can see the full day’s potential market moves as soon as the first cycle starts.
What’s Different About This Indicator:
London Session Support: In addition to the NY session, you now have 90-minute cycles for the London session, complete with its own True Cycle Open Price.
Better Customization: You have more control over the visual aspects of the indicator, so it can be tailored to fit your specific charting preferences.
Complete Cycle Visibility: All cycles are drawn immediately when the session starts, providing a full view of the day’s key moments right from the opening.
How to Use:
This indicator is perfect for scalping and short-term trading. Whether trading Forex or Indices and following SMT concepts, the cycle timing can help you pinpoint the best times for entering and exiting trades. The True Cycle Open Price is a crucial level of support or resistance throughout the session, making it a key marker to watch.
Scalpers: Use the 90-minute cycle lines to time your trades with the market's rhythm.
Day Traders: This indicator tracks the London and NY sessions, making it an excellent tool for day trading strategies where timing is critical.
Multi-Session Support:
Whether you're trading the London or New York session, the indicator will automatically adjust to your time zone and align the cycles to the relevant session. This helps you stay on top of key market activity across major trading hubs without changing anything manually.
Timing - Fx MGKWhat You See:
Session Boxes:
As you observe, the larger purple box represents the Asian Session, spanning from around 22:00 to 06:00 UTC. You notice how it captures the overnight market activity.
The smaller, greyish box marks the London Session, from about 08:00 to 12:00 UTC. You can see how the price action changes during this session.
The New York Session is also indicated, with vertical lines possibly marking the open and close, helping you track movements as the U.S. markets come into play.
High and Low Levels:
Horizontal lines are drawn at the high and low of each session. You can use these as potential support or resistance levels, aiding in your decision-making process.
Vertical Lines:
These lines likely correspond to specific key times, such as session opens or closes. You can quickly identify the transition between sessions, which is crucial for your timing.
Color Coding:
Each session is color-coded, making it easier for you to distinguish between them at a glance. The purple, grey, and additional lines offer a clear visual distinction.
How You Use It:
This indicator is your go-to for understanding how different market sessions affect price action. You’ll use it to:
Recognize important price levels within each session.
Identify potential entry and exit points based on session highs and lows.
Observe how the market transitions from one session to another, giving you insight into the best times to trade.
Customization:
You have the flexibility to adjust the settings. You can change session times to suit your trading hours, modify colors to match your chart theme, and even choose which sessions to display or hide based on your focus.
This tool is designed to enhance your analysis, providing you with a structured view of market sessions. With this indicator, you’re well-equipped to navigate the global markets with greater precision and confidence.
JJ Highlight Time Ranges with First 5 Minutes and LabelsTo effectively use this Pine Script as a day trader , here’s how the various elements can help you manage trades, track time sessions, and monitor price movements:
Key Components for a Day Trader:
1. First 5-Minute Highlight:
- Purpose: Day traders often rely on the first 5 minutes of the trading session to gauge market sentiment, watch for opening price gaps, or plan entries. This script draws a horizontal line at the high or low of the first 5 minutes, which can act as a key level for the rest of the day.
- How to Use: If the price breaks above or below the first 5-minute line, it can signal momentum. You might enter a long position if the price breaks above the first 5-minute high or a short if it breaks below the first 5-minute low.
2. Session Time Highlights:
- Morning Session (9:15–10:30 AM): The market often shows its strongest price action during the first hour of trading. This session is highlighted in yellow. You can use this highlight to focus on the most volatile period, as this is when large institutional moves tend to occur.
- Afternoon Session (12:30–2:55 PM): The blue highlight helps you track the mid-afternoon session, where liquidity may decrease, and price action can sometimes be choppier. Day traders should be more cautious during this period.
- How to Use: By highlighting these key times, you can:
- Focus on key breakouts during the morning session.
- Be more conservative in your trades during the afternoon, as market volatility may drop.
3. Dynamic Labels:
- Top/Bottom Positioning: The script places labels dynamically based on the selected position (Top or Bottom). This allows you to quickly glance at the session's start and identify where you are in terms of time.
- How to Use: Use these labels to remind yourself when major time segments (morning or afternoon) begin. You can adjust your trading strategy depending on the session, e.g., being more aggressive in the morning and more cautious in the afternoon.
Trading Strategy Suggestions:
1. Momentum Trades:
- After the first 5 minutes, use the high/low of that period to set up breakout trades.
- Long Entry: If the price breaks the high of the first 5 minutes (especially if there's a strong trend).
- Short Entry: If the price breaks the low of the first 5 minutes, signaling a potential downtrend.
2. Session-Based Strategy:
- Morning Session (9:15–10:30 AM):
- Look for strong breakout patterns such as support/resistance levels, moving average crossovers, or candlestick patterns (like engulfing candles or pin bars).
- This is a high liquidity period, making it ideal for executing quick trades.
- Afternoon Session (12:30–2:55 PM):
- The market tends to consolidate or show less volatility. Scalping and mean-reversion strategies work better here.
- Avoid chasing big moves unless you see a clear breakout in either direction.
3. Support and Resistance:
- The first 5-minute high/low often acts as a key support or resistance level for the rest of the day. If the price holds above or below this level, it’s an indication of trend continuation.
4. Breakout Confirmation:
- Look for breakouts from the highlighted session time ranges (e.g., 9:15 AM–10:30 AM or 12:30 PM–2:55 PM).
- If a breakout happens during a key time window, combine that with other technical indicators like volume spikes , RSI , or MACD for confirmation.
---
Example Day Trader Usage:
1. First 5 Minutes Strategy: After the market opens at 9:15 AM, watch the price action for the first 5 minutes. The high and low of these 5 minutes are critical levels. If the price breaks above the high of the first 5 minutes, it might indicate a strong bullish trend for the day. Conversely, breaking below the low may suggest bearish movement.
2. Morning Session: After the first 5 minutes, focus on the **9:15 AM–10:30 AM** window. During this time, look for breakout setups at key support/resistance levels, especially when paired with high volume or momentum indicators. This is when many institutions make large trades, so price action tends to be more volatile and predictable.
3. Afternoon Session: From 12:30 PM–2:55 PM, the market might experience lower volatility, making it ideal for scalping or range-bound strategies. You could look for reversals or fading strategies if the market becomes too quiet.
Conclusion:
As a day trader, you can use this script to:
- Track and react to key price levels during the first 5 minutes.
- Focus on high volatility in the morning session (9:15–10:30 AM) and **be cautious** during the afternoon.
- Use session-based timing to adjust your strategies based on the time of day.
ATR GOD Strategy by TradeSmart (PineConnector-compatible)This is a highly-customizable trading strategy made by TradeSmart, focusing mainly on ATR-based indicators and filters. The strategy is mainly intended for trading forex , and has been optimized using the Deep Backtest feature on the 2018.01.01 - 2023.06.01 interval on the EUR/USD (FXCM) 15M chart, with a Slippage value of 3, and a Commission set to 0.00004 USD per contract. The strategy is also made compatible with PineConnector , to provide an easy option to automate the strategy using a connection to MetaTrader. See tooltips for details on how to set up the bot, and check out our website for a detailed guide with images on how to automate the strategy.
The strategy was implemented using the following logic:
Entry strategy:
A total of 4 Supertrend values can be used to determine the entry logic. There is option to set up all 4 Supertrend parameters individually, as well as their potential to be used as an entry signal/or a trend filter. Long/Short entry signals will be determined based on the selected potential Supertrend entry signals, and filtered based on them being in an uptrend/downtrend (also available for setup). Please use the provided tooltips for each setup to see every detail.
Exit strategy:
4 different types of Stop Losses are available: ATR-based/Candle Low/High Based/Percentage Based/Pip Based. Additionally, Force exiting can also be applied, where there is option to set up 4 custom sessions, and exits will happen after the session has closed.
Parameters of every indicator used in the strategy can be tuned in the strategy settings as follows:
Plot settings:
Plot Signals: true by default, Show all Long and Short signals on the signal candle
Plot SL/TP lines: false by default, Checking this option will result in the TP and SL lines to be plotted on the chart.
Supertrend 1-4:
All the parameters of the Supertrends can be set up here, as well as their individual role in the entry logic.
Exit Strategy:
ATR Based Stop Loss: true by default
ATR Length (of the SL): 100 by default
ATR Smoothing (of the SL): RMA/SMMA by default
Candle Low/High Based Stop Loss: false by default, recent lowest or highest point (depending on long/short position) will be used to calculate stop loss value. Set 'Base Risk Multiplier' to 1 if you would like to use the calculated value as is. Setting it to a different value will count as an additional multiplier.
Candle Lookback (of the SL): 50 by default
Percentage Based Stop Loss: false by default, Set the stop loss to current price - % of current price (long) or price + % of current price (short).
Percentage (of the SL): 0.3 by default
Pip Based Stop Loss: Set the stop loss to current price - x pips (long) or price + x pips (short). Set 'Base Risk Multiplier' to 1 if you would like to use the calculated value as is. Setting it to a different value will count as an additional multiplier.
Pip (of the SL): 10 by default
Base Risk Multiplier: 4.5 by default, the stop loss will be placed at this risk level (meaning in case of ATR SL that the ATR value will be multiplied by this factor and the SL will be placed that value away from the entry level)
Risk to Reward Ratio: 1.5 by default, the take profit level will be placed such as this Risk/Reward ratio is met
Force Exiting:
4 total Force exit on custom session close options: none applied by default. If enabled, trades will close automatically after the set session is closed (on next candle's open).
Base Setups:
Allow Long Entries: true by default
Allow Short Entries: true by default
Order Size: 10 by default
Order Type: Capital Percentage by default, allows adjustment on how the position size is calculated: Cash: only the set cash amount will be used for each trade Contract(s): the adjusted number of contracts will be used for each trade Capital Percentage: a % of the current available capital will be used for each trade
ATR Limiter:
Use ATR Limiter: true by default, Only enter into any position (long/short) if ATR value is higher than the Low Boundary and lower than the High Boundary.
ATR Limiter Length: 50 by default
ATR Limiter Smoothing: RMA/SMMA by default
High Boundary: 1000 by default
Low Boundary: 0.0003 by default
MA based calculation: ATR value under MA by default, If not Unspecified, an MA is calculated with the ATR value as source. Only enter into position (long/short) if ATR value is higher/lower than the MA.
MA Type: RMA/SMMA by default
MA Length: 400 by default
Waddah Attar Filter:
Explosion/Deadzone relation: Not specified by default, Explosion over Deadzone: trades will only happen if the explosion line is over the deadzone line; Explosion under Deadzone: trades will only happen if the explosion line is under the deadzone line; Not specified: the opening of trades will not be based on the relation between the explosion and deadzone lines.
Limit trades based on trends: Not specified by default, Strong Trends: only enter long if the WA bar is colored green (there is an uptrend and the current bar is higher then the previous); only enter short if the WA bar is colored red (there is a downtrend and the current bar is higher then the previous); Soft Trends: only enter long if the WA bar is colored lime (there is an uptrend and the current bar is lower then the previous); only enter short if the WA bar is colored orange (there is a downtrend and the current bar is lower then the previous); All Trends: only enter long if the WA bar is colored green or lime (there is an uptrend); only enter short if the WA bar is colored red or orange (there is a downtrend); Not specified: the color of the WA bar (trend) is not relevant when considering entries.
WA bar value: Not specified by default, Over Explosion and Deadzone: only enter trades when the WA bar value is over the Explosion and Deadzone lines; Not specified: the relation between the explosion/deadzone lines to the value of the WA bar will not be used to filter opening trades.
Sensitivity: 150 by default
Fast MA Type: SMA by default
Fast MA Length: 10 by default
Slow MA Type: SMA
Slow MA Length: 20 by default
Channel MA Type: EMA by default
BB Channel Length: 20 by default
BB Stdev Multiplier: 2 by default
Trend Filter:
Use long trend filter 1: false by default, Only enter long if price is above Long MA.
Show long trend filter 1: false by default, Plot the selected MA on the chart.
TF1 - MA Type: EMA by default
TF1 - MA Length: 120 by default
TF1 - MA Source: close by default
Use short trend filter 1: false by default, Only enter long if price is above Long MA.
Show short trend filter 1: false by default, Plot the selected MA on the chart.
TF2 - MA Type: EMA by default
TF2 - MA Length: 120 by default
TF2 - MA Source: close by default
Volume Filter:
Only enter trades where volume is higher then the volume-based MA: true by default, a set type of MA will be calculated with the volume as source, and set length
MA Type: RMA/SMMA by default
MA Length: 200 by default
Date Range Limiter:
Limit Between Dates: false by default
Start Date: Jan 01 2023 00:00:00 by default
End Date: Jun 24 2023 00:00:00 by default
Session Limiter:
Show session plots: false by default, show market sessions on chart: Sidney (red), Tokyo (orange), London (yellow), New York (green)
Use session limiter: false by default, if enabled, trades will only happen in the ticked sessions below.
Sidney session: false by default, session between: 15:00 - 00:00 (EST)
Tokyo session: false by default, session between: 19:00 - 04:00 (EST)
London session: false by default, session between: 03:00 - 11:00 (EST)
New York session: false by default, session between: 08:00 - 17:00 (EST)
Trading Time:
Limit Trading Time: true by default, tick this together with the options below to enable limiting based on day and time
Valid Trading Days Global: 123567 by default, if the Limit Trading Time is on, trades will only happen on days that are present in this field. If any of the not global Valid Trading Days is used, this field will be neglected. Values represent days: Sunday (1), Monday (2), ..., Friday (6), Saturday(7) To trade on all days use: 123457
(1) Valid Trading Days: false, 123456 by default, values represent days: Sunday (1), Monday (2), ..., Friday (6), Saturday(7) The script will trade on days that are present in this field. Please make sure that this field and also (1) Valid Trading Hours Between is checked
(1) Valid Trading Hours Between: false, 1800-2000 by default, hours between which the trades can happen. The time is always in the exchange's timezone
All other options are also disabled by default
PineConnector Automation:
Use PineConnector Automation: false by default, In order for the connection to MetaTrader to work, you will need do perform prerequisite steps, you can follow our full guide at our website, or refer to the official PineConnector Documentation. To set up PineConnector Automation on the TradingView side, you will need to do the following:
1. Fill out the License ID field with your PineConnector License ID;
2. Fill out the Risk (trading volume) with the desired volume to be traded in each trade (the meaning of this value depends on the EA settings in Metatrader. Follow the detailed guide for additional information);
3. After filling out the fields, you need to enable the 'Use PineConnector Automation' option (check the box in the strategy settings);
4. Check if the chart has updated and you can see the appropriate order comments on your chart;
5. Create an alert with the strategy selected as Condition, and the Message as {{strategy.order.comment}} (should be there by default);
6. Enable the Webhook URL in the Notifications section, set it as the official PineConnector webhook address and enjoy your connection with MetaTrader.
License ID: 60123456789 by default
Risk (trading volume): 1 by default
NOTE! Fine-tuning/re-optimization is highly recommended when using other asset/timeframe combinations.
SMT SwiftEdge PowerhouseSMT SwiftEdge Powerhouse: Precision Trading with Divergence, Liquidity Grabs, and OTE Zones
The SMT SwiftEdge Powerhouse is a powerful trading tool designed to help traders identify high-probability entry points during the most active market sessions—London and New York. By combining Smart Money Technique (SMT) Divergence, Liquidity Grabs, and Optimal Trade Entry (OTE) Zones, this script provides a unique and cohesive strategy for capturing market reversals with precision. Whether you're a scalper or a swing trader, this indicator offers clear visual signals to enhance your trading decisions on any timeframe.
What Does This Script Do?
This script integrates three key concepts to identify potential trading opportunities:
SMT Divergence:
SMT Divergence compares the price action of two correlated assets (e.g., Nasdaq and S&P 500 futures) to detect hidden market reversals. When one asset makes a higher high while the other makes a lower high (bearish divergence), or one makes a lower low while the other makes a higher low (bullish divergence), it signals a potential reversal. This technique leverages institutional "smart money" behavior to anticipate market shifts.
Liquidity Grabs:
Liquidity Grabs occur when price breaks above recent highs or below recent lows on higher timeframes (5m and 15m), often triggering stop-loss orders from retail traders. These breakouts are identified using pivot points and confirm institutional activity, setting the stage for a reversal. The script focuses on liquidity grabs during the London and New York sessions for maximum market activity.
Optimal Trade Entry (OTE) Zones:
OTE Zones are Fibonacci-based retracement areas (e.g., 61.8%) calculated after a liquidity grab. These zones highlight where price is likely to retrace before continuing in the direction of the reversal, offering a high-probability entry point. The script adjusts the width of these zones using the Average True Range (ATR) to adapt to market volatility.
By combining these components, the script identifies when institutional activity (liquidity grabs) aligns with market reversals (SMT divergence) and pinpoints precise entry points (OTE zones) during high-liquidity sessions.
Why Combine These Components?
The integration of SMT Divergence, Liquidity Grabs, and OTE Zones creates a robust trading system for several reasons:
Synergy of Institutional Signals: SMT Divergence and Liquidity Grabs both reflect "smart money" behavior—divergence shows hidden reversals, while liquidity grabs confirm institutional intent to trap retail traders. Together, they provide a strong foundation for identifying high-probability setups.
Session-Based Precision: Focusing on the London and New York sessions ensures signals occur during periods of high volatility and liquidity, increasing their reliability.
Precision Entries with OTE: After confirming a setup with divergence and liquidity grabs, OTE zones provide a clear entry area, reducing guesswork and improving trade accuracy.
Adaptability: The script works on any timeframe, with adjustable settings for signal sensitivity, session times, and Fibonacci levels, making it versatile for different trading styles.
This combination makes the script unique by aligning institutional insights with actionable entry points, tailored to the most active market hours.
How to Use the Script
Setup:
Add the script to your chart (works on any timeframe, e.g., 1m, 5m, 15m).
Configure the settings in the indicator's inputs:
Session Settings: Adjust the start/end times for London and New York sessions (default: London 8-11 UTC, New York 13-16 UTC). You can disable session restrictions if desired.
Asset Settings: Set the primary and secondary assets for SMT Divergence (default: NQ1! and ES1!). Ensure the assets are correlated.
Signal Settings: Adjust the lookback period, ATR period, and signal sensitivity (Low/Medium/High) to control the frequency of signals.
OTE Settings: Choose the Fibonacci level for OTE zones (default: 61.8%).
Visual Settings: Enable/disable OTE zones, SMT labels, and debug labels for troubleshooting.
Interpreting Signals:
Blue Circles: Indicate a liquidity grab (price breaking a 5m or 15m pivot high/low), marking the start of a potential setup.
Blue OTE Zones: Appear after a liquidity grab, showing the retracement area (e.g., 61.8% Fibonacci level) where price is likely to enter for a reversal trade. The label "OTE Trigger 5m/15m" confirms the direction (Short/Long) and session.
Green/Red Entry Boxes: Mark precise entry points when price enters the OTE zone and confirms the SMT Divergence. Green boxes indicate a long entry, red boxes a short entry.
Trading Example:
On a 1m chart, a blue circle appears when price breaks a 5m pivot high during the London session.
A blue OTE zone forms, showing a retracement area (e.g., 61.8% Fibonacci level) with the label "OTE Trigger 5m/15m (Short, London)".
Price retraces into the OTE zone, and a red "Short Entry" box appears, confirming a bearish SMT Divergence.
Enter a short trade at the red box, with a stop-loss above the OTE zone and a take-profit at the next support level.
Originality and Utility
The SMT SwiftEdge Powerhouse stands out by merging SMT Divergence, Liquidity Grabs, and OTE Zones into a single, session-focused indicator. Unlike traditional indicators that focus on one aspect of price action, this script combines institutional reversal signals with precise entry zones, tailored to the most active market hours. Its adaptability across timeframes, customizable settings, and clear visual cues make it a versatile tool for traders seeking to capitalize on smart money movements with confidence.
Tips for Best Results
Use on correlated assets like NQ1! (Nasdaq futures) and ES1! (S&P 500 futures) for accurate SMT Divergence.
Test on lower timeframes (1m, 5m) for scalping or higher timeframes (15m, 1H) for swing trading.
Adjust the "Signal Sensitivity" to "High" for more signals or "Low" for fewer, high-quality setups.
Enable "Show Debug Labels" if signals are not appearing as expected, to troubleshoot pivot points and liquidity grabs.
BRT Cluster VolumeTitle and Purpose
BRT Cluster Volume is a powerful market analysis tool designed to identify key support and resistance levels, cluster volumes, and breakout signals. This script is highly beneficial for traders who aim to gain deeper insights into market trends and pinpoint zones of interest for buyers and sellers.
Key Features
1. Support and Resistance Levels:
- The script automatically detects chart extremums by analyzing a specified number of bars on the left and right to form levels. This approach effectively identifies local highs and lows.
- The uniqueness of this implementation lies in its dynamic data processing. For each extremum, the "channel width" is calculated, allowing insignificant levels to be filtered out based on a user-defined minimum width. This method eliminates noise and ensures focus on critical levels.
- Extremum lines can be extended to the right (when enabled), allowing traders to track current price movements relative to historical levels.
2. Cluster Volume:
- The cluster analysis is based on lower timeframe data, providing precise identification of key zones of market participant activity. The script dynamically requests close prices and volumes from lower timeframes, calculates the average volume, and identifies levels where volumes exceed a defined threshold.
- The visualization of cluster volumes is unique: volumes exceeding the threshold are displayed as candles with customizable colors and markers. These indicators help traders identify zones of significant interest.
- Cluster volume is only displayed when it interacts with support or resistance levels, ensuring that the visualization remains precise and relevant for market analysis.
3. Breakout Signals:
- The script evaluates "breakout strength" for each breakout of support or resistance levels by comparing the current price with the level. This helps filter false breakouts and focus on significant price movements.
- Traders can select the source for breakout signals (close price or high/low), offering flexibility for various trading styles and strategies.
- By incorporating the concept of "maximum breakout strength," the script highlights only meaningful breakouts, ignoring minor fluctuations.
4. Integration of Trading Sessions:
- Extremum levels for major trading sessions (Asia, Europe, USA) are identified and labeled on the chart. This allows traders to see when significant price levels were formed during the day.
- The script uses timestamps to automatically detect session times, ensuring accuracy and minimizing manual adjustments.
5. Dynamic Data Updates:
- The script dynamically updates support and resistance levels in real time as new data becomes available. This feature is crucial for traders working in fast-moving markets.
- Outdated information (such as obsolete levels) is automatically removed to keep the chart clean and focused on relevant data.
6. Visualization of Activity Zones:
- Trend direction is visualized using color-coded candles based on cluster volumes. For instance, candles with volumes exceeding the average are highlighted with specific colors, helping traders quickly identify areas of heightened activity.
- The unique aspect of this visualization is that cluster volumes appear only in zones where they interact with breakout levels, providing an intuitive and streamlined presentation of critical data.
Usage
- Support and Resistance: Adjust the "Left Bars" and "Right Bars" settings to determine extremums. Use the "Channel Min Width" setting to filter out insignificant levels.
- Cluster Volume: Customize the analysis period and volume threshold to identify high-activity zones. Enable breakout clusters to see how volumes interact with breakouts.
- Session Extremums: Highlight significant levels for Asia, Europe, and US trading sessions to gain insights into market dynamics across different time zones.
- Breakout Signals: Configure the breakout strength and source (close or high/low) for precise signal detection.
Parameter Details
1. Support & Resistance:
- `Left Bars` / `Right Bars`: Number of bars to consider for determining extremums.
- `# of Lines`: Maximum number of support/resistance lines to display.
- `Channel Min Width`: Minimum channel width to filter insignificant levels.
2. Breakout:
- `Show Breakouts`: Toggle breakout signal display.
- `Max breakout strength`: Maximum strength for valid breakouts.
- `Breakout source`: Data source for breakouts (close or high/low).
3. Cluster Volume:
- `Lookback`: Number of bars to analyze for cluster volumes.
- `Threshold`: Volume threshold (percentage above the average).
- `Cluster Volume Timeframe`: Timeframe for cluster volume analysis.
- `Breakout Cluster`: Display cluster volumes only for breakout-related zones.
4. Visual Settings:
- `Extend extremum lines to the right`: Extend support/resistance lines to the right.
- `Show ASIA/EU/US Session Extremums`: Display extremums for trading sessions.
Features and Benefits
- The script provides flexible parameter customization, allowing it to adapt to different trading styles and timeframes.
- The visualization is designed to be clean and intuitive, ensuring users can easily interpret the data.
- Suitable for all timeframes, making it ideal for both intraday and long-term market analysis.
Limitations
- The script is not suitable for analysis on non-standard chart types (e.g., Heikin Ashi, Renko, Kagi).
- To ensure accurate performance, realistic data for commission and slippage should be used.
Warnings
- The script relies on historical data for calculations, which may cause discrepancies in real-time conditions.
- Users should fully understand the functionality of cluster analysis and breakout signals before using the script in live trading.
This script combines advanced data processing logic, dynamic level adjustments, and unique visualization approaches, making it an indispensable tool for market analysis and trading decision-making.
Nifty Smart Zones & Breakout Bars(5min TF only) by Chaitu50cNifty Smart Zones & Breakout Bars is a purpose-built intraday trading tool, tested extensively on Nifty50 and recommended for Nifty50 use only.
All default settings are optimised specifically for Nifty50 on the 5-minute timeframe for maximum accuracy and clarity.
Why Last Bar of the Session Matters
The last candle of a trading session often represents the final battle between buyers and sellers for that day.
It encapsulates closing sentiment, influenced by end-of-day positioning, profit booking, and institutional activity.
The high and low of this bar frequently act as strong intraday support/resistance in the following sessions.
Price often reacts around these levels, especially when combined with volume surges.
Core Features
Session Last-Candle Zones
Plots a horizontal box at the high and low of the last candle in each session.
Boxes extend to the right to track carry-over levels into new sessions.
Uses a stateless approach — past zones reappear if relevant.
Smart Suppression System
When more than your Base Sessions (No Suppression) are shown, newer zones overlapping or within a proximity distance (in points) of older zones are hidden.
Older zones take priority, reducing chart clutter while keeping critical levels.
Breakout Bar Coloring
Highlights breakout bars in four categories:
Up Break (1-bar)
Down Break (1-bar)
Up Break (2-bar)
Down Break (2-bar)
Breakouts use a break buffer (in ticks) to filter noise.
Toggle coloring on/off instantly.
Volume Context (User Tip)
For best use, pair with volume analysis.
High-volume breakouts from last-session zones have greater conviction and can signal sustained momentum.
Usage Recommendations
Instrument: Nifty50 only (tested & optimised).
Timeframe: 5-minute chart for best results.
Approach:
Watch for price interaction with the plotted last-session zones.
Combine zone breaks with bar color signals and volume spikes for higher-probability trades.
Use suppression to focus on key, non-redundant levels.
Why This Tool is Different
Unlike standard support/resistance plotting, this indicator focuses on session-closing levels, which are more reliable than arbitrary highs/lows because they capture the final market consensus for the session.
The proximity-based suppression ensures your chart stays clean, while breakout paints give instant visual cues for momentum shifts.
X OROverview
Designed to plot hourly opening ranges (ORs) on an intraday chart. It primarily serves as a trading tool for assessing market direction and potential trading opportunities by analyzing price action relative to key OHLC (Open, High, Low, Close) levels within each hourly range.
The code provided is for each hour sessions from 2:00 AM to 3:00 PM for a complete session-based framework. In addition there is the RTH open range
Purpose
The core purpose of this indicator is to:
✅ Define each hourly range (based on the session’s opening bar) by recording the high and low of that range.
✅ Extend this range into the following bars for visual reference — serving as dynamic support and resistance zones.
✅ Monitor price action relative to each hourly OR, helping traders evaluate market direction and structure trades using concepts like:
Breakouts above/below the OR high/low.
Rejections or consolidations within the OR.
Continuation or reversal signals tied to each OR.
Key Features
The script marks the first bar of the session as the OR session start.
During this bar, it initializes:
Opening price
Session high
Session low
These levels form the initial range.
🔹 Dynamic Range Tracking
Throughout the one-minute OR session:
The highest and lowest prices are updated in real time, capturing intra-hour volatility.
A visual background box is drawn to highlight the OR range on the chart.
🔹 Range Extension
The script defines an extended session period after the initial OR (e.g., 2:00 AM-2:45 AM for the 2:00 AM session).
During this extension period:
The box persists on the chart, providing a contextual zone that traders can use as a dynamic support/resistance area.
🔹 Visual Representation
Transparent colored boxes highlight each session’s OR visually on the chart.
These boxes help traders easily identify whether price is trading:
Inside the OR
Breaking above the high (potential bullish continuation)
Breaking below the low (potential bearish continuation)
Application in Trading
🔍 Trading the Opening Range Breakout
Traders often use the OR high and low as breakout triggers. For example:
A price break above the OR high may signal bullish momentum.
A break below the OR low may signal bearish momentum.
⚖️ Support and Resistance
Even if breakouts fail, the OR can act as a pivot zone — offering areas for:
Stop placements
Target levels
Entry confirmations for fade trades or mean reversion strategies.
🕒 Session Awareness
By defining each hour’s OR individually (from 2:00 AM to 3:00 PM), traders can:
Analyze price behavior within each session.
Recognize when liquidity or volatility increases (e.g. around overlapping sessions like London open or New York open).
Summary
This Pine Script indicator provides a powerful framework for visualizing and trading hourly opening ranges. It enhances intraday analysis by:
Structuring price action within hourly boxes.
Highlighting key price levels relative to OHLC concepts.
Helping traders make more informed decisions by assessing price behavior around these critical ranges.
Break of High/Low with Volume, MACD, and MAsHow It Works:
Sessions:
The London session is defined between 8:00 and 16:00 UTC.
The New York session is defined between 13:00 and 21:00 UTC.
Previous High/Low:
The script identifies the highest high and lowest low from the previous bar using ta.highest(high, 1) and ta.lowest(low, 1) .
Candle Body Size:
The script calculates the size of the current candle's body and checks if it is at least double the size of the previous candle's body.
Volume Check:
A high volume threshold is set as 1.5 times the 50-period SMA of the volume.
MACD Crossover:
The script calculates the MACD and its signal line and checks for bullish (buy) or bearish (sell) crossovers.
Signals:
A long signal (buy) is generated if the price breaks the previous high with a large body candle, high volume, and a bullish MACD crossover during the specified sessions.
A short signal (sell) is generated if the price breaks the previous low with a large body candle, high volume, and a bearish MACD crossover during the specified sessions.
Plotting:
The 50-period and 200-period moving averages, previous high, and previous low are plotted on the chart.
If a long condition is met, a "BUY" label is displayed below the bar. If a short condition is met, a "SELL" label is displayed above the bar.
Alerts:
Alerts are triggered whenever the conditions for a long or short trade are met.
Customization:
Feel free to adjust the session times, volume threshold, MACD settings, or moving averages based on your trading strategy or the specific asset you are trading.
EAOBS by MIGVersion 1
1. Strategy Overview Objective: Capitalize on breakout movements in Ethereum (ETH) price after the Asian open pre-market session (7:00 PM–7:59 PM EST) by identifying high and low prices during the session and trading breakouts above the high or below the low.
Timeframe: Any (script is timeframe-agnostic, but align with session timing).
Session: Pre-market session (7:00 PM–7:59 PM EST, adjustable for other time zones, e.g., 12:00 AM–12:59 AM GMT).
Risk-Reward Ratios (R:R): Targets range from 1.2:1 to 5.2:1, with a fixed stop loss.
Instrument: Ethereum (ETH/USD or ETH-based pairs).
2. Market Setup Session Monitoring: Monitor ETH price action during the pre-market session (7:00 PM–7:59 PM EST), which aligns with the Asian market open (e.g., 9:00 AM–9:59 AM JST).
The script tracks the highest high and lowest low during this session.
Breakout Triggers: Buy Signal: Price breaks above the session’s high after the session ends (7:59 PM EST).
Sell Signal: Price breaks below the session’s low after the session ends.
Visualization: The session is highlighted on the chart with a white background.
Horizontal lines are drawn at the session’s high and low, extended for 30 bars, along with take-profit (TP) and stop-loss (SL) levels.
3. Entry Rules Long (Buy) Entry: Enter a long position when the price breaks above the session’s high price after 7:59 PM EST.
Entry price: Just above the session high (e.g., add a small buffer, like 0.1–0.5%, to avoid false breakouts, depending on volatility).
Short (Sell) Entry: Enter a short position when the price breaks below the session’s low price after 7:59 PM EST.
Entry price: Just below the session low (e.g., subtract a small buffer, like 0.1–0.5%).
Confirmation: Use a candlestick close above/below the breakout level to confirm the entry.
Optionally, add volume confirmation or a momentum indicator (e.g., RSI or MACD) to filter out weak breakouts.
Position Size: Calculate position size based on risk tolerance (e.g., 1–2% of account per trade).
Risk is determined by the stop-loss distance (10 points, as defined in the script).
4. Exit Rules Take-Profit Levels (in points, based on script inputs):TP1: 12 points (1.2:1 R:R).
TP2: 22 points (2.2:1 R:R).
TP3: 32 points (3.2:1 R:R).
TP4: 42 points (4.2:1 R:R).
TP5: 52 points (5.2:1 R:R).
Example for Long: If session high is 3000, TP levels are 3012, 3022, 3032, 3042, 3052.
Example for Short: If session low is 2950, TP levels are 2938, 2928, 2918, 2908, 2898.
Strategy: Scale out of the position (e.g., close 20% at TP1, 20% at TP2, etc.) or take full profit at a preferred TP level based on market conditions.
Stop-Loss: Fixed at 10 points from the entry.
Long SL: Session high - 10 points (e.g., entry at 3000, SL at 2990).
Short SL: Session low + 10 points (e.g., entry at 2950, SL at 2960).
Trailing Stop (Optional):After reaching TP2 or TP3, consider trailing the stop to lock in profits (e.g., trail by 10–15 points below the current price).
5. Risk Management per Trade: Limit risk to 1–2% of your trading account per trade.
Calculate position size: Account Size × Risk % ÷ (Stop-Loss Distance × ETH Price per Point).
Example: $10,000 account, 1% risk = $100. If SL = 10 points and 1 point = $1, position size = $100 ÷ 10 = 0.1 ETH.
Daily Risk Limit: Cap daily losses at 3–5% of the account to avoid overtrading.
Maximum Exposure: Avoid taking both long and short positions simultaneously unless using separate accounts or strategies.
Volatility Consideration: Adjust position size during high-volatility periods (e.g., major news events like Ethereum upgrades or macroeconomic announcements).
6. Trade Management Monitoring :Watch for breakouts after 7:59 PM EST.
Monitor price action near TP and SL levels using alerts or manual checks.
Trade Duration: Breakout lines extend for 30 bars (script parameter). Close trades if no TP or SL is hit within this period, or reassess based on market conditions.
Adjustments: If the market shows strong momentum, consider holding beyond TP5 with a trailing stop.
If the breakout fails (e.g., price reverses before TP1), exit early to minimize losses.
7. Additional Considerations Market Conditions: The 7:00 PM–7:59 PM EST session aligns with the Asian market open (e.g., Tokyo Stock Exchange open at 9:00 AM JST), which may introduce higher volatility due to Asian trading activity.
Avoid trading during low-liquidity periods or extreme volatility (e.g., major crypto news).
Check for upcoming events (e.g., Ethereum network upgrades, ETF decisions) that could impact price.
Backtesting: Test the strategy on historical ETH data using the session high/low breakouts for the 7:00 PM–7:59 PM EST window to validate performance.
Adjust TP/SL levels based on backtest results if needed.
Broker and Fees: Use a low-fee crypto exchange (e.g., Binance, Kraken, Coinbase Pro) to maximize R:R.
Account for trading fees and slippage in your position sizing.
Time zone Adjustment: Adjust session time input for your time zone (e.g., "0000-0059" for GMT).
Ensure your trading platform’s clock aligns with the script’s time zone (default: America/New_York).
8. Example Trade Scenario: Session (7:00 PM–7:59 PM EST) records a high of 3050 and a low of 3000.
Long Trade: Entry: Price breaks above 3050 (e.g., enter at 3051).
TP Levels: 3063 (TP1), 3073 (TP2), 3083 (TP3), 3093 (TP4), 3103 (TP5).
SL: 3040 (3050 - 10).
Position Size: For a $10,000 account, 1% risk = $100. SL = 11 points ($11). Size = $100 ÷ 11 = ~0.09 ETH.
Short Trade: Entry: Price breaks below 3000 (e.g., enter at 2999).
TP Levels: 2987 (TP1), 2977 (TP2), 2967 (TP3), 2957 (TP4), 2947 (TP5).
SL: 3010 (3000 + 10).
Position Size: Same as above, ~0.09 ETH.
Execution: Set alerts for breakouts, enter with limit orders, and monitor TPs/SL.
9. Tools and Setup Platform: Use TradingView to implement the Pine Script and visualize breakout levels.
Alerts: Set price alerts for breakouts above the session high or below the session low after 7:59 PM EST.
Set alerts for TP and SL levels.
Chart Settings: Use a 1-minute or 5-minute chart for precise session tracking.
Overlay the script to see high/low lines, TP levels, and SL levels.
Optional Indicators: Add RSI (e.g., avoid overbought/oversold breakouts) or volume to confirm breakouts.
10. Risk Warnings Crypto Volatility: ETH is highly volatile; unexpected news can cause rapid price swings.
False Breakouts: Breakouts may fail, especially in low-volume sessions. Use confirmation signals.
Leverage: Avoid high leverage (e.g., >5x) to prevent liquidation during volatile moves.
Session Accuracy: Ensure correct session timing for your time zone to avoid misaligned entries.
11. Performance Tracking Journaling :Record each trade’s entry, exit, R:R, and outcome.
Note market conditions (e.g., trending, ranging, news-driven).
Review: Weekly: Assess win rate, average R:R, and adherence to the plan.
Monthly: Adjust TP/SL or session timing based on performance.
90 Minute Cycles + MTFCredit goes to LuxAlgo for the inspiration from 'Sessions' which allowed users to analyse specific price movements within a user defined period with tools such as trendline, mean and vwap.
Settings
Sessions
Enable Session: Allows to enable or disable all associated elements with a specific user set session.
Session Time: Opening and closing times of the user set session in the hh:mm format.
Range: Highlights the associated session range on the chart.
Ranges Settings
Range Area colour: Set each range to a specific colour.
Range Label: Shows the session label at the mid-point of the session interval.
Usage
By breaking 24hrs in quarters, starting with an Asian range of 18:00 NY time you can visualise the principles of Accumulation, Manipulation, Distribution and Rebalance. Know as AMD or PO3 (Power of Three), the principle is that the Manipulation phase will break above or below the Accumulation, before moving in an apposing direction and then rebalancing. This only works when there is a higher timeframe PD array or liquidity to support an apposing move.
Further to the daily quarters, each one can then be broken down again into 90min cycles. Again, each represents AMD, allowing the user an opportunity to watch for reversals during the 90min manipulation phase.
Note: Ensure the Asian Cycle always begins at 18:00 NY time.
The example shows that the 90min cycle occurs, followed by an apposing move away in price action
Here is the Daily cycle, highlighting the Manipulation phase.
Enjoy!