MetaTrader 5 herunterladen

ChartNavigate

Verschiebt den Chart um die angegebene Anzahl der Balken in Bezug auf die angegebene Chartposition.

bool  ChartNavigate(
   long  chart_id,     // Identifikator des Charts
   int   position,     // Position
   int   shift=0       // Verschiebungswert 
   );

Parameter

chart_id

[in]  Identifikator des Charts. 0 bedeutet den laufenden Chart.

position

[in]  Chartposition, in Bezug auf die die Verschiebung durchgeführt wird. Wert kann einer der Enumerationswerte ENUM_CHART_POSITION sein.

shift=0

[in]  Anzahl der Bars, um die der Chart verschoben werden muss. Positive Verschiebung ist Verschiebung nach rechts (zum Chartende), negative Verschiebung ist Verschiebung nach links (zum Chartanfang). Null-Verschiebung ist dann sinnvoll, wenn Navigierung zum Anfang oder zum Ende des Charts durchgeführt wird.

Rückgabewert

Gibt true im Efolgsfall zurück, anderenfalls false.

Beispiel:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- handle des aktuellen Charts erhalten
   long handle=ChartID();
   string comm="";
   if(handle>0) // wenn dies gelingt, zusätzlich einrichten
     {
      //--- Autoscroll deaktivieren 
      ChartSetInteger(handle,CHART_AUTOSCROLL,false);
      //--- eine Verschiebung von der rechten Chart-Grenze setzen
      ChartSetInteger(handle,CHART_SHIFT,true);
      //--- Candlesticks ziehen
      ChartSetInteger(handle,CHART_MODE,CHART_CANDLES);
      //--- Anzeige-Modus für Tick-Volumen einstellen
      ChartSetInteger(handle,CHART_SHOW_VOLUMES,CHART_VOLUME_TICK);
 
      //--- einen Text vorzubereiten, um in Comment() anzuzeigen
      comm="10 Balken nach rechts von Anfang der Geschichte scrollen";
      //--- Kommentar anzeigen
      Comment(comm);
      //--- 10 Balken nach rechts von Anfang der Geschichte scrollen
      ChartNavigate(handle,CHART_BEGIN,10);
      //--- erhalten wir die Nummer des ersten Balken, der auf dem Chart sichtbar ist (Nummerierung wie in Zeitreihen)
      long first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      //--- Zeilenvorschubzeichen hinzufügen
      comm=comm+"\r\n";
      //--- Kommentar hinzufügen
      comm=comm+"Der erste Balken auf dem Chart hat Nummer "+IntegerToString(first_bar)+"\r\n";
      //--- Kommentar anzeigen
      Comment(comm);
      //--- 5 Sekunden warten, um zu sehen, wie das Chart bewegt
      Sleep(5000);
 
      //--- Kommentar hinzufügen
      comm=comm+"\r\n"+"10 Balken nach links von der rechten Chart-Grenze scrollen";
      Comment(comm);
      //--- 10 Balken nach links von der rechten Chart-Grenze scrollen
      ChartNavigate(handle,CHART_END,-10);
      //--- erhalten wir die Nummer des ersten Balken, der auf dem Chart sichtbar ist (Nummerierung wie in Zeitreihen)
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"Der erste Balken auf dem Chart hat Nummer "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- 5 Sekunden warten, um zu sehen, wie das Chart bewegt
      Sleep(5000);
 
      //--- neuen Block von Chart-Scrollen
      comm=comm+"\r\n"+"300 Balken nach rechts von Anfang der Geschichte scrollen";
      Comment(comm);
      //--- 300 Balken nach rechts von Anfang der Geschichte scrollen
      ChartNavigate(handle,CHART_BEGIN,300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"Der erste Balken auf dem Chart hat Nummer "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- 5 Sekunden warten, um zu sehen, wie das Chart bewegt
      Sleep(5000);
 
      //--- neuen Block von Chart-Scrollen
      comm=comm+"\r\n"+"300 Balken nach links von der rechten Chart-Grenze scrollen";
      Comment(comm);
      //--- 300 Balken nach links von der rechten Chart-Grenze scrollen
      ChartNavigate(handle,CHART_END,-300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"Der erste Balken auf dem Chart hat Nummer "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
    ;}
 ;}