Corriger moi svp

 
//+------------------------------------------------------------------+
//| CombinedIndicator.mq5 |
//| Generated by ChatGPT |
//+------------------------------------------------------------------+
#property strict
#property indicator_chart_window
#property indicator_buffers 10
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_color4 DodgerBlue
#property indicator_color5 Magenta
#property indicator_color6 Orange
#property indicator_color7 Blue
#property indicator_color8 Purple
#property indicator_color9 Aqua
#property indicator_color10 DarkOrange

//--- input parameters
input int InpBarsCount = 500; // Nombre de barres à vérifier
input double supportLevel = 100.0; // Niveau de support
input double resistanceLevel = 120.0; // Niveau de résistance
input double RiskPercentage = 2.0; // Pourcentage de risque par trade
input int TrendFilterPeriod = 50; // Période pour le filtre de tendance

//--- indicator buffers
double buySignalBuffer[];
double sellSignalBuffer[];
double universalBuyBuffer[];
double universalSellBuffer[];
double universalPriceActionBuyBuffer[];
double universalPriceActionSellBuffer[];
double trendlineBuyBuffer[];
double trendlineSellBuffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
    //--- Mapping des buffers des indicateurs
    SetIndexBuffer(0, buySignalBuffer);
    SetIndexBuffer(1, sellSignalBuffer);
    SetIndexBuffer(2, universalBuyBuffer);
    SetIndexBuffer(3, universalSellBuffer);
    SetIndexBuffer(4, universalPriceActionBuyBuffer);
    SetIndexBuffer(5, universalPriceActionSellBuffer);
    SetIndexBuffer(6, trendlineBuyBuffer);
    SetIndexBuffer(7, trendlineSellBuffer);
    //--- Nom de la fenêtre de données et libellé de la sous-fenêtre de l'indicateur
    IndicatorShortName("CombinedIndicator");
    //---
    return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
    // S'assurer qu'il y a suffisamment de données
    if (rates_total < InpBarsCount)
        return(0);

    int limit = MathMin(rates_total - prev_calculated, rates_total - 1);

    for (int i = limit - 1; i >= 1; i--)
    {
        // Réinitialiser les signaux
        buySignalBuffer[i] = EMPTY_VALUE;
        sellSignalBuffer[i] = EMPTY_VALUE;
        universalBuyBuffer[i] = EMPTY_VALUE;
        universalSellBuffer[i] = EMPTY_VALUE;
        universalPriceActionBuyBuffer[i] = EMPTY_VALUE;
        universalPriceActionSellBuffer[i] = EMPTY_VALUE;
        trendlineBuyBuffer[i] = EMPTY_VALUE;
        trendlineSellBuffer[i] = EMPTY_VALUE;

        // Vérifier le rebond sur le niveau de support
        if (low[i] <= supportLevel && close[i] > open[i] && close[i + 1] < open[i + 1])
        {
            buySignalBuffer[i] = low[i] - 0.0003; // Positionner la flèche en dessous de la bougie
        }

        // Vérifier le rebond sur le niveau de résistance
        if (high[i] >= resistanceLevel && close[i] < open[i] && close[i + 1] > open[i + 1])
        {
            sellSignalBuffer[i] = high[i] + 0.0003; // Positionner la flèche au-dessus de la bougie
        }// Vérification basée sur les dernières valeurs de clôture pour simuler une ligne de tendance
        if (IsTrendlineBreak(i, close))
        {
            trendlineBuyBuffer[i] = low[i] - 0.5 * Point;
            trendlineSellBuffer[i] = high[i] + 0.5 * Point;
        }
    }

    return(rates_total);
}

//+------------------------------------------------------------------+
//| Fonction de vérification de la ligne de tendance |
//+------------------------------------------------------------------+
bool IsTrendlineBreak(int i, const double &close[])
{
    int trendlineBars = 10; // Ajuster si nécessaire
    double trendline = 0;

    for (int j = i; j > i - trendlineBars; j--)
    {
        trendline += close[j];
    }

    trendline /= trendlineBars;

    if (close[i] > trendline && close[i - trendlineBars] < trendline)
        return(true);
    else if (close[i] < trendline && close[i - trendlineBars] > trendline)
        return(true);

    return(false);
}
 
Bonjour. Essayez d'utiliser la fonction pour poster le code proprement. Il n'est pas lisible sinon.

On n'est pas devin. Qu'est sur votre code fait ou ne fait pas ?
 
En plus on n'est pas là pour corriger les codes de chatgpt
 
Comment poster le code pour qu'il soit visible ?
 
Faut chercher camarade

MQL5 va te demander beaucoup de recherches
On ne va pas pouvoir répondre à toutes tes questions 
 
Gerard Willia G J B M Dinh Sy #:
Faut chercher camarade

MQL5 va te demander beaucoup de recherches
On ne va pas pouvoir répondre à toutes tes questions 
Qu'est-ce que je dois appuyer là bas ?
 
....