Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 687

 

Bu tasarımın neden çalışmadığını söyleyebilir misiniz?

void OnStart ()
  {
//---
   double buf[];
   ArrayInitialize (buf, 0 );
   for ( int i= 0 ; i< 10 ; i++)
     {
      buf[i]= i;
     }
  }
'**.mq5' (13,10) içinde aralık dışında bir hata dizisi bildirir
çift buf[] satırını yazarsam; çift buf[10] ile değiştirin; o zaman diziden çıkış yok.
 
ivanivan_11 :

Bu tasarımın neden çalışmadığını söyleyebilir misiniz?

void OnStart ()
  {
//---
   double buf[];
   ArrayInitialize (buf, 0 );
   for ( int i= 0 ; i< 10 ; i++)
     {
      buf[i]= i;
     }
  }
'**.mq5' (13,10) içinde aralık dışında bir hata dizisi bildirir
çift buf[] satırını yazarsam; çift buf[10] ile değiştirin; o zaman diziden çıkış yok.

Veya çift buf[10];

Ya çift buf[];, ama sonra ArrayResize (buf,10);

 
Artyom Trishkin :

Veya çift buf[10];

Veya çift buf[];, ama sonra ArrayResize(buf,10);

teşekkür etmek.

biraz daha fazla açıklayabilir misin?

onlar. bir diziyi başlatır ve sonra onu bir döngüde doldurursam, dizinin boyutu her yinelemede artar ve boyutunu yeniden tanımlamam gerekir mi? Buna ne kadar eleman eklersem ekleyeyim, bunun otomatik olarak yapıldığını düşündüm.

ve bir kerede belirli sayıda elemanla doldurursam, böyle bir işlem yapmaya gerek yoktur.

void OnStart ()
  {
//---
   double buf[];
   ArrayInitialize (buf, 0 );
   int closed1= CopyClose ( "EURUSD" , NULL , 0 , 3 ,buf);
  
  }
 
ivanivan_11 :

teşekkür etmek.

biraz daha fazla açıklayabilir misin?

onlar. bir diziyi başlatır ve sonra onu bir döngüde doldurursam, dizinin boyutu her yinelemede artar ve boyutunu yeniden tanımlamam gerekir mi? Buna ne kadar eleman eklersem ekleyeyim, bunun otomatik olarak yapıldığını düşündüm.

ve bir kerede belirli sayıda elemanla doldurursam, böyle bir işlem yapmaya gerek yoktur.

void OnStart ()
  {
//---
   double buf[];
   ArrayInitialize (buf, 0 );
   int closed1= CopyClose ( "EURUSD" , NULL , 0 , 3 ,buf);
  
  }

CopyXXXX() işlevleri, kendilerine iletilen dizinin boyutunu otomatik olarak geçersiz kılar.

Diziyi kendiniz doldurursanız, o zaman dinamikse, doğru boyutuna dikkat etmek programcının görevidir.

Bir dizi bildirirken yapabilirsiniz

  • dinamik - bu durumda, boyutunu yeniden tanımlama görevi size aittir
  • dinamik değil: buff[5] - bu durumda istenen değerlerle başlatılması gerekir
  • dinamik değil: buff[]={10,20,30,40,50}; - bu durumda bildirildiğinde değerlerle başlatılır
 
Artyom Trishkin :

CopyXXXX() işlevleri, kendilerine iletilen dizinin boyutunu otomatik olarak geçersiz kılar.

Diziyi kendiniz doldurursanız, o zaman dinamikse, doğru boyutuna dikkat etmek programcının görevidir.

Bir dizi bildirirken yapabilirsiniz

  • dinamik - bu durumda, boyutunu yeniden tanımlama görevi size aittir
  • dinamik değil: buff[5] - bu durumda istenen değerlerle başlatılması gerekir
  • dinamik değil: buff[]={10,20,30,40,50}; - bu durumda bildirildiğinde değerlerle başlatılır
açıklama için teşekkürler
 
Çalışma grafiğindeki sayıların genetik optimizasyonda ne anlama geldiğini kim bilebilir? İki numara, 0.637 veya 7.27 gibi. Ve doğru koşunun nasıl seçileceği. Örneğin, 5381 numaralı koşuyla ilgileniyorum. Nasıl seçilir?
 
parantezlerin arasında ne olduğunu bilen var mı? GHPR=(DengeKapat/DengeAç)^(1/N)
 
Roma Ivanov :
parantezlerin arasında ne olduğunu bilen var mı? GHPR=(DengeKapat/DengeAç)^(1/N)
Bit düzeyinde özel VEYA işlemi
 

Evet? Gerçek?

Ve her zaman bunun ( ^ ) üslü olduğunu düşündüm .

 
Roma Ivanov :
parantezlerin arasında ne olduğunu bilen var mı? GHPR=(DengeKapat/DengeAç)^(1/N)
üs alma.