Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 68

 
Kodu olması gerektiği gibi eklemek istiyorum ve göremediğim bir şey var
 

//|                                          9.1.4.5 OrderDelete.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+1
void OnStart ()
{
   string Symb= Symbol ();         //Финансовый инструмент
   double Dist= 1000000.0 ;       //Предустановка
   double Price;
   int   Limit_Stop=- 1 ;           // Пока отложенных нет
   int Tip;
   double Win_Price= WindowPriceOnDropped ();     //Здесь брошен скрипт
   //-------------------------------------------------------------------+2
   for ( int i= 1 ; i<= OrdersTotal (); i++)         // Цикл выбора ордеров
  {  
     if ( OrderSelect (i- 1 , SELECT_BY_POS )== true )     //Eсли ордер выбран
      {
         //------------------------------------------------------------------+3      
         if ( OrderSymbol ()!=Symb) continue    //не ваш фин. инструмент
         int Tip= OrderType ();               //Тип ордера
         if (Tip< 2 ) continue                  //Рыночный ордер
      
         //------------------------------------------------------------+4
         double Price= OrderOpenPrice ();     //Цена откр. отлож. ордера
           if ( NormalizeDouble ( MathAbs (Price-Win_Price), Digits )<
             NormalizeDouble (Dist, Digits ))
            {
            Dist= MathAbs (Price-Win_Price);     // Новое значение
            Limit_Stop=Tip;                     //Есть отложенный ордер
             int Ticket= OrderTicket ();             // номер ордера
            }
      }
  
  
   //+---------------------------------------------------------------+5
   switch (Limit_Stop)
  {
   case 2 : string Texst= "BuyLimint " ;
         break ;
   case 3 : Texst= "SellLimint " ;
         break ;
   case 4 Texst= "BuyStop " ;
         break ;
   case 5 Texst= "SellStop " ;
         break ;
  }
  
   //------------------------------------------------------------------+6
   //ЦИКЛ ЗАКРЫТИЯ  ОРДЕРА
   //--------------------------------------------------------------------
   while ( true )               // цикл закрытия ордера
  {
   if (Limit_Stop==- 1 )       //если отложенных нет
    {
     Alert ( "по " ,Symb, "отложенных ордеров" );   //если отложенных нет
     break ;
    }
     //-----------------------------------------------------------------+7
     Alert ( "Попытка удалить " , "" ,Ticket, "ожидание ответа.." );
     bool   Ans= OrderDelete (Ticket);               //Удаление ордера
     //---------------------------------------------------------------------
     if (Ans== true )
    {
     Alert ( "Удалён ордер " ,Text, "" ,Ticket);
     break ;
    }
     int Error= GetLastError ();
     switch (Error)
    {
     case 4 : Alert ( "Торговый сервер занят. Пробуем ещё раз.." );
     Sleep ( 3000 );                                 //Обновим данные
     continue ;                                     //На следующую итерацию
     case 137 : Alert ( "Брокер занят. Пробуем ещё раз..." );
             Sleep ( 3000 );
             continue ;
     case 146 : Alert ( "Подсистема торговли занята. Пробуем ещё раз..." );
             Sleep ( 500 );
             continue ;                             // На следующую итерацию
    }
     switch (Error)                                   //Критические ошибки
     {
     case 2 : Alert ( "Oбщая ошибка." );
             break ;                               //Выход из switch
  
     case 64 : Alert ( "Счёт заблокирован." );
             break ;                               //Выход из switch                                    
     case 133 : Alert ( "Торговля заблакирована." );
             break ;
     case 139 : Alert ( " Ордер заблакирован и уже обрабатывается." );
             break ;
     case 145 : Alert ( "Модификация запрещена.Ордер слишком близок к рынку" );
             break ;      
     default : Alert ( "Возникла ошибка." ,Error);     //Другие варианты                                                               //Выход из switch      
     }
     break ;                                
   }
   //---------------------------------------------------------------------+
   Alert ( "Скрипт законччил работу-----------------------." );
   return ;
}

  
beyler bakın
 
başlangıçta parantez üzerindeki iki hata vurgulandı. for döngüsünde yeterince parantez yok gibi görünüyor, 11 hatayı vurgular, mucizeler !!!
 
 
FOTOGRAF14 :
başlangıçta parantez üzerindeki iki hata vurgulandı. for döngüsünde yeterince parantez yok gibi görünüyor, 11 hatayı vurgular, mucizeler !!!
Hata sayısındaki artışın doğru olmadığını düşünmeyin! for içindeki parantez gerçekten gerekli. İlk önce düzeltilmesi gereken sadece bu hata. Düzelttikten sonra, görünüşe göre hala hatalar var :)
 
FOTOGRAF14 :
başlangıçta parantez üzerindeki iki hata vurgulandı. for döngüsünde yeterince parantez yok gibi görünüyor, 11 hatayı vurgular, mucizeler !!!
Mucize yok... " ')' - beklenmeyen program sonu " - beklenmedik bitiş ... " '{' - dengesiz parantezler " - kapatılmamış parantezler ... = eksik parantezler, '{' eksik veya fazla . . . kodu dikkatlice kontrol etmeniz ve gerektiği yerde eklemeniz ve sadece böyle değil veya fazlalığı kaldırmanız gerekir. ...
 
FOTOGRAF14 :

Sayfa 25, 27, - noktalı virgül atlandı.

Sayfa 44, 48, 50, 69, - Textst, derleyici ne olduğunu anlamıyor, 'Metin' bildirilmiş bir tanımlayıcı değil = ele alınması gerekiyor.

Sayfa 48, 50, - işlenen bekleniyor = büyük olasılıkla iki nokta üst üste atlandı.

Sayfa 64 - Bilet = bildirilmemiş tanımlayıcı.

vb. hatalarınızı sıralayın.

 
FOTOGRAF14 :
Kodu olması gerektiği gibi eklemek istiyorum ve göremediğim bir şey var

eklenen koddan sonra şöyle bir şey yazmanız gerekir

***

forum hatası

 
FOTOGRAF14 :

  
beyler bakın

Tasarım gereği son siparişi neden atlıyorsunuz?

for ( int i = 1 ; i<= OrdersTotal (); i++)         // Цикл выбора ордеров
  {  
     if ( OrderSelect ( i- 1 , SELECT_BY_POS )== true )     //Eсли ордер выбран
      {


 
terminalde - haberler sekmesi. Açılır pencerenin boyutu ve içindeki yazı tipi boyutu nasıl değiştirilir, böylece terminalden çıktıktan ve sonraki girişten sonra bu değişiklikler kaydedilir?