Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 731
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
10000 x 10000 iki boyutlu değil mi?
vb...
Evet, iki boyutlu, bir şekilde bunu böyle söylemiyorum, görünüşe göre bir matris değil, bir dizi. Matris çok boyutluluk anlamına mı geliyor?
Bu kodda yavaşlayan dizi girişi değil, döngü içindeki döngüdür.
Kabul ediyorum. Öyle söylenmedi, ama ayrıca pek anlaşılmadı.
Bu kodda yavaşlayan dizi girişi değil, döngü içindeki döngüdür.
Başka bir programlama ortamına geçmek gerçekten gerekli mi, yoksa bu tüm dil türleri için ortak bir görev değil mi? Hızlandırma için çözüm yöntemleri neler olabilir?
aptalca bir döngü ve içindeki değişkenin değerini uzak döngüden arttırırsa
{
int arr++
if (arr=ARRAY_SIZE_X) {z++;arr= 0 ;}
arra[q]=sm.d[q].m[nBar-z]; // M(I) SMA
}
//--- запишем данные массива в конец файла FileTell IsFileLineEnded
FileSeek (handle, 0 , SEEK_END );
FileWriteArray (handle,arra);
Kontrol edebilirim, ancak hızlanmazsa, tekrar sert bir ekstra voltajla bilgisayara eziyet etmek istemiyorum)))
Başka bir programlama ortamına geçmek gerçekten gerekli mi, yoksa bu tüm dil türleri için ortak bir görev değil mi? Hızlandırma için çözüm yöntemleri neler olabilir?
Aptalca bir döngü ve içindeki bir değişkenin değerini artırmak için uzak bir döngüden hızlandırılırsa?
Kontrol edebilirim, ancak hızlanmazsa, tekrar sert bir ekstra voltajla bilgisayara eziyet etmek istemiyorum)))
Ve bir döngüden sonra bir dizi yazmak için - herhangi bir şekilde? Sadece her satırda mı? Bu, döngünün döngüde olduğu ilk seçenek için benim.
Tabii ki ayrıca bir sayaç takıp bu sayaç üzerine kayıt yapabilirsiniz ve her satıra ayrı ayrı değil ama bu işlemin o kadar hızlandırılması pek olası değildir ki ölçüm yapılmadan farkedilir olacaktır.
Bu boyuttaki bir dizi ayrılan RAM'e sığmaz.
Tabii ki ayrıca bir sayaç takıp bu sayaç üzerine kayıt yapabilirsiniz ve her satıra ayrı ayrı değil ama bu işlemin o kadar hızlandırılması pek olası değildir ki ölçüm yapılmadan farkedilir olacaktır.
Söyleyin bana, belgeler ve derleyici de diyor ki): " AS_SERIES bayrağı çok boyutlu diziler için ayarlanamaz "
Soru: mql5'te bir dizi nasıl sıralanır
void Func()
{
double m[][ 3 ];
if (условия)
{
// много кода
c++;
ArrayResize (m, c);
m[c- 1 ][ 0 ]= Lots();
m[c- 1 ][ 1 ]= Ticket();
m[c- 1 ][ 2 ]= Profit();
}
BySort(m); // передаём в функцию "BySort"
}
void BySort( double &mas[][ 3 ])
{
// Сортируем по размеру лота от большего к меньшему
ArraySort (mas);
ArraySetAsSeries (mas, true ); // при такой записи mql5 ругается, в mql4 работает
... здесь работа с массивом и основной код
}Söyleyin bana, belgeler ve derleyici de diyor ki): " AS_SERIES bayrağı çok boyutlu diziler için ayarlanamaz "
Soru: bir dizi nasıl sıralanır:
if (условия)
{
// много кода
c++;
ArrayResize (m, c);
m[c- 1 ][ 0 ]= Lots();
m[c- 1 ][ 1 ]= Ticket();
m[c- 1 ][ 2 ]= Profit();
}
void BySort( double &mas [][ 3 ] )// выделенное лишнее
{
// Сортируем по размеру от большего к меньшему
ArraySort (mas, WHOLE_ARRAY , 0 , MODE_DESCEND ); // вот это не работает в mql5
ArraySort (mas);
ArraySetAsSeries (mas, true ); // а при такой записи ругается // это тоже лишнее
}
1 - içeriklerini değiştirmeden dizi hücrelerinin indeksleme yönünü değiştirir ve 2 - indekslemeyi değiştirmeden hücrelerin içeriğini artan veya azalan düzende sıralanacak şekilde değiştirir.
Ek olarak, belgeler bir diziyi yalnızca ilk boyuta göre sıralayabileceğinizi söylüyor.
AS_SERIES ve sıralama tamamen farklı kavramlardır.
1 - içeriklerini değiştirmeden dizi hücrelerinin indeksleme yönünü değiştirir ve 2 - indekslemeyi değiştirmeden hücrelerin içeriğini artan veya azalan düzende sıralanacak şekilde değiştirir.
Ek olarak, belgeler bir diziyi yalnızca ilk boyuta göre sıralayabileceğinizi söylüyor.
Artan düzende sırala
Şimdi nasıl çevrilir? Azalan düzende gereklidir, bu lotların sıralamasıdır.
Artan düzende sırala
Şimdi nasıl çevrilir? Azalan düzende gereklidir, bu lotların sıralamasıdır.
Döngüdeki en aptalca seçenek tüm diziyi ters sırada yeniden yazmaktır. Ve buna değer mi???
Artan düzende sırala
Şimdi nasıl çevrilir? Azalan düzende gereklidir, bu lotların sıralamasıdır.
Peki ya sıralamadan sonra indeksleme sırasını ArraySetAsSeries kullanarak değiştirirsek?
Sonra şöyle çıkıyor :