Hatalar, hatalar, sorular - sayfa 99

 
Renat :

Numara.

Bir int i oluşturduysanız; , o zaman neden başlatılmadı? Aslında "bu değişkende ne olduğu benim için önemli değil" demişsin ve sonuç olarak içine çöp almışsın.

Doğru olarak bunu yapmak gereklidir: int i=0;

Evet, doğru - blok içinde bu tür değişkenler oluşturabilirsiniz.
Alışılanın dışında. Önceden (MQL4'te) int i; ve int i=0; aynı şekilde çalıştı. Eh ....
 
Renat :
Lütfen bu durumu gösteren bir kod parçasını servis masasına gönderin.

Tamamen gönderdim (kod), (bu satırı bu "&" sembolü ile tam olarak bildirdiğinizde bir hata oluşur ve bu sembolü satırdan tamamen kaldırırsanız, o zaman her şey çalışır ... veya satırın en az yarısı yorum yapmak için bu karakterlerle çalışacak AMA!! Dizenin uzunluğu 159 karakterdir.O zaman sorun ne????) ve hata oluştuğu için Windows 7 64 bit'te (bu önemlidir) bildirmeye çalışın. bu, 306'dan önce 15 derlemem olmasına rağmen, hepsi iyi çalıştı, 305'te - bu kodla bir hafta boyunca Windows'un bu sürümünde çalıştım, her şey yolundaydı.



Ve iki gündür Servis Masasına yazıyorum ama hala bir şey elde edemiyorum...

P/S. Zaten abonelikten çıktıklarını anlıyorlar ... (ServiceDesk aracılığıyla).


Документация по MQL5: Основы языка / Типы данных / Тип string
Документация по MQL5: Основы языка / Типы данных / Тип string
  • www.mql5.com
Основы языка / Типы данных / Тип string - Документация по MQL5
 

Perşembe 00:00 - 24:00 fiyatları. Cuma 00:00 - ~22:45 .

Bu bilgi nasıl alınır?

""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""

 void OnTick ()
  {
//---
//Print(TimeCurrent());      
datetime a,b;
SymbolInfoSessionTrade( Symbol (), FRIDAY , 0 ,a,b);
Print (a, "-" ,b);
  }

"2010.08.17 15:44:31 saati (GBPJPY,H1) 1970.01.01 00:00:00-1970.01.02 00:00:00" döndürür

session_index nedir, // session number, bu numara nasıl bulunur?

 bool  SymbolInfoSessionTrade(
   string            name,                // имя символа
   ENUM_DAY_OF_WEEK  day_of_week,         // день недели
   uint              session_index,       // номер сессии
   datetime &         from,                // время начала сессии
   datetime &         to                   // время окончания сессии
   );
 
gumgum :

Perşembe 00:00 - 24:00 fiyatları. Cuma 00:00 - ~22:45 .

Bu bilgi nasıl alınır?

""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""

"2010.08.17 15:44:31 saati (GBPJPY,H1) 1970.01.01 00:00:00-1970.01.02 00:00:00" döndürür

session_index nedir, // session number, bu numara nasıl bulunur?

Uzman Danışmanlarda Sınırlar ve Kontroller makalesine bakın
 


2010.08.17 17:35:37 saat (EURUSD,H1) Pazartesi: oturum indeksi=0 başlangıç=00:00 bitiş=23:59:59

2010.08.17 17:34:58 saat (EURUSD,H1) Cuma: oturum indeksi=0 başlangıç=00:00 bitiş=23:59:59

session_index her zaman sıfırdır

Hala neden oturum indeksini anlamıyorum!?

 for ( int i= 0 ;i<= 1000 ;i++)
{
datetime a,b;
if (!SymbolInfoSessionTrade( Symbol (), FRIDAY ,i,a,b)){} else { Print (a, " - " ,b);}
}

0 dışında her zaman yanlıştır

 

Geliştiricilere özel...

Beyler, daha önce prensipte mümkün olmayan fırsatlar verirseniz en azından uyarmalısınız.

Böyle bir hatayı yakalamak için bir gün hendeğe

 double             nd( double v)
{ if (DIGITS= EMPTY_VALUE )DigitMinLots(); // ставлю  if(DIGITS==EMPTY_VALUE) даёт расчёт с ошибкой
return ( NormalizeDouble (v,DIGITS));
};

Sadece bana bunun gerekli olduğunu öğretmene gerek yok, elbette, tüm bunları biliyorum, ama gerçekten bir günü öldürdüm çünkü buna alışkınım.

 if (DIGITS= EMPTY_VALUE )

derleyici bir hata vermelidir.

 
Urain :

Geliştiricilere özel...

Beyler, daha önce prensipte mümkün olmayan fırsatlar verirseniz en azından uyarmalısınız.

Böyle bir hatayı yakalamak için bir gün hendeğe

Sadece bana bunun gerekli olduğunu öğretmene gerek yok, elbette, tüm bunları biliyorum, ama gerçekten bir günü öldürdüm çünkü buna alışkınım.

derleyici bir hata vermelidir.

Hata yok. Bir sonraki güncellemede, ifadenin boole olmadığına dair bir uyarı verilecektir.
 
mql5 :
Hata yok. Bir sonraki güncellemede, ifadenin bir boole olmadığına dair bir uyarı verilecektir.
Bu bir konuşma, o zaman kendimde bir hata olmadığını anladım.
 

OnTester() işlevinin zorunlu bir sonlandırması var mı?

veya işlem geçmişinin neden özel işlevden önce var olduğu ve sonra sıfır döndürdüğü:

 double OnTester()
  {
   int HTD=- 1 ;
   Custom_func();
   if ( HistorySelect ( 0 , TimeCurrent ()))HTD= HistoryDealsTotal ();   
   return (HTD);
  }

test cihazında hangi işlevler çalışmıyor?

test cihazından (optimizasyon sırasında) bir şeylerin yanlış olduğuna dair bir sinyal nasıl gönderilir (uyarı çıktıları çalışmıyor) ??

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

Öldür beni anlamıyorum.

Neden öyle: Ne de olsa Cuma 24:00'te bitmiyor.

Veya nasıl?

Ve neden session_index++; session_index=1 zaten yanlışsa:

 //+------------------------------------------------------------------+
//|  Вывести информацию о котировочных сессиях                       |
//+------------------------------------------------------------------+
void PrintInfoForQuoteSessions( string symbol, ENUM_DAY_OF_WEEK day)
  {
//--- начало и конец сессии
   datetime start,finish;
   uint session_index= 0 ;
   bool session_exist=true;

//--- пройдемся по всем сессиям за этот день
   while (session_exist)
     {
      //--- проверим наличие котировочной сессии с номером session_index
      session_exist=SymbolInfoSessionQuote(symbol,day,session_index,start,finish);

      //--- если такая сессия есть
      if (session_exist)
        {
         //--- выведем день недели, номер сессии и время начала и окончания
         Print (DayToString(day), ": session index=" ,session_index, "  start=" ,
               TimeToString (start,TIME_MINUTES), "    finish=" , TimeToString (finish- 1 ,TIME_MINUTES|TIME_SECONDS));
        }
      //--- увеличим счетчик сессий
      session_index++;
     }
  }