This Pine Script code is for an advanced trading indicator that displays enhanced moving averages with buy and sell labels, trend probability, and support/resistance levels. Here’s a detailed description of its components and functionality:
### Description:
1. **Indicator Initialization**:
- The indicator is named "Enhanced Moving Averages with Buy/Sell Labels and Trend Probability" and is set to overlay on the chart.
2. **Input Parameters**:
- **Moving Averages**: Four different moving averages (short and long periods for default and enhanced) with customizable periods.
- **Probability Threshold**: Determines the threshold for trend probability.
- **Support/Resistance Lookback**: Number of bars to look back for calculating support and resistance levels.
- **Signals Valid From**: Timestamp from which the signals are considered valid.
3. **Moving Averages Calculation**:
- **Default Moving Averages**: Calculated using simple moving averages (SMA) for the specified periods.
- **Enhanced Moving Averages**: Calculated using SMAs for different specified periods.
4. **Plotting Moving Averages**:
- Plots the default and enhanced moving averages with different colors for distinction.
5. **Crossover Detection**:
- Detects when the short moving average crosses above or below the long moving average for default moving averages.
6. **Buy/Sell Signal Labels**:
- Adds "BUY" and "SELL" labels on the chart when crossovers are detected after the specified valid timestamp.
- Tracks entry prices for buy/sell signals and adds labels when the price moves +100 points.
7. **Trend Detection for Enhanced Indicator**:
- Detects uptrend or downtrend based on the enhanced moving averages.
- Calculates a simple probability of trend based on price movement and EMA.
- Determines buy and sell signals based on trend conditions and volume-based buy/sell pressure.
8. **Plot Buy/Sell Signals for Enhanced Indicator**:
- Plots buy/sell signals based on the enhanced conditions.
9. **Background Color for Trends**:
- Changes the background color to green for uptrend and red for downtrend.
10. **Trend Lines**:
- Draws imaginary trend lines for uptrend and downtrend based on enhanced moving averages.
11. **Support and Resistance Levels**:
- Calculates and plots support and resistance levels using the specified lookback period.
- Stores and plots previous support and resistance levels with dashed lines.
12. **Expected Trend Labels**:
- Adds labels indicating expected uptrend or downtrend based on buy/sell signals.
13. **Alerts**:
- Sets alert conditions for buy and sell signals, triggering alerts when these conditions are met.
14. **Demand and Supply Zones**:
- Draws and extends horizontal lines for demand (support) and supply (resistance) zones.
### Summary:
This script enhances traditional moving average crossovers by adding trend probability calculations, volume-based pressure, and support/resistance levels. It visualizes expected trends and provides comprehensive buy/sell signals with corresponding labels, background color changes, and alerts to help traders make informed decisions.