Hatalar, hatalar, sorular - sayfa 2611

 
RickD :

Test cihazında uzmanlar için klasör de yoktur. Ancak Expert Advisor'ın test edilmesi durumunda MQLInfoString(MQL_PROGRAM_NAME) aynı değeri döndürür.

Ve aynı değere, denenmiş sürümü ve grafikteki sürümü adlandırılmış kanallar kullanarak bağlamak için ihtiyacım var.

düzeltildi
 
 

Expert Advisor'ı hata ayıklama modunda çalıştırıyorum. Danışmanı grafikten manuel olarak kaldırdığım anda tam olarak bir kırılma noktası yapmak gerekiyor. Nasıl yapılır?


Gerçek şu ki, danışman çıkarıldığında Terminal sıkıca kapatılır. Bunun nerede olduğunu anlamalısın.

 
fxsaber :

Expert Advisor'ı hata ayıklama modunda çalıştırıyorum. Danışmanı grafikten manuel olarak kaldırdığım anda tam olarak bir kırılma noktası yapmak gerekiyor. Nasıl yapılır?

bu kodu yazdı:

 int OnInit ()
  {
     if ( IsStopped ()) DeInitEA( 1 );
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   if ( IsStopped ()) DeInitEA( 2 );

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if ( IsStopped ()) DeInitEA( 3 );
  }
//+------------------------------------------------------------------+

void DeInitEA( const int callfunc)
{
   string s = "" ;
   switch (callfunc)
   {
       case 1 : s = "OnInit" ; break ;
       case 2 : s = "OnDeinit" ; break ;
       case 3 : s = "OnTick" ; break ;
   }
   Print (s + " , остановка работы советника" );
   
}

string üzerinde bir kesme noktası ayarlayın s = ""; - ME'ye sorunsuz bir şekilde döndü, hata ayıklama pencereleri belirdi, her şey her zamanki gibi

 

İlk başta istatistikleri kestiler, ama şimdi onları öldürdüler mi?


 
Igor Makanu :

bu kodu yazdı:

string üzerinde bir kesme noktası ayarlayın s = ""; - ME'ye sorunsuz bir şekilde döndü, hata ayıklama pencereleri belirdi, her şey her zamanki gibi

Bu yaklaşımla, her operatörden sonra bir durdurma kontrolü yapmanız gerekir. Uygun değil.

 
TheXpert :

İlk başta istatistikleri kestiler, ama şimdi onları öldürdüler mi?

kazanılan

 
fxsaber :

Bu yaklaşımla, her operatörden sonra bir durdurma kontrolü yapmanız gerekir. Uygun değil.

her operatör gerekli olmadığında, yarım bölme yöntemiyle - kodun başında, sonunda ve ortasında bir kontrol yapın, ardından kodun istenen yarısını bulduktan sonra, kodu 2'ye bölerek tekrarlayın parçalar bence hızlı

 
Igor Makanu :

her operatör gerekli olmadığında, yarım bölme yöntemiyle - kodun başında, sonunda ve ortasında bir kontrol yapın, ardından kodun istenen yarısını bulduktan sonra, kodu 2'ye bölerek tekrarlayın parçalar bence hızlı

Büyük program. Her seferinde vurgulu oynamak yaklaşık 30 saniye sürer.

 
fxsaber :

Expert Advisor'ı hata ayıklama modunda çalıştırıyorum. Danışmanı grafikten manuel olarak kaldırdığım anda tam olarak bir kırılma noktası yapmak gerekiyor. Nasıl yapılır?


Gerçek şu ki, danışman çıkarıldığında Terminal sıkıca kapatılır. Bunun nerede olduğunu anlamalısın.

Tamamen öldü mü yoksa EA bir süre sonra kaldırıyor mu? İkincisi ise, bir döngü arayın.