Hatalar, hatalar, sorular - sayfa 572

 
Interesting :

MarketWatch nerede ve nasıl oluşur?

anladığım kadarıyla bu blok listeye bir karakter eklemeye çalışıyor, sonucu kontrol ediyor.

Ancak uzman multi ise, o zaman birkaç döviz çifti eklenmelidir (yukarıdaki örnekte görünmemektedir).

Bu kod, ilk "yabancı" döviz çifti hariç, her geçişte Exp_Symbol olmak üzere döviz çiftleri için bir döngüdedir. Beş para birimi çifti varsa, SymbolSelect(Exp_Symbol, true) beş farklı sembol için beş kez çalışacaktır.

Kodda, "yabancı" semboller için SymbolSelect( ) , SymbolIsSynchronized(), CopyRates() işlevlerine bir çağrım var (bu nedenle, geçmiş pompalanmalıdır). İlk test sırasında veriler var, ancak ikinci test sırasında yoklar ve test cihazındaki Expert Advisor bir hata ile çöküyor.

 
Konstantin83 :

Bu kod, döviz çifti döngüsündedir, ilk "yabancı" döviz çifti dışında her geçişte Exp_Symbol. Kodda, "yabancı" semboller için SymbolSelect( ) , SymbolIsSynchronized(), CopyRates() işlevlerine bir çağrım var (bu nedenle, geçmiş pompalanmalıdır). İlk test sırasında veriler var, ancak ikinci test sırasında yoklar ve Expert Advisor test cihazında bir hata ile çöküyor.


Servis masasına bir uzman ve optimizasyon/test ayarlarının açıklamasını gönderebilir misiniz?
 
alexvd :
Servis masasına bir uzman ve optimizasyon/test ayarlarının açıklamasını gönderebilir misiniz?
oluşturuldu.
 
Ama şimdi alıntılar tekrar demo hesabında kaldı. Bağlantı var ama hareket yok.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5
 

Ocak 2009 için veri yüklemek istiyorum. Saat ve 15 dakikalık veriler boşaltılır, ancak 5 dakika boyunca boşaltılmaz, geçmiş yoktur. Hikaye neden 5 dakika içinde indirilmiyor?

void OnStart()
  {
   int size = 25;
   datetime dateFrom;
   datetime dateTo;
   MqlRates rates[];
   MqlDateTime stDate;
   int FileHandle;
  
   stDate.day  = 1;
   stDate.hour = 0;
   stDate.mon  = 1;
   stDate.year = 2009;
   dateFrom    = StructToTime( stDate );
   stDate.day  = 31;
   dateTo      = StructToTime( stDate );
  
  
   ArraySetAsSeries(rates,true);
  
   int copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
   for(int i=0;i<100;i++)
     {
      if(GetLastError()!=0)
       {
        Sleep(5000);
        copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
       }
      else
       {
        break;
       }
      Print("Нет истории, проход № " + i);
     }
   if(copied>0)
     {
      Print("Скопировано баров: "+IntegerToString(copied));
      //string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
      string out;
      size = ArraySize(rates);
      ResetLastError();
     
      FileHandle=FileOpen("Data.csv",FILE_WRITE|FILE_CSV);
      if(FileHandle==INVALID_HANDLE)
        {
         Print("Ошибка " + IntegerToString((GetLastError())));
        }
      for(int i=size-1;i>=0;i--)
        {
         FileWrite(FileHandle, TimeToString(rates[i].time), DoubleToString(rates[i].open, _Digits), DoubleToString(rates[i].high, _Digits), DoubleToString(rates[i].low, _Digits), DoubleToString(rates[i].close, _Digits));
        }
     
      Print("size = " + FileSize(FileHandle));
      FileFlush(FileHandle);
      FileClose(FileHandle);
     }
   else
    {
     Print("Не удалось получить исторические данные по символу ",Symbol());
     Print("Ошибка " + GetLastError());
    }
  }

 

ArrayResize işlevinin tüm parametrelerle nasıl çalıştığını kontrol etmeye karar verdim. Sorunsuz bir şekilde derlendiğinde, her yerde otomatik ticarete izin verilir, ancak Uzman Danışman, OnInit'e bile gitmeden grafikten çıkarılır.

 //+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   Print ( __FUNCTION__ );
//---
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   Print ( __FUNCTION__ );
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick () {
   double ZZ[][ 2 ];
//==============================================   
   Print ( __FUNCTION__ );
   
   ResetLastError ();
   ArrayResize (ZZ, 5 , 5 );
   for ( int i= 0 ;i< 10 ;i++) {
      ZZ[i][ 0 ]=i;
       Print ( "i=" ,i, "; ZZ=" ,ZZ[i][ 0 ]);
       Print ( GetLastError ());
   }
   return ;
}
//+------------------------------------------------------------------+

Sorun ne, hiçbir fikrim yok.

1

2

 
Talex :

ArrayResize işlevinin tüm parametrelerle nasıl çalıştığını kontrol etmeye karar verdim. Sorunsuz bir şekilde derlendiğinde, her yerde otomatik ticarete izin verilir, ancak Uzman Danışman, OnInit'e bile gitmeden grafikten çıkarılır.

Sorun ne, hiçbir fikrim yok.


Banal menzil dışında, "Uzmanlar" sekmesine bakın
Ayırma bir ayırma değildir, olduğu gibi bir diziniz vardır ve bellek 10'un altında ayrılmış olmasına rağmen beş öğe için kalır.

 
mql5 :

Banal menzil dışında, "Uzmanlar" sekmesine bakın
Ayırma bir ayırma değildir, olduğu gibi bir diziniz vardır ve bellek 10'un altında ayrılmış olmasına rağmen beş öğe için kalır.

Aynen, teşekkürler. Yanlış sekmeye baktım, hasta oturuyorum, görünüşe göre etkiliyor.
 
Talex :

ArrayResize işlevinin tüm parametrelerle nasıl çalıştığını kontrol etmeye karar verdim. Sorunsuz bir şekilde derlendiğinde, her yerde otomatik ticarete izin verilir, ancak Uzman Danışman, OnInit'e bile gitmeden grafikten çıkarılır.

Genel olarak konuşursak, yukarıdaki ekran görüntüsü Terminal Günlüğünü gösterir. Ve aradığınız şey Uzmanlar sekmesinde.
 

Merhaba,

Benim için testten ve optimizasyonun etkinleştirilmesinden sonra şu çıkıyor:

Çekirdek 1 genetik geçiş (127, 1195) "kritik çalışma zamanı hatası" hatasıyla test edildi

Test tamam.

Neden: