Bibliotheken: MultiTester - Seite 56

 

Manchmal ist es notwendig, einen Teil des Kursverlaufs in Form einer Tabelle anzuzeigen. Dies kann über die Tastenkombination CTRL+U geschehen, indem Sie die Registerkarte Balken/Ticks auswählen. Geben Sie dort das erforderliche Intervall von Hand ein. Das ist mühsam.


Deshalb habe ich eine zusätzliche Funktionalität geschaffen, die durch den folgenden Expert Advisor demonstriert wird.

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

input bool inTicks = true; // true - Ticks, false - Balken
input int inBefore = -60; // Vorher in Sekunden
input int inAfter = 60;   // Nach in Sekunden
input ENUM_TIMEFRAMES inPeriod = PERIOD_CURRENT; // Zeitraum (Modus Balken)

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);      
    }    
  }
}


Sie klicken (mit gedrückter STRG-Taste) auf die gewünschte Stelle des Charts und erhalten sofort automatisch die entsprechenden Tabellendaten.

Ausgewählte Funktionen füllen einfach bestimmte Datenfelder aus und fragen sie ab. Über die GUI sehen Sie dann, was Sie interessiert. Automatisierung, ganz allgemein.

 
Vielleicht wäre es eine gute Idee, ein EA-Tool zu schreiben, das verschiedene praktische Funktionen kombiniert.