Kütüphaneler: MultiTester - sayfa 56

 

Bazen fiyat geçmişinin bir kısmını tablo şeklinde görüntülemek gerekir. Bu, CTRL+U ile Çubuklar/Tickler sekmesi seçilerek yapılabilir. Gerekli aralığı oraya elle girmek. Bu sıkıcı bir işlemdir.


Bu nedenle, aşağıdaki Uzman Danışman tarafından gösterilen ek bir işlevsellik oluşturdum.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/tr/code/26132
#include <fxsaber\Keyboard\Keyboard.mqh> // https://www.mql5.com/tr/code/48393

input bool inTicks = true; // true - Ticks, false - Bars
input int inBefore = -60; // Saniye cinsinden önce
input int inAfter = 60;   // Saniye cinsinden sonra
input ENUM_TIMEFRAMES inPeriod = PERIOD_CURRENT; // Periyot (Çubuklar modu)

datetime GetTime( const int X )
{
  int Window;
  datetime Res;
  double Price;
    
  return(ChartXYToTimePrice(0, X, 0, Window, Res, Price) ? Res : 0);
}

void OnChartEvent( const int32_t id, const long &lparam, const double&, const string& )
{
  if ((id == CHARTEVENT_CLICK) && KEYBOARD::IsControl())
  {
    const datetime Time = GetTime((int)lparam);

    if (Time)
    {
      if (inTicks)
        MTTESTER::CopyTicks(_Symbol, Time + inBefore, Time + inAfter);
      else
        MTTESTER::CopyRates(_Symbol, inPeriod, Time + inBefore, Time + inAfter);      
    }    
  }
}


Grafiğin gerekli yerine tıklarsınız (CTRL basılıyken) ve ilgili tablo verilerini bir kerede otomatik olarak alırsınız.

Seçilen işlevler sadece belirli veri alanlarını doldurur ve sorgular. Ardından GUI aracılığıyla neyle ilgilendiğinizi görürsünüz. Genel olarak otomasyon.

 
Belki de çeşitli kullanışlı özellikleri bir araya getiren bir EA aracı yazma fikri iyi bir fikir olabilir.