Danışmanın kazanmasına izin vermeyen şey. - sayfa 6

 
valenok2003 : Roman, yalan söyleme, ilk yazdığın zaman
 while ( OrderSelect (ticket,SELECT_BY_TICKET)==false)

Yanlış. Bütün döngü şöyle:

 while ( OrderSelect (ticket,SELECT_BY_TICKET)==false)       // Если ордер выбран
                 Sleep ( 100 );        

Doğru, yorum yanlış. Ancak döngü tam olarak şudur: sıra seçilene kadar 100 milisaniye bekleyin.

Doğru, artık biletli (kapalı) bir sipariş yoksa, Roma sonsuz bir döngüye girecek. Büyük olasılıkla, bu kontrol daha önce yapılır.

 
Roman. :

Bu tasarım orijinal olarak birinin gönderisinde şu soruyla yer aldı: Bir siparişin fiyatı nasıl bulunur ? Cevabı bu döngüde kullandım - yukarıya bakın.

İşte o sorunun cevabı:

İşte buradasın, Roman. Bazen bilet iade edilir, ancak siparişler güle güle. Ve küçük bir çocuk gibi asılacaksın.

Ayrıca, olmalıdır

// Sipariş SEÇİLMEZSE

Not Geçenlerde sizinle bu konuyu tartışmıştık.

 

Peki sen kahretsin....

Ne olacağı ne anlama geliyor? Bu soruyu gerçekten anlamıyorum ...

Dock'u içiyoruz - standart sabitler / çalışma zamanı hataları - her şey orada doğru ve ayrıntılı olarak açıklanıyor ...

Bulmazsanız - hata numarası 4108

 
valenok2003 :



Roman kurnaz olma, ilk yazdığında

bu tasarım

 while ( OrderSelect (ticket,SELECT_BY_TICKET)==false)

çevrimiçi çalışma döngüsünün bir bileşenidir; seçilen siparişin özelliklerini elde etmek için kullanırım

 // ------------------------------------------------Ищем наш ордер---------------------------------
   int orderType;
   for ( int orderIndex = ( OrdersTotal () - 1 ); orderIndex >= 0 ; orderIndex--)
   {
       if (! OrderSelect (orderIndex, SELECT_BY_POS))     continue ;
       if (( OrderSymbol () != Symbol ()) || ( OrderMagicNumber () != MagicNumber)) continue ;
      orderType = OrderType ();
       if ((orderType != OP_BUY) && (orderType != OP_SELL)) continue ;
          ticket = OrderTicket ( );                         // Номер ордера
          orderLots = OrderLots ();                         // Lots   
          orderProfit = OrderProfit () + OrderSwap ();       // Profit
          Price = OrderOpenPrice ();                         // Цена открытия рыночного ордера
          SL =   OrderStopLoss ();                           // Значение StopLoss ордера
          TP = OrderTakeProfit ();                           // Значение TakeProfit ордера          
           if (ticket> 0 )                                     // Если позиция открылась
              {
                 while ( OrderSelect (ticket,SELECT_BY_TICKET)==false)       // Если ордер выбран
                 Sleep ( 100 );                                 
                 double OpenPrice= OrderOpenPrice ();
       // Print("OrderTicket()=",OrderTicket(),  "OrderOpenTime()=",OrderOpenTime()); 
       // Print("TimeLocal()=",TimeLocal());                                                                    
                     //---------------------Запоминаем значения сл и тп ордера                     
                 if (orderType == OP_BUY) 
                   {                
                     
                   }
            
                 if (orderType == OP_SELL) 
                   {        
                     
                   }   
                            
               }
             
     // Проверка на предельную просадку      
       double loss = - ((orderProfit * 100.0 ) / AccountBalance ());
       if (loss > MaxLoss)
      {
         Print ( "MaxLoss" );
         CloseAllOrders(MagicNumber);
         IsExpertFailed = true;
         return ( 0 );
      }  
        
       return ( 0 );
   }
   
 
 

Kaç kez sipariş seçtikten sonra kapanış saatini kontrol ettiğimi yazdım, eğer !=0 ise sipariş zaten kapalıdır.

"Ve bu insanlar bana burnumu karıştırmayı öğretiyor..."

 

Ve döngünde nasıl asılı kalıyor ... sevgili anne

Вот эта строка вашше не очем : if (! OrderSelect (orderIndex, SELECT_BY_POS)) continue ;

 
FAQ : "Ve bu insanlar bana burnumu temizlemeyi öğretiyor..."

Hatırladım:

Oğul yanlışlıkla ebeveynlerinin cinsiyetine tanık oldu ve şöyle düşünüyor: "Ve bu insanlar hala burnumu almamı yasaklıyor ...".

 
Mathemat :

Yanlış. Bütün döngü şöyle:

Doğru, yorum yanlış. Ancak döngü tam olarak şudur: sıra seçilene kadar 100 milisaniye bekleyin.
Evet bu yazıda bir satır eklemeyi unutmuşum ama diğer yazılarda bu konudaki tam cevap burada...
 

Kahretsin, ne zaman bileşik IF yazmamayı öğreneceksin, bir satır ekleyemeyecek kadar tembelsin, ama analiz etmeye başlar başlamaz, tüm kafanı duvardan kırabilirsin.

Ve ayrıca, iki ayrıdan daha uzun

 
FAQ :

Kaç kez sipariş seçtikten sonra kapanış saatini kontrol ettiğimi yazdım, eğer !=0 ise sipariş zaten kapalıdır.

"Ve bu insanlar bana burnumu karıştırmayı öğretiyor..."

Evet, bu arada, şimdi hatırladım ...

Yakınlarda mevcutsa - kopyala-yapıştır pliz ... zaman kontrollü, şöyle bir şey var - sıfıra eşit / eşit değilse ... çünkü. sadece kapalı siparişlerin bir kapanış saati vardır...