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

 
Evgeny Dyuka :

Forum çok büyük, ancak ticarette sinir ağlarını kullanma konusu yok. Garip. Yoksa bir yerde mi var?

Yoksa kimse yapmıyor mu?

https://www.mql5.com/ru/search#!keyword=%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D1%81%D0%B5%D1%82% D0%B8&module=mql5_module_articles

Поиск - MQL5.community
Поиск - MQL5.community
  • www.mql5.com
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
 

Alexey, lütfen beni arkadaş olarak ekle, sana PM ile ulaşmam gerekiyor.

 
Merhaba sevgili uzmanlar. SymbolInfoDouble (symb, SYMBOL_BID) veya örneğin PositionsTotal () gibi işlevlerin gecikmeyi etkileyip etkilemediği (sunucuya ping) veya bu veriler terminalden mi alınıyor? Ve PositionGetDouble (POSITION_PRICE_OPEN) veya MqlTradeResult yapısındaki verileri kullanmak daha iyi ne olabilir?
 
OnCalculate işlevinden (const datetime &time[]) başka bir işleve referans yoluyla parametreler nasıl geçirilir, sabit bir değişkenin referans olarak iletilemeyeceğini yazıyorlar mı?
 

İki boyutlu bir diziyle ilgili sorun nedir, söyle bana, plz.

En basit test komut dosyası kodu:

 double ARtst[ 5 ][ 6 ];
double sss= 0.0 ;

void OnStart ()
{
   for ( int nn= 0 ; nn< 5 ; nn++) {
       for ( int mm= 0 ; mm< 6 ; mm++) {
         ARtst[nn][mm] = 1.0 + 1.0 *nn*mm;
      }
   }

   for ( int nn= 0 ; nn< 5 ; nn++) {
      testproc(nn,sss,ARtst);
   }
}

void testproc( int ii, double & sum, double & ARR[][])
{   int kk;

   kk = ArrayRange (ARR, 1 );
   sum = 0.0 ;
   for ( int nn= 0 ; nn<kk; nn++) sum = sum + ARR[ii][nn];

   return ;
}

Aynı anda iki hata veriyor:

1. "[" - testproc prosedür tanımında iki boyutlu bir ARR dizisine işaret eden geçersiz dizin değeri.

2. "ARTst" - testproc prosedürüne yapılan çağrıda ARtst dizisini gösteren parametre dönüştürmeye izin verilmez.

Tek boyutlu bir dizi ile sorun yok.

 
VANDER :
OnCalculate işlevinden (const datetime &time[]) başka bir işleve referans yoluyla parametreler nasıl geçirilir, sabit bir değişkenin referans olarak iletilemeyeceğini yazarlar.
 void другая_функция( const datetime &time[], const int rates_total) 
{
 Print (time[rates_total- 1 ]);
}
// Вызов функции из OnCalculate

другая_функция(time, rates_total);
 
Yurixx :

İki boyutlu bir diziyle ilgili sorun nedir, söyle bana, plz.

En basit test komut dosyası kodu:

Aynı anda iki hata veriyor:

1. "[" - testproc prosedür tanımında iki boyutlu bir ARR dizisine işaret eden geçersiz dizin değeri.

2. "ARTst" - testproc prosedürüne yapılan çağrıda ARtst dizisini gösteren parametre dönüştürmeye izin verilmez.

Tek boyutlu dizide sorun yok.

Kodu tam olarak anlamadım ama şöyle olmalı:

 void testproc( int ii, double & sum, double & ARR[] [ 6 ] )
 
Alexey Viktorov :

Kodu tam olarak anlamadım ama şöyle olmalı:

Aynen öyle! Çok teşekkürler.

Bitmeden bile MT5 ve MT4 arasındaki farklara alışamadım. )))

 
Yurixx :

Aynen öyle! Çok teşekkürler.

Bitmeden bile MT5 ve MT4 arasındaki farklara alışamadım. )))

mql5'te dizilerle çalışmak mql4'ten farklı değildir.

 
Alexey Viktorov :

mql5'te dizilerle çalışmak mql4'ten farklı değildir.

Gördüğüm kadarıyla farklı.

MT4'te, prosedürlerde çok boyutlu diziler bildirilirken, boyutların hiçbirinde boyutun açıkça belirtilmesi gerekli değildi.