MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1840

 
Vitaly Muzichenko # :

diziye kopyala

Bir dizide maksimum yükseklik nasıl elde edilir?

Ek olarak, CopyHigh'ı kopyalayın ve bu diziden maksimumu alın. Bunu anlıyorum ... bu ... ama diğer seçenek sadece bir döngüde numaralandırma ile.

 
Alexey Viktorov # :

Ek olarak, CopyHigh'ı kopyalayın ve bu diziden maksimumu alın. Bunu anlıyorum ... bu ... ama diğer seçenek sadece bir döngüde numaralandırma ile.

Öyle yaptım, ama bu ek bir kopya. Döngü aracılığıyla da bir seçenek değildir.

Sonra CopyHigh aracılığıyla ayrılacağım

 
Vitaly Muzichenko # :

Öyle yaptım, ama bu ek bir kopya. Döngü aracılığıyla da bir seçenek değildir.

Sonra CopyHigh aracılığıyla ayrılacağım

Bunu uzun zamandır düşünüyorum. Ve MqlRates dizisinden minimum / maksimumu aramanız gerekiyorsa, gerekli verileri farklı çift dizilere kopyalamanın daha iyi olduğu sonucuna vardım.

 
Vitaly Muzichenko # :

diziye kopyala

Bir dizide maksimum yükseklik nasıl elde edilir?

CopySymb[i].high
 
Vitaly Muzichenko # :

diziye kopyala

Bir dizide maksimum yükseklik nasıl elde edilir?

Doğrudan koda yazabilirsiniz:

 MqlRates CopySymb[];
double maxHigh;
int iMaxHi, len;  

if ((len = CopyRates (mSymbol, PERIOD_CURRENT , 0 , 6 ,CopySymb))< 0 ) return ;

iMaxHi = 0;
maxHigh = CopySymb[ 0 ].high;

for ( int i = 1 ; i < len; i++)
   if (CopySymb[i].high > maxHigh) {
    maxHigh = CopySymb[i].high;
    iMaxHi = i;
  }

Print (iMaxHi, ": " , maxHigh);

ArrayMaximum'un MqlRates dizileriyle çalışmaması da sorun değil.

 
Mihail Matkovskij # :

Doğrudan koda yazabilirsiniz:

peki ya bir düşünürsen?

bu kısa kodda bile zalim hatalar var

 
Maxim Kuznetsov # :

peki ya bir düşünürsen?

bu kısa kodda bile zalim hatalar var

Çevrimiçi kod yazdı. Tüm hatalar gibi baktı ve düzeltildi. Kodu komut dosyasına yapıştırın ve derleyici varsa hataları gösterecektir.

 
Mihail Matkovskij # :

Çevrimiçi kod yazdı. Tüm hatalar gibi baktı ve düzeltildi. Kodu komut dosyasına yapıştırın ve derleyici varsa hataları gösterecektir.

bu derleyici tarafından ele alınmaz, sadece bilmeniz gerekir: CopyXXX'in sonuçları hem 0 hem de EMPTY_VALUE içerebilir. Nadiren, ama uygun şekilde. Ve EMPTY_VALUE, DBL_MAX - maksimum değerdir. onu bulacaksın

dışarıdan alınan değerlerin doğruluğunun kontrolü yoktur.

 
Maxim Kuznetsov # :

bu derleyici tarafından ele alınmaz, sadece bilmeniz gerekir: CopyXXX'in sonuçları hem 0 hem de EMPTY_VALUE içerebilir. Nadiren, ama uygun şekilde. Ve EMPTY_VALUE, DBL_MAX - maksimum değerdir. onu bulacaksın

dışarıdan alınan değerlerin doğruluğunun kontrolü yoktur.

CopyRates'in yüksek dizide 0, EMPTY_VALUE veya DBL_MAX döndüreceğini düşünüyor musunuz? Ciddi misin? :)

Bunun gerçekleştiği bir örnek gösterebilir misiniz?

 
Mihail Matkovskij # :

CopyRates'in yüksek dizide 0, EMPTY_VALUE veya DBL_MAX döndüreceğini düşünüyor musunuz? Ciddi misin? :)

Bunun gerçekleştiği bir örnek gösterebilir misiniz?

Ve CopyHigh ile dolu bir çift dizide 0, EMPTY_VALUE veya DBL_MAX değerine ulaşırsa ArrayMaximum nasıl davranır?

Açıklamanızdaki mantık nerede?