Key Levels (Open, Premarket, & Yesterday)

liquid-trader 已更新   
This indicator automatically identifies and draws recent high-probability support and resistance levels (recent key levels). Specifically, yesterdays highs / lows, premarket highs / lows, as well as yesterdays end of day Volume Weighted Average Price and trader specified Moving Average.

This is most useful on charts with intraday time frames (1 minute, 5 minute etc.) commonly used for day trading. This is not ideal for larger time frames (greater than 1 hour) commonly used for swing trading or identifying larger trends.

You can configure:
  • Line size, style, and colors
  • Label colors
  • Which key levels you want to see
  • Moving Average Parameters
  • Market Hours and Time Zone

This script illustrates:
  • A method for iterative management of more complex data objects (not just discrete values) with loops and arrays.
Minor cleanup.
• Refactored logic.
• Added "Near Open" premarket levels.
• Raised the line limit to the maximum allowed.
• Adjusted "Premarket" levels to reset at midnight. This is most useful for things like futures, where new sessions begin the evening prior. This change is unlikely to be noticed unless actively trading overnight.
• Added ability to set a line max length, if you do not want the lines stretching back to their origin. It is turned off by default.
• Improved "Premarket" level logic, where it will now stop updating near the open if "Near Open" levels are turned on, which should keep the premarket and near open levels from overlapping.
• Added ability to limit "Yesterdays Hi / Lo" to only the market hours. This is now on by default. Disabling the option will include Premarket and After Hours levels, if they exceed the levels during the market hours.
• Fixed bug where Yesterdays Hi / Lo would not reset properly if extended hours were not showing.
• Minor code cleanup.
• Added an "Opening Range" (off by default). You can specify the color and how many minutes into the first market hour qualifies as "the open".
• Minor improvements to level logic.
• Fixed a bug that truncated older levels, if the max line length was enabled.
• Fixed bug that broke the indicator when extended trading hours were not displayed on the chart and premarket levels or near open levels were enabled.
• A variety of smaller bug fixes and logic enhancements.
• Updated the default "Max Line Length" to be "15", which is the same default as the "Opening Range". This helps visually communicate when the opening range will stop adjusting. You still have the ability to override both the Max Line Length and Opening Range values.
Added Levels
• After Hours
• Overnight
• Custom

Added Price Proximity Features
• Line Length Override
• Toggle Visibility
• ATR Zones

Other Enhancements
• Refactored arrays for better variable and object management.
• Converted the market hours settings to be TV's session input (their standard time entry field).
• Logic adjustments and max_bar_back adjustments.
• Minor bug fixes.

- - -

All the new levels / features are off by default.

After Hours will capture the high / low after regular trading hours and before the session ends. If "Mkt Hrs Only" is disabled, and the sessions highs / lows occur during this time, "Yesterdays Hi / Lo" and "After Hours" levels will overlap. For this reason, if a After Hours level is identical to Yesterday, the After Hours level will be hidden.

Overnight will capture the high / low before midnight when a session begins after regular trading hours. Sessions beginning after trading hours is not a thing for most securities (thus will not show on most securities), but does occur for things like futures and crypto.

Custom have been added. You are able to set a specific level value in the settings, or drag the level up / down on the chart.

A feature previously introduced was an ability to give lines a maximum length. This truncation aims to help keep charts simple and clean. To this end, a follower suggested having truncated lines extend back to their origin when price was within it's proximity. To accomplish this, two Price Proximity settings are being introduced.

Range of Proximity ( % ) defines how close price needs to be for an enabled proximity settings to take effect. This is a percentage (not monetary) value. For example, how close price should be before a truncated line extends back to its origin.
Line Length Override will extend a line back to its origin, when price is proximal to a given line and "Max Line Length" is enabled.

Given the original intention of truncating lines (decluttering charts), and now having a method to detect price proximity, I extended the concept further.

Toggle Visibility will hide levels by default, and only show a level when price is proximal to a given line. Useful for those who only want to be reminded of an approaching while trading, but otherwise don't want to see it.

This price proximity work also spurred another idea. Price rarely interacts with a key level exactly. In practice they are more like zones, due to order execution variance, better known as volatility. Because the Average True Range (ATR) measures volatility, I decided to pair ATR with price proximity to get a better sense of a given levels area of opportunity.

ATR Zones will show a 5 bar ATR zone around the level, when price is proximal to a given line. Half the ATR is above the line, and half the ATR is below the line.

- - -

General Note
The intention of this indicator is to compliment your trading strategy. It is not intended to be a trading strategy in and of itself, but rather make something you are already doing more convenient. While turning everything on is unlikely to help you, enabling only the things that already have your attention makes chart contextualization so much faster. Happy trading.
Minor setting changes (ie. tooltips, groups, etc.)
• Visual cleanup of settings panel.
Added Levels
• Todays open
• Yesterdays open
• Yesterdays close
• Todays high & low
• This / last weeks high & low
• This / last months high & low
• This / last quarters high & low
• This / last years high & low
• Todays VWAP
• Todays Moving Average

Other Enhancements
• Label tooltips
• Label abbreviation controls
• Code refactor to better manage levels within a single UDT object array

While I have done my best to address all the edge-cases and bugs I could find, the magnitude of code refactoring required to implement these new levels cannot be overstated. It's possible I missed something, so if you discover any quirks, let me know and I'll get it fixed!

本着真正的TradingView精神,该脚本的作者将其开源发布,以便交易者可以理解和验证它。为作者喝彩!您可以免费使用它,但在出版物中重复使用此代码受网站规则的约束。 您可以收藏它以在图表上使用。