Tüm işlemlerin tablosu. MQL5 üzerinden erişim - sayfa 2

 
prostotrader :
Bir hata buldu ve işi optimize etti.

İyi bir örnek, optimal performans hala çok uzak olmasına rağmen. Şimdiye kadar üç ana fren var:

1. CopyTiks her OnBookEvent, başlatıldığı andan itibaren tüm onay işaretlerini kopyalar:

 int copied= CopyTicks ( Symbol (),ticks, COPY_TICKS_ALL ,start_time, 0 );

Aslında bu, dinamik kesmeler yapılarak optimize edilebilir.

2. OnBookEvent'te alınan tüm onayların tam listesi

 for ( int i= 1 ; i<copied; i++)
{
   if (( ticks[i].flags  & TICK_FLAG_BUY )== TICK_FLAG_BUY )
   {
      buy_deals++;
   }
   else
   if (( ticks[i].flags  & TICK_FLAG_SELL )== TICK_FLAG_SELL )
   {
      sell_deals++;
   }
}

Bu da istenirse düzeltilebilir.

3. OnCalculation'daki tüm çubukların tam listesi:

 for ( int i=rates_total- 1 ; i> 0 ; i--)
{
   SellBuffer[i]= SellBuffer[i- 1 ];
   BuyBuffer[i] = BuyBuffer[i- 1 ];
}
 
Forum üyelerinin isteği üzerine göstergeyi sonlandırdım
Dosyalar:
DealsLent.mq5  9 kb
 
Vasiliy Sokolov :

İyi bir örnek, optimal performans hala çok uzak olmasına rağmen. Şimdiye kadar iki ana fren var:

1. CopyTiks her OnBookEvent, başlatıldığı andan itibaren tüm onay işaretlerini kopyalar:

Aslında bu, dinamik kesmeler yapılarak optimize edilebilir.

2. OnBookEvent'te alınan tüm onayların tam listesi

Bu da istenirse düzeltilebilir.

3. OnCalculation'daki tüm çubukların tam listesi:

Teşekkür ederim ama her yerde haklı değilsin.

1. Tüm tikler değil (yakından bakın)

2. Ve nasıl gerekli?

3. Yapımı kolay

Hemen düzeltelim...

 
Burada, düzeltildi
Dosyalar:
DealsLent.mq5  9 kb
 
prostotrader :

Teşekkür ederim ama her yerde haklı değilsin.

1. Tüm tikler değil (yakından bakın)

2. Yapımı kolay

3. Yapımı da kolay

Hemen düzeltelim...

Evet, aslında tüm tikler değil.

Üçüncü noktaya gelince, ne yapmanın kolay olacağından emin değilim. Çünkü gösterge bir onay işaretidir ve bu nedenle gerçekten ciddi bir yeniden çizime ihtiyacı vardır.

Ama genel olarak, her şey vızıldıyor. Örnek için teşekkürler.

 
prostotrader :
Burada, düzeltildi
Teşekkür ederim.
 
Vasiliy Sokolov :

Evet, aslında tüm tikler değil.

Üçüncü noktaya gelince, ne yapmanın kolay olacağından emin değilim. Çünkü gösterge bir onay işaretidir ve bu nedenle gerçekten ciddi bir yeniden çizime ihtiyacı vardır.

Ama genel olarak, her şey vızıldıyor. Örnek için teşekkürler.

Aslında, gösterge bir onay işaretidir, bu nedenle yalnızca mevcut veriler (en son) önemlidir.

Kullanıcı arabelleklerden daha uzun bir geçmiş almak isterse,

Bunu yapmak çok kolay.

Sek...

 

Burada kullanıcı, ilgilendiği verinin boyutunu kendisi seçebilir.

ActSize = 0 ise - mevcut tüm geçmiş

Dosyalar:
DealsLent.mq5  9 kb
 
Bitirici dokunuş..
Dosyalar:
DealsLent.mq5  10 kb
 

Belki birisi neyin yanlış olduğunu biliyordur?

Gösterge düzgün çalışıyor, ancak daha fazla çubuk görüntüleniyor,

kurulumda yapıldığından daha fazla.

Neden: