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

 
The_Sheikh :

Merhaba. Birisi lütfen MQL5'te "Arsalar"ın ne olduğunu açıklayabilir mi? Tamponlar için geçerli değildir, ancak belirteç_plots özelliği, tıpkı tamponlar gibi çizim nesnesinin özelliklerinin bir listesini oluşturur. MQL4 araçlarını kullanırken, çağrının belirli bir çizim nesnesine olduğu açıktı ve şimdi bilinmeyen şeylerin sayısını belirleyen yeni bir önişlemci özelliği göstergesi_plots var.

MQL4'te görüntülenen arabellek sayısı direktif tarafından belirlendi.

 #property indicator_buffers 1

OnInit() işlevinde, hesaplamalar için birkaç arabellek ekleyebilirsiniz.

IndicatorBuffers( 3 );

Ve MQL5'te aynı şey iki direktifte yazılmıştır.

 #property indicator_buffers 3
#property indicator_plots    1

Bu, toplamda 3 tampon olduğu anlamına gelir ve 1 grafikte görüntülenecektir, diğer ikisi ise hesaplamalar için kullanılacaktır. Ve MQL5'te, ekran rengi için ek olanlardan biri kullanılabilir.

 
fxsaber :

Muhtemelen, bu göstergeyi MT4 ve MT5'te çalıştırırsanız anlamak için net olacaktır. MT5'e dönüştürürken arazileri kullanmak zorunda kaldım

Çünkü sadece iki tampon çizilmelidir.

Zaten gerçeğe daha yakın. Fakat bu durumda, ikinci ve altıncının çekilmesi gerekiyorsa ne olur? Mümkün değil?

Alexey Viktorov :

OnInit() işlevinde, hesaplamalar için birkaç arabellek ekleyebilirsiniz.

Bu arada, MQL5'te bu işlevin bir alternatifi var mı?

 
The_Sheikh :

Zaten gerçeğe daha yakın. Fakat bu durumda, ikinci ve altıncının çekilmesi gerekiyorsa ne olur? Mümkün değil?

bilmiyorum.

 
The_Sheikh :

Zaten gerçeğe daha yakın. Ancak bu durumda, ikinci ve altıncının çekilmesi gerekiyorsa ne olur? Mümkün değil?

1) "İkinci ve altıncı" - sayıları nasıl dağıtacağınıza siz karar verirsiniz;)

2) INDICATOR_CALCULATIONS ve DRAW_NONE vs. INDICATOR_DATA ve nonDRAW_NONE (herhangi bir başka) herhangi bir sıra için çalışır.

 
The_Sheikh :

Zaten gerçeğe daha yakın. Ancak bu durumda, ikinci ve altıncının çekilmesi gerekiyorsa ne olur? Mümkün değil?

Yalnızca görüntülenecek, rengi içerecek ve yalnızca yardımcı değerler olacak arabellek türünü ayarlar.


INDICATOR_DATA

İşlenecek veriler

INDICATOR_COLOR_INDEX

Renkleri oluştur

GÖSTERGE_HESAPLAMALAR

Ara hesaplamalar için yardımcı tamponlar

 
The_Sheikh :

Bu arada, MQL5'te bu işlevin bir alternatifi var mı?

mql5'te böyle bir işleve gerek yoktur. Bir de yazı örneği verdim. mql4 ile fark sadece sıra ve yazımdadır.

 
Cevap için teşekkürler!
 

Terminal ayarlarında grafikteki maksimum çubuk sayısı 10000 olarak ayarlansın.Ardından, komut dosyasında ve göstergede Bars() işlevi, ayarlarda belirtilen sayıyı + görünen yeni mumların sayısını döndürür.

Yani grafikte görüntülenen mum sayısı 10.000 ile sınırlı olmayacak mı?

MQL'deki terminal ayarlarında belirtilen miktarı tam olarak nasıl öğrenebilirim?

Çubuk sayısı int türünün maksimum değerine ulaşırsa, mum sayısı ve zaman serisi dizilerinin öğelerinin konumları ile sonra ne olacak?

 
The_Sheikh :

MQL'deki terminal ayarlarında belirtilen miktarı tam olarak nasıl öğrenebilirim?

 TerminalInfoInteger ( TERMINAL_MAXBARS ))
The_Sheikh :

Çubuk sayısı int türünün maksimum değerine ulaşırsa, mum sayısı ile sonra ne olacak?

çubuk sayısı artacaktır, yani. TERMINAL_MAXBARS değerinden büyük olacak

, sonra bilinmeyen algoritmalara göre, terminal "ekstra çubukları sıfırlayacaktır" - bilinmeyen, göstergede, grafikteki gerçek çubuk sayısı const int oranları_toplamda olacak, ayrıca iBars() https:/ /www.mql5.com/ tr/docs/series/ibars

onlar. yukarıdakilere dayanarak - TERMINAL_MAXBARS, terminal penceresindeki verilerdir ve iBars(), grafikteki çubukların gerçek değeridir


The_Sheikh :

ve diziler-zaman serisi öğelerinin konumları ile?

gösterge arabelleklerinden bahsediyorsak, terminalin kendisi onlar için bellek ayırır ve gösterge arabelleğiyle ilişkili dizinin boyutu her zaman Rate_total öğelerine eşittir

kontrol etmek için gösterge:

 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[])
  {
//---
   static datetime t= 0 ;
   if (t!=time[rates_total- 1 ])
     {
       Print ( "rates_total = " ,rates_total, ", TERMINAL_MAXBARS = " , TerminalInfoInteger ( TERMINAL_MAXBARS ));
      t=time[rates_total- 1 ];
     }
//--- return value of prev_calculated for next call
   return (rates_total);
  }

gösterge günlüğü:

2019.04.30 19:10:12.247 oranlar (EURUSD,M1) oranları_toplam = 50000, TERMINAL_MAXBARS = 50000

2019.04.30 19:10:29.699 oranlar (EURUSD,M1) oranları_toplam = 50001, TERMINAL_MAXBARS = 50000

2019.04.30 19:11:29.392 oranlar (EURUSD,M1) oranları_toplam = 50002, TERMINAL_MAXBARS = 50000

2019.04.30 19:12:30.125 oranlar (EURUSD,M1) oranları_toplam = 50003, TERMINAL_MAXBARS = 50000


Документация по MQL5: Доступ к таймсериям и индикаторам / iBars
Документация по MQL5: Доступ к таймсериям и индикаторам / iBars
  • www.mql5.com
Количество баров в истории по соответствующему символу и периоду, но не более чем задано в настройках платформы параметром "Макс. баров в окне" ("Max bars in chart")
 

EasyAndFastGUI'de MQL5'te arayüzlerin geliştirilmesi ile tanışmak istiyorum

2015'e kadar uzanan " Grafik Arayüzler " makalelerinin 10 bölümü (ya da ne?)

Sorum şu, hepsi tutarlı mı yoksa eskilerini okumanın bir anlamı yok mu?