This script is a "Deep Learning MACD" indicator that combines traditional MACD calculations with advanced machine learning techniques, including recursive feedback, adaptive learning rates, Monte Carlo simulations, and volatility-based adjustments. Here’s a breakdown of its key components:
Inputs Lookback: The length of historical data (1000 by default) used for learning and volatility measurement.
Momentum and Volatility Weighting: Adjusts how much momentum and volatility contribute to the learning process (momentum weight: 1.2, volatility weight: 1.5). MACD Lengths: Defines the range for MACD fast and slow lengths, starting at minimum of 1 and max of 1000.
Learning Rate: Defines how much the model learns from its predictions (very small learning rate by default). Adaptive Learning: Enables dynamic learning rates based on market volatility. Memory Factor: A feedback factor that determines how much weight past performance has in the current model. Simulations: The number of Monte Carlo simulations used for probabilistic modeling.
Price Change: Calculated as the difference between the current and previous close. Momentum: Measured using a lookback period (1000 bars by default). Volatility: Standard deviation of closing prices. ATR: Average true range over 14 periods for measuring market volatility. Custom EMA Calculation
Implements an exponential moving average (EMA) formula from scratch using a recursive calculation with a smoothing factor.
Dynamic Learning Rate Adjusts the learning rate based on market volatility. When volatility is high, the learning rate increases, and when volatility is low, it decreases. This makes the model more responsive during volatile markets and more stable during calm periods. Error Calculation and Adjustment Error Calculation: Measures the difference between the predicted value (via Monte Carlo simulations) and the true MACD value. Adjust MACD Length: Uses the error to adjust the fast and slow MACD lengths dynamically, so the system can learn from market conditions.
Probabilistic Monte Carlo Simulation Runs multiple simulations (200 by default) to generate probabilistic predictions. It uses random values weighted by momentum and volatility to simulate various market scenarios, enhancing prediction accuracy.
MACD Calculation (Learning-Enhanced) A custom MACD function that calculates: Fast EMA and Slow EMA for MACD line. Signal Line: An EMA of the MACD line. Histogram: The difference between the MACD and signal lines.
Adaptive MACD Calculation Adjusts the fast and slow MACD lengths based on the error from the Monte Carlo prediction. Calculates the adaptive MACD, signal, and histogram using dynamically adjusted lengths.
Recursive Memory Feedback Stores previous MACD values in an array (macdMemory) and averages them to create a feedback loop. This adds a "memory" to the system, allowing it to learn from past behaviors and refine future predictions. Volatility-Based Reinforcement Introduces a volatility reinforcement factor that influences the signal based on market conditions. It adds volatility awareness to the feedback system, making the system more reactive during high volatility periods. Smoothed MACD After all the adjustments, the MACD line is further smoothed based on the current market volatility, resulting in a final smoothed MACD.
Key Features Monte Carlo Simulation: Runs multiple simulations to enhance predictions based on randomness and market behavior. Adaptive Learning: Dynamic adjustments of learning rates and MACD lengths based on market conditions. Recursive Feedback: Uses past data as feedback to refine the system’s predictions over time. Volatility Awareness: Integrates market volatility into the system, making the MACD more responsive to market fluctuations. This combination of traditional MACD with machine learning creates an adaptive indicator capable of learning from past behaviors and adjusting its sensitivity based on changing market conditions.