Özel semboller. Hatalar, hatalar, sorular, öneriler. - sayfa 26

 
Roman :

Teşekkürler, şimdi nedenini anladım.
Sistem zamanlayıcı değiştirme adımı, hala 15.625'in katı

Katma.
Ama win api sistem zamanlayıcı periyodunu timeBeginPeriod(1) işleviyle değiştirdim
onlar. teorik olarak, şimdi sistem zamanlayıcısı 1 milisaniyeye hız aşırtıldı.
Ve sistem zamanlayıcı adımı 1 milisaniye olmalı, değil mi?
O halde sayaç neden hala yorumda asılı duruyor?
https://rsdn.org/forum/winapi/4159851.1
 
Ve Linux'ta Wine altında, yorumdaki sayaç EventSetMillisecondTimer(1) ile bile donmadan çalışır;
Ancak işlemci üzerindeki yük, sekiz işlemci iş parçacığı ile %40'a çıkıyor.
Genel olarak, konuyu kapattı, konu dışı))
 
Roman :
Ve Linux'ta Wine altında, yorumdaki sayaç EventSetMillisecondTimer(1) ile bile donmadan çalışır;
Ancak işlemci üzerindeki yük, sekiz işlemci iş parçacığı ile %40'a çıkıyor.

Bununla ilgili...
Neden saniyede 64 kez?
Ekranda herhangi bir bilgiyi gösterebilmek için düşünüyorum. Bu frekans yeterlidir. Çoğu zaman anlamsızdır ve pahalıdır.
İlginç bir şekilde, OnChartEvent , OnCalculate ve OnTick de saniyede 64 defadan fazla üretilmiyor mu? - Bence evet.

 
Nikolai Semko :

Bununla ilgili...
Neden saniyede 64 kez?
Ekranda herhangi bir bilgiyi gösterebilmek için düşünüyorum. Bu frekans yeterlidir. Çoğu zaman anlamsızdır ve pahalıdır.
İlginç bir şekilde, OnChartEvent, OnCalculate ve OnTick de saniyede 64 defadan fazla üretilmiyor mu?

Burada olduğu gibi, anlamlı olan yükte değil, OnTimer () işleyicisinin yeteneklerindeydi.
Görünüşe göre Windows bu olasılıkları sınırlandırıyor, Linux değil.

Soruya göre, OnChartEvent , OnCalculate ve OnTick de saniyede 64 defadan fazla üretilmiyor mu?
Muhtemelen geliştiriciden bir yanıt beklemek daha iyidir.

 
Roman :

Soruya göre, OnChartEvent, OnCalculate ve OnTick de saniyede 64 defadan fazla üretilmiyor mu?
Muhtemelen geliştiriciden bir yanıt beklemek daha iyidir.

Fare ile OnChartEvent kontrol edildi.
Maksimum frekansın 124 hertz olduğu ortaya çıktı. Başka yol yok. 128 olmaması garip.

 
Nikolai Semko :

Fare ile OnChartEvent kontrol edildi.
Maksimum frekansın 124 hertz olduğu ortaya çıktı. Başka yol yok. 128 olmaması garip.

Algoritmayı biraz değiştirdi. Yorumun çok zaman aldığını hesaba katmadım. Zaten 127 Hz alındı.
Bu zaten mantıklı. 1 Hz'lik bir hata, programın çalışmasıyla zaten açıklanabilir, bu nedenle 128'in altına düşer.

Yani OnChartEvent'in maksimum frekansı 128 Hz'dir.

 
MQL5 kullanarak sentetik bir yayılma elde etmek mümkün müdür?
Terminalin kendisinde, sentetikler üzerinde bir yayılma var.
 
Aidas Geguzis :
MQL5 kullanarak sentetik bir yayılma elde etmek mümkün müdür?
Terminalin kendisinde, sentetikler üzerinde bir yayılma var.

Üçüncü taraf programlar için, özel semboller orijinal olanlardan çok az farklılık gösterir. Bu yüzden hiçbir engel olmamalıdır.

 
Bir terminal arabirimi aracılığıyla özel bir araç oluşturulursa ve özel sembol negatif bir değer alırsa
Özel sembol arayüzünde negatif fiyatlara izin verilmelidir.
Bu ayarı belirtmezseniz (unutursanız), o zaman oluşturulan enstrüman için geçmiş hesaplanmaz ve grafik sadece mevcut andan itibaren görüntülenir.
Günlük, Negatif fiyatlara izin vermenin gerekli olduğuna dair bir uyarı göstermediğinden, geçmişin neden hesaplanmadığını uzun süre anlayamadım.
Günlükte böyle bir uyarı olması güzel olurdu.
 

Boş bir yeni özel sembole bire bir keneler eklemek (özellikle, MQ Demo'daki EURUSD'den) 5310 hatası verir (hemen değil, rastgele bir tarihten itibaren geçiş döngüsünde).

 input int Limit = 10000 ;
input datetime Start = D'2020.06.01' ;

int fillArray( ulong &_start)
{
   MqlTick array[];
   int size = CopyTicks ( _Symbol , array, COPY_TICKS_ALL , _start, Limit);
   if (size > 0 )
  {
    _start = array[size - 1 ].time_msc + 1 ;
     if ( CustomTicksAdd (symbolName, array) == - 1 )
    {
       Print ( "Error:" , GetLastError ());
       return - 1 ;
    }
  }
   return size;
}

...
{
  ulong startMsc = ( ulong )Start * 1000 ;
   while (fillArray(startMsc) > 0 );
}

Sorun nedir? Hangi kenelere yemin ettiğini nasıl öğrenebilirim? Günlükte görüntülenen diziler - kronoloji ihlali yoktur.