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

 
//+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
   int q = rates_total;
   static datetime w = 0 ;
   
   if (w != time[q- 1 ])
    { 
     w = time[q- 1 ];
     Print ( "-------------------------------------------------------------------------------" );
     Print ( "  time[q-1]  " ,time[q- 1 ], "  time[q-2]  " ,time[q- 2 ], "  time[q-3]  " ,time[q- 3 ], "  time[q-4]  " ,time[q- 4 ], "  time[q-5]  " ,time[q- 5 ]);
     Print ( "  open[q-1]  " ,open[q- 1 ], "  open[q-2]  " ,open[q- 2 ], "  open[q-3]  " ,open[q- 3 ], "  open[q-4]  " ,open[q- 4 ], "  open[q-5]  " ,open[q- 5 ]);
     Print ( "  high[q-1]  " ,high[q- 1 ], "  high[q-2]  " ,high[q- 2 ], "  high[q-3]  " ,high[q- 3 ], "  high[q-4]  " ,high[q- 4 ], "  high[q-5]  " ,high[q- 5 ]);
     Print ( "  low[q-1]  " ,low[q- 1 ], "  low[q-2]  " ,low[q- 2 ], "  low[q-3]  " ,low[q- 3 ], "  low[q-4]  " ,low[q- 4 ], "  low[q-5]  " ,low[q- 5 ]);
     Print ( "  close[q-1]  " ,close[q- 1 ], "  close[q-2]  " ,close[q- 2 ], "  close[q-3]  " ,close[q- 3 ], "  close[q-4]  " ,close[q- 4 ], "  close[q-5]  " ,close[q- 5 ]);
    }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+

[rates_total - 1] indeksli çubuğun neden tüm açık, kapalı, yüksek, düşük değerlerin her zaman eşit olduğunu merak ediyorum? open[rates_total - 1] dizini, zaman serilerinde dizin 1'e karşılık gelmiyor mu? Yani, MT4'teki Open[1], Close[1],... ile aynıdır.

Bununla birlikte, belki [rates_total - 1] indeksi, zaman serilerinde indeks 0'a karşılık gelir? O zaman bu, [rates_total - 1]'in geçerli çubuk olduğu ve henüz oluşmadığı için OCHL parametrelerinin eşit olduğu anlamına mı geliyor?

 
Реter Konow :

[rates_total - 1] indeksli çubuğun neden tüm açık, kapalı, yüksek, düşük değerlerinin her zaman eşit olduğunu merak ediyorum? open[rates_total - 1] dizini, zaman serilerinde dizin 1'e karşılık gelmiyor mu? Yani, MT4'teki Open[1], Close[1],... ile aynıdır.

Bununla birlikte, belki [rates_total - 1] indeksi, zaman serilerinde indeks 0'a karşılık gelir? O zaman bu, [rates_total - 1]'in mevcut çubuk olduğu ve henüz oluşmadığı için OCHL parametrelerinin eşit olduğu anlamına mı geliyor?

Varsayılan olarak bu, MQL5 göstergelerindeki indekslemedir (örneğin, "0" ve "rates_total-1" indeksi)

 /*
   time[0]              -> D'2018.01.02 00:00:00'
   time[rates_total-1]  -> D'2018.12.31 22:00:00'
*/

Gördüğünüz gibi, grafikte en sağdaki çubuk "rates_total-1" indeksine sahiptir. Ancak "0" dizini, grafikteki en soldaki çubuğa karşılık gelecektir.

 
Vladimir Karputov :

Varsayılan olarak bu, MQL5 göstergelerindeki indekslemedir (örneğin, "0" ve "rates_total-1" indeksi)

Gördüğünüz gibi, grafikte en sağdaki çubuk "rates_total-1" indeksine sahiptir. Ancak "0" dizini, grafikteki en soldaki çubuğa karşılık gelecektir.

En doğru, - yani, şu anki? Oluşmayan mı?

Genel olarak, anladığım kadarıyla oranları_toplam-1, mevcut çubuğu belirtir ve oluşmadığı için zamanlayıcılardaki OHCL parametreleri eşittir.

 
Реter Konow :
En doğru, - yani, şu anki? Oluşmayan mı?

Herhangi bir grafiğe bakın - GRAFİK ÜZERİNDEKİ en sağdaki çubuk, oluşma sürecinde olan mevcut çubuktur (yani, tüm fiyatları ve hacmi herhangi bir zamanda değiştirilebilir).

 
Vladimir Karputov :

Herhangi bir grafiğe bakın - GRAFİK ÜZERİNDEKİ en sağdaki çubuk, oluşma sürecinde olan mevcut çubuktur (yani, tüm fiyatları ve hacmi herhangi bir zamanda değiştirilebilir).

Evet bunu anladım. İndeks 1'i almadan önce zaman serisindeki tüm değerlerin eşit olduğunu bilmiyordum. Yani, güncel olmaktan çıkacak.
 
Реter Konow :
Evet bunu anladım. Zaman serilerinde indeks 1'i almadan önce tüm değerlerinin eşit olmasına şaşırdım. Yani, güncel olmaktan çıkacaktır.

Başka bir indeks nedir? MQL5 göstergelerindeki grafikte en sağdaki çubukta "rates_total-1" indeksi bulunur.

 
Vladimir Karputov :

Başka bir indeks nedir? MQL5 göstergelerindeki grafikte en sağdaki çubukta "rates_total-1" indeksi bulunur.

Neden bahsettiğimi anlamıyorsun. Rates_total-1 BU GÜNCEL ÇUBUK. Bunu biliyorum. ANCAK. ZAMAN SERİSİNDEKİ OCHL DEĞERLERİ EŞİTTİR. Gönderdiğim kodu inceleyin. İşte bunu bilmiyordum.
 
Реter Konow :
Neden bahsettiğimi anlamıyorsun. Rates_total-1 BU GÜNCEL ÇUBUK. Bunu biliyorum. ANCAK. ZAMAN SERİSİNDEKİ OCHL DEĞERLERİ EŞİTTİR. Gönderdiğim kodu inceleyin. İşte bunu bilmiyordum.
Kodunuz yalnızca çubuğun açıldığı anda değer alır
 
Реter Konow :
Neden bahsettiğimi anlamıyorsun. Rates_total-1 BU GÜNCEL ÇUBUK. Bunu biliyorum. ANCAK. ZAMAN SERİSİNDEKİ OCHL DEĞERLERİ EŞİTTİR. Gönderdiğim kodu inceleyin. İşte bunu bilmiyordum.

Mevcut çubuk için (tabloda en sağdaki), çubuğun doğum anında OHLC fiyatları EŞİT olacaktır - bunlar temel bilgilerdir: çubuk yeni doğmuştur ve tüm fiyatları aynıdır. Mevcut çubuğa (grafikteki en sağdaki) yeni kenelerin gelmesiyle fiyatlar değişmeye başlayacaktır.


Umarım açık olmuştur? Doğum anında ve barda, OHLC'si eşittir.

 
Andrey Barinov :
Kodunuz yalnızca çubuğun açıldığı anda değer alır

Ay, acele et, adamın kendisi anlamalıydı ...