Yardım Gerekiyor'da dizi aralık dışında - sayfa 3

 

TAMAM

bu dönem için

 
Dark Kchlyzov :

anlamadı mı

bir hafta veya bir ay için, en yakın minimum hangi gün?
 
tüm dönem boyunca anladım
 
Low_D1_Level   = iLow ( _Symbol , PERIOD_D1 , 1 );   // Возвращает значение минимальной цены бара  D1

tarihteki en yakın düşük, Low_1_Level'den daha azdır, bu da olacaktır.

Kodu çalıştırın ve nasıl çalıştığını görün.

 
Dark Kchlyzov :

Tüm dönem için hiçbir hatam yok

günlük eklendi

Dosyalar:
20201209.log  3729 kb
 
MakarFX :

Tüm dönem için hiçbir hatam yok

günlük eklendi

hata yok ama günlükte var

Günlüğünüzde 19:31:53.126 var 2016.12.15 00:00:00 Dizi EURUSD,H1: i = 456 Bar_data_D1 [i][2] = 1.04789

benim fiyatım Min_D:104789 gibi düşük_D1 1.03660 'dan fazla, şartlara göre öyle olamaz.

For döngüsünü değiştirirseniz, bir hata olacaktır. ve o haklı olacak.

poz ifadesi2 sadece hatayı maskeler

i< ArrayRange (Bar_data_D1, 0 )
 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 ;
       }
    } 


 
Dark Kchlyzov :


Bir soru var. Ve neden döngüye sıfırdan değil de ilk elemandan başlıyorsunuz?

 
Dark Kchlyzov :

Örnek yazmayı zorlaştırmıyorsa nasıl yazılır?

Ticaret konusunda deneyimim var ama MQL 4'ü öğrenmeye başlıyorum.

MqlRates aracılığıyla ise, diziyi şu şekilde bildirin:

 MqlRates Bar_data_D1[];

Yani, iki boyutlu bir dizi yerine tek boyutlu bir dizi elde edersiniz. MqlRates normal bir yapıdır ("Dil Temelleri" - "Veri Tipleri" - "Yapılar, Sınıflar, Arayüzler" bölümündeki MQL4 referansında açıklanmıştır). Bu durumda ihtiyacınız olan tüm alanlara sahiptir. Onlarla şu şekilde iletişime geçeceksiniz:

Bar_data_D1[i].high; Максимум свечи
Bar_data_D1[i].low; Минимум свечи

i dizinin indeksidir.

Benzer şekilde, mum çubuğu parametrelerini kaydetmek için kendi yapınızı oluşturabilirsiniz. İhtiyacınız olmayan iki alanla (spread ve real_volume) Mqlrates'ten daha küçük olduğu ortaya çıkacaktır. Yapı şöyle görünecek:

 struct BarData
{ 
   datetime time;         // время начала периода 
   double    open;         // цена открытия 
   double    high;         // наивысшая цена за период 
   double    low;           // наименьшая цена за период 
   double    close;         // цена закрытия 
   long      tick_volume;   // тиковый объем 
};

Bu tür yapıların bir dizisinin bildirimi şöyle görünür:

BarData Bar_data_D1[];

Yapının üyelerine erişim , MqlRates yapısının üyelerine erişmeye benzer.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Структура исторических данных - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Ihor Herasko :

Aynen öyle!

 
Ihor Herasko :

MqlRates aracılığıyla ise, diziyi şu şekilde bildirin:

Yani, iki boyutlu bir dizi yerine tek boyutlu bir dizi elde edersiniz. MqlRates normal bir yapıdır ("Dil Temelleri" - "Veri Tipleri" - "Yapılar, Sınıflar, Arayüzler" bölümündeki MQL4 referansında açıklanmıştır). Bu durumda ihtiyacınız olan tüm alanlara sahiptir. Onlarla şu şekilde iletişime geçeceksiniz:

i dizinin indeksidir.

Benzer şekilde, mum çubuğu parametrelerini kaydetmek için kendi yapınızı oluşturabilirsiniz. İhtiyacınız olmayan iki alanla (spread ve real_volume) Mqlrates'ten daha küçük olduğu ortaya çıkacaktır. Yapı şöyle görünecek:

Bu tür yapıların bir dizisinin bildirimi şöyle görünür:

Yapının üyelerine erişim , MqlRates yapısının üyelerine erişmeye benzer.

Tamam yarın deneyeceğim!

Yardım için teşekkürler. Aklıma gelir gelmez tekrar yazacağım.