problem : 'if' - unexpected end of program

 

Bonjour à tous, j'ai un problème dans mon code que je n'arrive pas à résoudre. merci à la communauté de m'avoir aidé

 void OnTick ()
{
     int totalOrders = OrdersTotal ();
     double entryPrice = 0 ;
     double currentMaValue = 0 ;
     double pointValue = Point ;

     // Calculer la moyenne mobile uniquement si nécessaire
     if (maValue == 0 )
    {
        maValue = iMA ( Symbol (), 0 , MA_Period, 0 , MODE_SMA , PRICE_CLOSE );
    }

     // Vérifier si une position est déjà ouverte
     if (totalOrders < MaxOrders && Hour() + GMTOffset >= 9 && Hour() + GMTOffset < 22 )
    {
         // Vérification de la tendance haussière en utilisant l'indicateur Moving Average (Moyenne mobile)
        currentMaValue = iMA ( Symbol (), 0 , MA_Period, 0 , MODE_SMA , PRICE_CLOSE );

         if (Ask > currentMaValue && Bid < currentMaValue) // Croisement à la baisse
        {
             // Sortir de la position longue
            CloseBuyPositions();
        }
         else if (Ask < currentMaValue && Bid > currentMaValue) // Croisement à la hausse
        {
             // Sortir de la position courte
            CloseSellPositions();
        }
         else
        {
            CheckBullishTrend();
             if (isBullishTrend)
            {
                 // Vérification du signal d'achat au niveau de Fibonacci 50% et des niveaux de support/résistance
                CalculateFibonacciLevels(Ask, fib38, fib50);

                 double lowPriceBuffer[];
                 CopyLow ( Symbol (), 0 , 1 , totalOrders, lowPriceBuffer);

                 if ( ArrayMinimum (lowPriceBuffer, totalOrders) <= fib50)
                {
                     // Définir le take profit et stop loss
                     double newTakeProfit = Ask + TakeProfit * pointValue;
                     double newStopLoss = Ask - StopLoss * pointValue;

                     // Utilisation du mode asynchrone lors de l'envoi de l'ordre d'achat
                    lastTicket = OrderSend ( Symbol (), OP_BUY, LotSize, Ask, Slippage, 0 , 0 , "" , 0 , 0 , Green);
                     if (lastTicket > 0 )
                    {
                         OrderSend ( Symbol (), OP_SENDCONFIRM, 0 , 0 , 0 , 0 , 0 , "" , 0 , 0 , Green);
                         OrderSend ( Symbol (), OP_TAKE_PROFIT, 0 , newTakeProfit, 0 , 0 , 0 , "" , 0 , 0 , Green);
                         OrderSend ( Symbol (), OP_STOP_LOSS, 0 , newStopLoss, 0 , 0 , 0 , "" , 0 , 0 , Green);
                        isOrderSent = true ;
                    }
                     else
                    {
                         Print ( "Échec de l'envoi de l'ordre d'achat. Code d'erreur : " , GetLastError ());
                    }
                }
            }
        }
    }

     // Gestion du Trailing Stop pour les positions ouvertes
     double newStopLoss;
     double trailingStopValue = TrailingStop * pointValue;
     int ordersToModify[];
     for ( int i = totalOrders - 1 ; i >= 0 ; i--)
    {
         if


Merci

 
benoith:

Hello everyone, I have a problem in my code that I can't solve. thanks to the community for helping me



Thanks

Bonjour,

Tout d’abord petite parenthèse, vous êtes ici sur les forums français de MQL5, ou du coup il faut poster en français. Vous pouvez changer la langue des forums en haut à gauche de votre écran.

Quant au problème auquel vous faites face, c’est juste que votre code est incomplet. Il se termine avec le mot clef « if » sans condition derrière.

Je vous invite à vous informer un peu plus sur le développement et la programmation en général, ainsi que le codage MQL5. Il s’agit d’un problème assez simple mais il faut absolument avoir les bases pour continuer. Vous pouvez également recruter un développeur qui le fera pour vous contre rémunération.

Bonne chance !