PINE LIBRARY
Updated DirectionCalculations

Library "DirectionCalculations"
Direction calculation algorithms for body, bar, and breakout directions
get_body_direction()
Calculate body direction based on open vs close
Returns: Body direction: 1 (bullish), -1 (bearish), 0 (doji)
get_bar_direction()
Calculate bar direction based on close position relative to hl2
Returns: Bar direction: 1 (upper half), -1 (lower half), 0 (middle)
get_breakout_direction()
Calculate breakout direction with outside/inside bar logic
Returns: [breakout_direction, is_outside_bar, is_inside_bar, outside_dir, inside_dir]
get_combined_direction(bod_dir, bar_dir, bro_dir, bro_ob_dir)
Calculate combined direction from body and bar directions
Parameters:
bod_dir (int): Body direction
bar_dir (int): Bar direction
bro_dir (int): Breakout direction
bro_ob_dir (int): Outside bar direction
Returns: Combined direction
is_consecutive_direction(current_dir, previous_dir)
Check if directions are consecutive (no reversal)
Parameters:
current_dir (int): Current direction
previous_dir (int): Previous direction
Returns: True if consecutive (no reversal from +1 to -1 or -1 to +1)
get_all_directions()
Get all direction calculations at once
Returns: [body_dir, bar_dir, breakout_dir, is_outside_bar, is_inside_bar, outside_dir, inside_dir, combined_dir]
get_breakout_distances()
Get distance calculations for breakout analysis
Returns: [HtoH_dist, LtoL_dist] High-to-high and low-to-low distances
get_bar_patterns()
Check for specific bar patterns
Returns: [is_higher_high, is_higher_low, is_lower_low, is_lower_high]
Direction calculation algorithms for body, bar, and breakout directions
get_body_direction()
Calculate body direction based on open vs close
Returns: Body direction: 1 (bullish), -1 (bearish), 0 (doji)
get_bar_direction()
Calculate bar direction based on close position relative to hl2
Returns: Bar direction: 1 (upper half), -1 (lower half), 0 (middle)
get_breakout_direction()
Calculate breakout direction with outside/inside bar logic
Returns: [breakout_direction, is_outside_bar, is_inside_bar, outside_dir, inside_dir]
get_combined_direction(bod_dir, bar_dir, bro_dir, bro_ob_dir)
Calculate combined direction from body and bar directions
Parameters:
bod_dir (int): Body direction
bar_dir (int): Bar direction
bro_dir (int): Breakout direction
bro_ob_dir (int): Outside bar direction
Returns: Combined direction
is_consecutive_direction(current_dir, previous_dir)
Check if directions are consecutive (no reversal)
Parameters:
current_dir (int): Current direction
previous_dir (int): Previous direction
Returns: True if consecutive (no reversal from +1 to -1 or -1 to +1)
get_all_directions()
Get all direction calculations at once
Returns: [body_dir, bar_dir, breakout_dir, is_outside_bar, is_inside_bar, outside_dir, inside_dir, combined_dir]
get_breakout_distances()
Get distance calculations for breakout analysis
Returns: [HtoH_dist, LtoL_dist] High-to-high and low-to-low distances
get_bar_patterns()
Check for specific bar patterns
Returns: [is_higher_high, is_higher_low, is_lower_low, is_lower_high]
Release Notes
v2Pine library
In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in publications is governed by House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Pine library
In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in publications is governed by House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.