Hatalar, hatalar, sorular - sayfa 2967

 
Artyom Trishkin :
Değişkenlerinizi başlatmamak normal davranış değildir. Başlatın ve böyle bir soru olmayacak.

Tamamen İÇİN.

Ancak bu, hiçbir yerde hata olmadığı anlamına gelmez))). Sadece her şeyin yolunda olduğundan emin olmak istedim.

 
mktr8591 :

Tamamen İÇİN.

Ancak bu, hiçbir yerde hata olmadığı anlamına gelmez))). Sadece her şeyin yolunda olduğundan emin olmak istedim.

Büyük olasılıkla bu bir tür korumadır.
Mql'de bellek hücrelerine erişim mümkün olmadığından, bir değişkene erişirken çöp değerinin rastgele oluşturulduğunu varsayıyorum.
Değişken başlatılmazsa, hata ayıklama sırasında hatanızı bulamama olasılığınız birçok kez artar))
Ve derleyici büyük olasılıkla bunu, değişkenin başlatılmadığına dair uyarılarda söylüyor.

 
Roman :

Büyük olasılıkla bu bir tür korumadır.
Mql'de bellek hücrelerine erişim mümkün olmadığından, bir değişkene erişirken çöp değerinin rastgele oluşturulduğunu varsayıyorum.
Değişken başlatılmazsa, hata ayıklama sırasında hatanızı bulamama olasılığınız birçok kez artar))
Ve derleyici büyük olasılıkla bunu, değişkenin başlatılmadığına dair uyarılarda söylüyor.

Veya optimizasyon. Değişken tanımlı olmadığı için, örneğin kayıtta daha yakın olan herhangi bir değeri verebiliriz.

 
JRandomTrader :

Veya optimizasyon. Değişken tanımlı olmadığı için, örneğin kayıtta daha yakın olan herhangi bir değeri verebiliriz.

Çevrenizden böyle bir şey. Nesil tabi ki dile getirdiğim gibi uygun değil, sadece varsayımı genelleştirdim.

 

Gelecekte çok çekirdekli bir işlemci ile donanımı bir araya getirmek için MQL5 Cloud Network hizmetinde 2 aracının ne kadar kazanacağını bulmaya karar verdim. Ajan Yöneticisi kullanılarak ajanlar eklendi. İyi eklenmiş gibi görünüyor.

Temsilci Yöneticisi

Hiçbir şey şüphe uyandırmaz... MQL5.COM hesabımda oturum açtım. Ofisteki "Acenteler" bölümünde oluşturulan temsilciler görüntülenir. Servislerde, görev yöneticisinde ayrıca MetaTester-1 ve MetaTester-2 olmak üzere 2 servis buldum. Ancak yarım gündür ajanlar herhangi bir işlem yapmıyor. Her şey sıfır. Temsilciler neden çalışmıyor?

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
	 CList *deals_array = new CList;

         for ( int i= 0 ;i< 10 ;i++)
         {
            RobotDeal *cobj = new RobotDeal;
            cobj.ticker = "ticker " + IntegerToString (i);
            deals_array.Add(cobj);
         }
         
         RobotDeal *cobj11 = new RobotDeal;
         cobj11.ticker = "ticker 11 " ;
         deals_array.Add(cobj11);
         
         RobotDeal *cobj12 = new RobotDeal;
         cobj12.ticker = "ticker 12 " ;
         deals_array.Add(cobj12);
         
         RobotDeal *cobj13 = new RobotDeal;
         cobj13.ticker = "ticker 13 " ;
         deals_array.Add(cobj13);
         
         RobotDeal *cobj14 = new RobotDeal;
         cobj14.ticker = "ticker 14 " ;
         deals_array.Add(cobj14);

         Print ( "Total: " + IntegerToString (deals_array.Total()));

         for ( int i= 0 ;i<deals_array.Total();i++)
           {
               RobotDeal *object=deals_array.GetNodeAtIndex(i);
               Print (object.ticker);
           }
         
         for ( int i= 0 ; i < 14 ; i++)
         {
             Print ( "remove # " + IntegerToString (i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
             if ( CheckPointer (deal) != POINTER_INVALID )
            {
               Print ( "remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

         for ( int i= 0 ;i<deals_array.Total();i++)
           {
               RobotDeal *object=deals_array.GetNodeAtIndex(i);
               Print (object.ticker);
           }

         Print ( "Total end: " + IntegerToString (deals_array.Total()));
 class RobotDeal: public CObject
{
     public :

     string ticker;

    RobotDeal() {}
};

Lütfen bana Clist'ten öğelerin nasıl doğru şekilde kaldırılacağını söyler misiniz? Silmeye çalıştığınızda sadece yarısı silinir ve indeksleme kaybolur. Henüz denemedim. hiç çalışmıyor!


Kodu çalıştırırken, böyle bir şey verir


Toplam: 14

etiket 0

1 numara

2 numara

3 numara

4 numara

5 numara

numara 6

kayıt numarası 7

numara 8

numara 9

numara 11

senedi 12

13 numara

14 numara

#0 kaldır

kaldır: ticker 0

1 numarayı kaldır

kaldır: ticker 2

2 numarayı kaldır

kaldır: ticker 4

#3'ü kaldır

kaldır: ticker 6

4 numarayı kaldır

kaldır: ticker 8

#5 kaldır

kaldır: ticker 11

#6 kaldır

kaldır: ticker 13

#7 kaldır

#8'i kaldır

#9'u kaldır

10 numarayı kaldır

#11'i kaldır

#12 kaldır

kaldır#13

1 numara

3 numara

5 numara

kayıt numarası 7

numara 9

senedi 12

14 numara

toplam bitiş: 7


 
Mihail Matkovskij :

Gelecekte çok çekirdekli bir işlemci ile donanımı bir araya getirmek için MQL5 Cloud Network hizmetinde 2 aracının ne kadar kazanacağını bulmaya karar verdim. Ajan Yöneticisi kullanılarak ajanlar eklendi. İyi eklenmiş gibi görünüyor.

Hiçbir şey şüphe uyandırmaz... MQL.COM hesabımda oturum açtım. Ofisteki "Acenteler" bölümünde oluşturulan temsilciler görüntülenir. Servislerde, görev yöneticisinde ayrıca MetaTester-1 ve MetaTester-2 olmak üzere 2 servis buldum. Ancak yarım gündür ajanlar herhangi bir işlem yapmıyor. Her şey sıfır. Temsilciler neden çalışmıyor?

Ne tür PR ajanları aldınız? Örneğin, 20'sinde PR180 için görevler vardı (özellikle sabahları).

 
Vladimir Karputov :

Ne tür PR ajanları aldınız? Örneğin, 20'sinde PR180 için görevler vardı (özellikle sabahları).

119 PR ajanım var, nasıl etkileyeceğini merak ediyorum.

 
Mihail Matkovskij :

119 PR ajanım var, nasıl etkileyeceğini merak ediyorum.

Kesin olarak bilmiyorum. Sadece ilginçti.

 
DimaDDM :

Lütfen bana Clist'ten öğelerin nasıl doğru şekilde kaldırılacağını söyler misiniz? Silmeye çalıştığınızda sadece yarısı silinir ve indeksleme kaybolur. Henüz denemedim. hiç çalışmıyor!

Yanlış silme işleminiz var! Senin kodun:

         for ( int i= 0 ; i < 14 ; i++)
        {
             Print ( "remove # " + IntegerToString (i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
             if ( CheckPointer (deal) != POINTER_INVALID )
            {
               Print ( "remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

Her öğe kaldırıldığında liste küçülür! Bu nedenle, bunu yapmanız gerekir:

         for ( int i = deals_array.Total() - 1 ; i >= 0 ; i--)
        {
             Print ( "remove # " + IntegerToString (i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
             if ( CheckPointer (deal) != POINTER_INVALID )
            {
               Print ( "remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

Veya daha da kolay:

deals_array.Clear();