# Median Proximity Percentile [AlgoAlpha]

📊🚀 Introducing the "Median Proximity Percentile" by AlgoAlpha, a dynamic and sophisticated trading indicator designed to enhance your market analysis! This tool efficiently tracks median price proximity over a specified lookback period and finds it's percentile between 2 dynamic standard deviation bands, offering valuable insights for traders looking to make informed decisions.

🌟 Key Features:
• Color-Coded Visuals: Easily interpret market trends with color-coded plots indicating bullish or bearish signals.
• Flexibility: Customize the indicator with your preferred price source and lookback lengths to suit your trading strategy.

🔍 Deep Dive into the Code:
1. Choose your preferred price data source and define lookback lengths for median and EMA calculations.
`priceSource = input.source(close, "Source")`
and
`lookbackLength = input.int(21, minval = 1, title = "Lookback Length")`
2. Calculate median value, price deviation, and normalized value to analyze market position relative to the median.
`medianValue = ta.median(priceSource, lookbackLength)`
3. Determine upper and lower boundaries based on standard deviation and EMA.
```upperBoundary = ta.ema(positiveValues, lookbackLength) + ta.stdev(positiveValues, lookbackLength) * stdDevMultiplier
lowerBoundary = ta.ema(negativeValues, lookbackLength) - ta.stdev(negativeValues, lookbackLength) * stdDevMultiplier```
4. Compute the percentile value to track market position within these boundaries.
`percentileValue = 100 * (normalizedValue - lowerBoundary)/(upperBoundary - lowerBoundary) - 50`
5. Enhance your analysis with Hull Moving Average (HMA) for smoother trend identification.
`emaValue = ta.hma(percentileValue, emaLookbackLength)`
6. Visualize trends with color-coded plots and characters for easy interpretation.
`plotColor = percentileValue > 0 ? colorUp : percentileValue < 0 ? colorDown : na`
```// Alerts
alertcondition(ta.crossover(emaValue, 0), "Bullish Trend Shift", "Median Proximity Percentile Crossover Zero Line")
alertcondition(ta.crossunder(emaValue, 0), "Bearish Trend Shift", "Median Proximity Percentile Crossunder Zero Line")
alertcondition(ta.crossunder(emaValue,emaValue[1]) and emaValue[1] > 90, "Bearish Reversal", "Median Proximity Percentile Bearish Reversal")
alertcondition(ta.crossunder(emaValue[1],emaValue) and emaValue[1] < -90, "Bullish Reversal", "Median Proximity Percentile Bullish Reversal")```

🚨 Remember, the "Median Proximity Percentile " is a tool to aid your analysis. It’s essential to combine it with other analysis techniques and market understanding for best results. Happy trading! 📈📉
Notas de Lançamento:
Replaces "EMA" with "HMA" in the inputs.
Notas de Lançamento:
Added the option to turn on/off the noise scatterplot