MT5 ve iş başında hız - sayfa 21

 
fxsaber :

Savaş robotlarında sadece 0- INT_MAX seçeneğini bıraktım. Frenler fark etmeyi bıraktı.

Bu hikayeyi ne yapacaksın?

Tabii ki, sipariş geçmişini yüz bin ile sınırlamak için her ay alt hesabı değiştirebilirim, ancak bu bir seçenek değil :)

 
Dmi3 :

Bu hikayeyi ne yapacaksın?

Tabii ki, sipariş geçmişini yüz bin ile sınırlamak için her ay alt hesabı değiştirebilirim, ancak bu bir seçenek değil :)

   static ulong IsHistoryDeals( const long TimeMsc )
  {    
     ulong Res = 0 ;
/*    
    if (_B(::HistorySelect(TimeMsc / 1000, INT_MAX), 5))
    {
      const int Total = _B(::HistoryDealsTotal(), 1);
      
      if (Total > 100)
        ::Alert("::HistoryDealsTotal() = " + (string)Total + ", TimeMsc = " + NEWTICKS::TimeToString(TimeMsc));
                
      for (int i = Total - 1; !Res && (i >= 0); i--)
      {
        const ulong Ticket = _B(::HistoryDealGetTicket(i), 1);
        
        if ((_B(::HistoryDealGetInteger(Ticket, DEAL_TIME_MSC), 1) >= TimeMsc) &&
            (_B(::HistoryDealGetString(Ticket, DEAL_SYMBOL), 1) == _Symbol))        
          Res = Ticket;
      }
    }    
*/     
     if (_B(:: HistorySelect ( 0 , INT_MAX ), 1 )) // 
    {
       const int Total = _B(:: HistoryDealsTotal (), 1 );
      
       for ( int i = Total - 1 ; !Res && (i >= NEWTICKS::PrevTotal); i--)
      {
         const ulong Ticket = _B(:: HistoryDealGetTicket (i), 1 );
        
         if (_B(:: HistoryDealGetInteger (Ticket, DEAL_TIME_MSC ), 1 ) < TimeMsc)
           break ;
         else if (_B(:: HistoryDealGetString (Ticket, DEAL_SYMBOL ), 1 ) == _Symbol ) 
          Res = Ticket;
      }
      
      NEWTICKS::PrevTotal = Total;
    }    
    
     return (Res);
  }
 
fxsaber :
Şu anda vakaların %99'unda yalnızca HistorySelect(0, INT_MAX ) kullanmanız gerektiğini görüyorum. Diğer seçenekleri kullanmamaya çalışın.

Muhtemelen, önbelleğin başlangıcını taşımamak, yani her zaman aynı tarihten talep etmek yeterlidir (ve 0'a eşit olup olmayacağı önemli değildir).

Kontrol etmek gerekiyor.

 
Andrey Khatimlianskii :

Muhtemelen, önbelleğin başlangıcını taşımamak, yani her zaman aynı tarihten talep etmek yeterlidir (ve 0'a eşit olup olmayacağı önemli değildir).

Kontrol etmek gerekiyor.

Belki. Uzun süre testçi olmak zor.

 
fxsaber :


Sonuç.


Her kene bir sorun vardır.


ZY Yüklü Win10, LatencyMon her şeyin yolunda olduğunu gösteriyor.

Hortum saf, neden öyleymiş gibi davranıyorsun?

Ne önce, ne şimdi - birdenbire önbelleği öldürmenin norm olmadığını göstermeye çalışıyorsunuz. Büyük bir geçmişin önbelleğini öldürmekten siz kendiniz sorumlusunuz. Ve özellikle başlangıç konumunu ayarlamak yalnızca sizin sorununuzdur. MQL5 ortamında bir grup önbelleği öldürmek/zehirlemek için birçok fırsat bulabilirsiniz.

Size yardımcı olmayacağız - herhangi bir programlama dilinde kendinizi ayağınıza ve kafasına vurmak için çok sayıda seçenek var.

Açıkça "bak - önbelleği kasten zehirledim ve kendimi vurdum" deseydiniz normal muamele görürdünüz.
 
Andrey Khatimlianskii :

Muhtemelen, önbelleğin başlangıcını taşımamak yeterlidir , yani her zaman aynı tarihten istekte bulunur (ve 0'a eşit olup olmayacağı önemli değildir).

Kontrol etmek gerekiyor.

Bu tam olarak tarif ettiğim şeydi.

Tarihe göre seçim yapıyorsanız, her talepte farklı bir seçim düzenlemeye çalışmayın. Peki, bugüne kadar, onu öne çıkarmaya çalışın.

Mevcut tarihten büyük veya ona eşitse, otomatik olarak INT_MAX değerine yuvarlayarak, to konumunu özellikle kontrol ederiz.

 
Renat Fatkhullin :

Ne önce, ne şimdi - birdenbire önbelleği öldürmenin norm olmadığını göstermeye çalışıyorsunuz. Büyük bir geçmişin önbelleğini öldürmekten siz kendiniz sorumlusunuz. Ve özellikle başlangıç konumunu ayarlamak yalnızca sizin sorununuzdur. MQL5 ortamında bir grup önbelleği öldürmek/zehirlemek için birçok fırsat bulabilirsiniz.

Bir kitaplık TimeCurrent'ten HistorySelect'i kullanır . Diğeri sıfırdan. Üretken çalışma için birbirleriyle uyumlu olmadıklarını öğrenmek için neden kütüphanelerin sakatatlarını gözden geçirmeniz gerekiyor?

Kısa ve öz bir örnek, zararsız kitaplıkların neden birbirleriyle etkileşime girebileceğini bulmaktır. Son olarak, eleştirel düşünmeyi açın.

 
fxsaber :

Bir kitaplık TimeCurrent'tan HistorySelect'i kullanır . Diğeri sıfırdan. Üretken çalışma için birbirleriyle uyumlu olmadıklarını öğrenmek için neden kütüphanelerin sakatatlarını gözden geçirmeniz gerekiyor?

Kısa ve öz bir örnek, zararsız kitaplıkların neden birbirleriyle etkileşime girebileceğini bulmaktır. Son olarak, eleştirel düşünmeyi açın.

O kadar lanet bir şey ki bu senin kişisel problemin, kütüphaneleri kullanman ve kafanı kapatman.

 
Renat Fatkhullin :

O kadar lanet bir şey ki bu senin kişisel problemin, kütüphaneleri kullanman ve kafanı kapatman.

Esma'ya her şeyi sıfırdan yazalım. Kütüphanelerin her birinin ayrı ayrı uçmasının normal olduğu ortaya çıkıyor. Ama ikisini aynı anda kullanmaya başladıkları anda frenler başlar.

 

Hataları Microsoft'a başarıyla bildirdik, ancak API'leri hakkında kendilerini öldürmek için yaklaşık N milyon fırsat olduğunu hiçbir zaman yazmadık veya suçlamadık.

Özellikle başkalarının kitaplıklarını kullanırken.

Neden: