PROTECTED SOURCE SCRIPT
Updated

Mid Price Ray

116
# Mid Price Ray Indicator

A professional trading indicator that draws rays from the midpoint of price bars, designed to help traders identify potential support and resistance levels.

## Key Features

1. Timeframe-Specific Colors
- Customizable colors for different timeframes:
- 5 minutes
- 15 minutes
- 30 minutes
- 1 hour
- 4 hours
- 1 day
- 1 week
- Default color setting for unlisted timeframes

2. Ray Customization
- Three line styles:
- Solid
- Dashed
- Dotted
- Adjustable line width (1-4 pixels)
- Configurable ray length
- Infinite extension (length = 0)
- Fixed length (user-defined)

3. Dynamic Calculation
- Automatically calculates midpoint from previous bar's high and low
- Updates in real-time with each new bar
- Efficient memory management with automatic cleanup

4. Visual Clarity
- Customizable transparency levels
- Clean and professional appearance
- Automatic color adaptation based on timeframe

## Applications

1. Support/Resistance Identification
2. Price Action Analysis
3. Multi-timeframe Analysis
4. Trend Following
5. Range Trading

## Notes

- Optimized for real-time trading
- Compatible with all TradingView timeframes
- Memory-efficient design
- Professional-grade visualization

This indicator is particularly useful for traders who want to track price midpoints across different timeframes while maintaining a clean and organized chart layout.
Release Notes
Summary of Changes

- Added a timeframe input tfInput = input.timeframe(title="选择周期", defval="60") to let you choose the source timeframe for the mid-price.
- Replaced the previous-bar mid-price with request.security(syminfo.tickerid, tfInput, hl2[1], barmerge.gaps_off, barmerge.lookahead_off) , so it uses the selected timeframe’s last completed bar.
- Moved the request.security(...) call outside conditional blocks to satisfy Pine’s dynamic request restriction.
- Updated color selection to key off tfInput in getRayColor() , mapping 5/15/30/60/240/D/W to the corresponding colors.
- Preserved line drawing behavior: when rayLength == 0 it extends to the right; otherwise it draws a fixed-length segment; rayStyle and rayWidth still apply.
- Indicator short name is MPR ; the title is simplified to a concise name.
Behavior

- Regardless of the chart timeframe, the ray’s price level is the midpoint of the previous bar from tfInput . For example, on a 5-minute chart with tfInput set to 60 , the ray uses the previous 1-hour bar’s midpoint.
- The ray’s X anchor stays at the chart’s bar_index - 1 ; only the Y level comes from the selected timeframe.
Notes

- barmerge.lookahead_off ensures values come from completed higher-timeframe bars.
- If you want the ray’s X anchor to align to the selected timeframe bar’s close time, we can add time-based bar_index alignment.

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.