array out of range in '_Test.mq4' ( 451 , 34 )
451.34 satırında dizi sınırların dışında .
'e bakın, o zaman ne <=
for ( int i = 1 ; 0 <= Bar_data_D1 [i][ 2 ] ;i++)
for(int i = 1; ;i++) { Print(" i = ",i," Bar_data_D1 [i][2] = ",Bar_data_D1 [i][2]); if( Bar_data_D1 [i][2] < Low_D1_Level) { Min_D_Level = Bar_data_D1 [i][2];break; } } //--- изначально было так
daha iyi bir seçenek önerebilir misiniz? nasıl uygulanır
KOD DÜZELTİLDİ: Hata yok, dizi boyunca ilerlemiyor ve satır bu gün yeniden çizilmiyor
//--- Min_D_Leve for ( int i = 1 ; i< ArrayRange (Bar_data_D1, 0 ) ;i++) { Print ( " i = " ,i, " Bar_data_D1 [i][2] = " ,Bar_data_D1 [i][ 2 ]); if (Bar_data_D1 [i][ 2 ]>= 0 ) { if ( Bar_data_D1 [i][ 2 ] < Low_D1_Level) { Min_D_Level = Bar_data_D1 [i][ 2 ]; break ; } } }
Yazdır
2020.12.09 17:03:30.363 2016.12.16 00:00:00 _Test EURUSD,H1: i = 996 Bar_data_D1[i][2] = 1.33147
2020.12.09 17:03:30.363 2016.12.16 00:00:00 _Test EURUSD,H1: i = 997 Bar_data_D1[i][2] = 1.3426
2020.12.09 17:03:30.363 2016.12.16 00:00:00 _Test EURUSD,H1: i = 998 Bar_data_D1[i][2] = 1.3364
2020.12.09 17:03:30.363 2016.12.16 00:00:00 _Test EURUSD,H1: i = 999 Bar_data_D1[i][2] = 1.33562
2020.12.09 17:03:30.363 2016.12.16 00:00:00 _Test EURUSD,H1: i = 1000 Bar_data_D1 [i][2] = 1.33532
2020.12.09 17:03:30.363 2016.12.16 00:00:00 _Test EURUSD,H1: i = 1001 Bar_data_D1 [i][2] = 1.33705
hata burada olmayabilir. Kodsuz anlamak zor
hata burada olmayabilir. Kodsuz anlamak zor
//--глобальные переменныеdouble Low_D1_Level;
double Bar_data_D1 [][6]; // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров D1
//--- тело void On_Timer() { if(Day()!= Time_Day) { Level(); Time_Day = Day(); } } //+------------------------------------------------------------------+ //| Функция Level //+------------------------------------------------------------------+ void Level() ArrayCopyRates(Bar_data_D1, _Symbol , PERIOD_D1 ); // Копирует в массив данные баров указанного графика и возвращает Low_D1_Level = iLow ( _Symbol , PERIOD_D1 , 1 ); // Возвращает значение минимальной цены бара D1 //--- Min_D_Leve for ( int i = 1 ; 0 <= Bar_data_D1 [i][ 2 ] ;i++) { Print ( " i = " ,i, " Bar_data_D1 [i][2] = " ,Bar_data_D1 [i][ 2 ]); if ( Bar_data_D1 [i][ 2 ] < Low_D1_Level) { Min_D_Level = Bar_data_D1 [i][ 2 ]; break ; } } //---
Başka ne gerekli?

- www.mql5.com

- www.mql5.com

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hepiniz hoşgeldiniz ! Hepinize şimdiden teşekkürler!
Bu tür bir hata:
Bar_data_D1 [][6] dizisinde aradığımız göreli Low_D1_Level satırı var; yeni seviye Min_D_Level
//--- global değişkenler
çift Low_D1_Level;
çift Bar_data_D1[][6]; // Belirtilen grafiğin çubuklarının verilerini diziye kopyalar ve kopyalanan çubukların sayısını D1 döndürür
Dizinin ilk boyutu çubuk sayısını içerir. İkinci boyutun değerleri olan 6 öğesi vardır:
0 - zaman (zaman),
1 - açılış fiyatı (açık),
2 - en düşük fiyat (düşük),
3 - en yüksek fiyat (yüksek),
4 - kapanış fiyatı (kapanış),
5 - hacim.
Yazdır