МQL5'te Aç,Düşük,Yüksek,Kapat parametreleri nasıl alınır? - sayfa 3

 

Komut dosyası örneği:

 //+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property link        "http://wmua.ru/slesar/"
#property version    "1.00"
#property script_show_inputs
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   for ( int i= 0 ;i< 3 ;i++)
       Print ( "# " ,i, ": " , DoubleToString ( iOpen ( Symbol (), PERIOD_CURRENT , i ), Digits ()));
//---
  }
//+------------------------------------------------------------------+

ve sonuç:

 2019.07 . 29 20 : 36 : 41.215 1 (EURUSD,H1)   # 0 : 1.11399
2019.07 . 29 20 : 36 : 41.215 1 (EURUSD,H1)   # 1 : 1.11425
2019.07 . 29 20 : 36 : 41.215 1 (EURUSD,H1)   # 2 : 1.11319


Düzenlendi.

Dosyalar:
1.mq5  2 kb
 

İşte onlar, sevgililer

4. ve 5. hem de çalışır

4. olarak, Period(), Symbol(), vb. kullanıyoruz.

5-rk'de _Period, _Symbol, vb. kullanırız.

iBar'lar

Karşılık gelen sembol ve nokta için geçmişteki çubukların sayısını verir

iBarShift

Belirtilen zamanın ait olduğu çubuğun ofsetini döndürür

kapatırım

İlgili grafiğin çubuğunun kapanış fiyatının değerini verir

iYüksek

İlgili grafiğin çubuğunun maksimum fiyatının değerini verir

iEn yüksek

Karşılık gelen grafiğin bulunan en büyük değerinin dizinini döndürür

Ben Becereksizim

İlgili grafiğin çubuğunun minimum fiyatının değerini verir

iEn düşük

Karşılık gelen grafiğin bulunan en küçük değerinin dizinini döndürür

ben açarım

İlgili grafiğin çubuğunun açılış fiyatının değerini verir

iZaman

İlgili grafiğin çubuk açılış zamanı değerini döndürür

iVolume

İlgili grafiğin çubuğunun onay hacminin değerini döndürür

iBars - Доступ к таймсериям и индикаторам - Справочник MQL4
iBars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
iBars - Доступ к таймсериям и индикаторам - Справочник MQL4
 
CopyRates ile çalıştı. İşler.
 

Ve işte CopyRates seçeneği

 //+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property link        "http://wmua.ru/slesar/"
#property version    "1.00"
#property script_show_inputs
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   MqlRates rates[];
   ArraySetAsSeries (rates, true );
   int start_pos= 0 ,count= 3 ;
   if ( CopyRates ( Symbol (), Period (),start_pos,count,rates)!=count)
       return ;

   for ( int i= 0 ;i<count;i++)
       Print ( "Open # " ,i, ": " , DoubleToString (rates[i].open, Digits ()));
//---
  }
//+------------------------------------------------------------------+

ve sonuç

 2019.07 . 29 20 : 44 : 55.491 1 (EURUSD,H1)   Open # 0 : 1.11399
2019.07 . 29 20 : 44 : 55.491 1 (EURUSD,H1)   Open # 1 : 1.11425
2019.07 . 29 20 : 44 : 55.491 1 (EURUSD,H1)   Open # 2 : 1.11319
Dosyalar:
1.mq5  3 kb
 
Alexey Viktorov :

Alexey, bu tankta olanlar için. Normal olanlar için CopyRates() mql4'te de mevcuttur. Bu yüzden tüm iOpen ve diğer saçmalıkları unutun. Bunu neden mql5'e koymuşlar anlamıyorum...

Ö! yaş üstü gençler ortaya çıktı))

neden pratikte birçok ardışık OHLC değerine sahip olmak - CopyRates() kullanarak almayı öneriyorsunuz? - Meditasyon yapmak için bir şey mi? )))

çok az pratik uygulama var, işte banal bir görev, Fraktallar göstergesini boşaltmak (veya kullanmak), aşağıdaki koda sahibim:

 #define Time(n)   iTime ( NULL , 0 ,n)
//+------------------------------------------------------------------+
void OnStart ()
  {
   int handle= iFractals ( NULL , 0 );
   if (handle== INVALID_HANDLE )
     {
       Print ( "Error№," ,:: GetLastError (), " create handle indicator" );
       return ;
     }
   int count= 0 ,i= 0 ;
   double buffup[ 1 ],buffdn[ 1 ];
   while (i< Bars ( _Symbol , _Period ) && count< 10 )
     {
       if ( CopyBuffer ( handle, 0 ,i, 1 , buffup)< 1 ) Print ( "buffup , error № " ,:: GetLastError ());
       if ( CopyBuffer ( handle, 1 ,i, 1 , buffdn)< 1 ) Print ( "buffup , error № " ,:: GetLastError ());
       if (buffup[ 0 ]< EMPTY_VALUE && ++count> 0 )   Print ( "Bar № " ,i, " : " ,Time(i), " , Fractals Up = " ,buffup[ 0 ]);
       if (buffdn[ 0 ]< EMPTY_VALUE && ++count> 0 )   Print ( "Bar № " ,i, " : " ,Time(i), " , Fractals Dn = " ,buffdn[ 0 ]);
     i++;
     }
  }
//+------------------------------------------------------------------+


CopyRates() kullanarak kodunuzu gösterin ...

 
Vladimir Karputov :

Ve işte CopyRates seçeneği

ve sonuç

Ancak, sürekli olarak yeni çubuklardaki verileri izlemeniz gerekiyorsa, bu her tıklamada CopyRates kullanmanız ve her tıklamada bir zaman serisi oluşturmanız gerektiği anlamına mı gelir?

CopyRates'i nereye koymanın daha iyi olduğunu bulmaya çalışıyorum.

 
Реter Konow :

Ancak, sürekli olarak yeni çubuklardaki verileri izlemeniz gerekiyorsa, bu her tıklamada CopyRates kullanmanız ve her tıklamada bir zaman serisi oluşturmanız gerektiği anlamına mı gelir?

CopyRates'i nereye koymanın daha iyi olduğunu bulmaya çalışıyorum.

Zaten sordum: NEDEN? Sıfır çubuğunun (grafikte en sağdaki çubuk) değerini hesaba katmam gerekir mi?

 
Vladimir Karputov :

Zaten sordum: NEDEN? Sıfır çubuğunun (grafikte en sağdaki çubuk) değerini hesaba katmam gerekir mi?

Masa için. Tablo dört parametrenin değerlerini içerir: Açık, Kapat, Yüksek, Düşük, mevcut olanı içermeyen son 10 çubuk.

İkincisi, akımdan (sıfırdan) geri dönerseniz.

 
Igor Makanu :

Ö! yaş üstü gençler ortaya çıktı))

neden pratikte birçok ardışık OHLC değerine sahip olmak - CopyRates() kullanarak almayı öneriyorsunuz? - Meditasyon yapmak için bir şey mi? )))

çok az pratik uygulama var, işte banal bir görev, Fraktallar göstergesini boşaltmak (veya kullanmak), aşağıdaki koda sahibim:


CopyRates() kullanarak kodunuzu gösterin ...

Igor, birinci sınıfa gitmelisin. Harfleri öğretirler ve okuduktan sonra CopyRates ve CopyBuffer arasındaki farkı anlayacaksınız.

CopyRates OLMADAN bu soruna daha iyi bir çözüm

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

МQL5'te Aç,Düşük,Yüksek,Kapat parametreleri nasıl alınır?

Peter Konow , 2019.07.29 19:58

Masa için. Tablo dört parametrenin değerlerini içerir: Açık, Kapat, Yüksek, Düşük, mevcut olanı içermeyen son 10 çubuk .

İkincisi, akımdan (sıfırdan) geri dönerseniz.


 
Реter Konow :

Bir masa için . Tablo dört parametrenin değerlerini içerir: Açık, Kapat, Yüksek, Düşük, mevcut olanı içermeyen son 10 çubuk.

İkincisi, akımdan (sıfırdan) geri dönerseniz.

Bu durumda ilk çubuktan kesinlikle 10 CopyRate vardır. Ve her keneyi değil, yeni bir çubuk göründüğünde yeterlidir.