ChartNavigate

 

   Réalise le décalage du graphique indiqué au nombre indiqué de barres par rapport à la position indiquée du graphique.

bool  ChartNavigate(
   long                  chart_id,     // identificateur du graphique
   ENUM_CHART_POSITION   position,     // position
   int                   shift=0       // valeur du décalage
   );

Paramètres

chart_id

[in]   L'identificateur du graphique. 0 signifit le graphique courant.

position

[in]  La position de graphique pour exécuter le décalage. La valeur peut être une des valeurs de l'énumération ENUM_CHART_POSITION.

shift=0

[in]  Le nombre de barres, auxquels il faut déplacer le graphique. La valeur positive signifie le décalage à droite (à la fin du graphique), la valeur négative signifie le décalage à gauche (vers le début du graphique). Le décalage nul est justifié, quand on produit la navigation vers le début ou la fin du graphique.

La valeur rendue

Rend true en cas du succès, autrement rend false.

Exemple:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- recevons le handle de l'indicateur actuel
   long handle=ChartID();
   string comm="";
   if(handle>0) // en cas de succès, configurons supplémentairement
     {
      //--- désactivons l'autodéfilement
      ChartSetInteger(handle,CHART_AUTOSCROLL,false);
      //--- établissons l'alinéa du bord droit du graphique
      ChartSetInteger(handle,CHART_SHIFT,true);
      //--- affichons en forme des bougies
      ChartSetInteger(handle,CHART_MODE,CHART_CANDLES);
      //--- établir le mode de l'affichage des volumes de tick
      ChartSetInteger(handle,CHART_SHOW_VOLUMES,CHART_VOLUME_TICK);
 
      //--- préparons le texte pour la sortie dans Comment()
      comm="Faisons défiler 10 barres à droite du début de l'histore";
      //--- déduisons le commentaire
      Comment(comm);
      //--- faisons défiler 10 barres à droite du début de l'histore
      ChartNavigate(handle,CHART_BEGIN,10);
      //--- recevons le numéro de la première barre affichée sur le graphique (le numérotage comme dans la série temporelle)
      long first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      //--- ajoutons le symbole du transfert de la ligne
      comm=comm+"\r\n";
      //--- completons le commentaire
      comm=comm+"La première barre sur le graphique a le numéro"+IntegerToString(first_bar)+"\r\n";
      //--- déduisons le commentaire
      Comment(comm);
      //--- attendons 5 secondes pour avoir le temps de voir comment avance le graphique
      Sleep(5000);
 
      //--- écrivons le texte du commentaire
      comm=comm+"\r\n"+"Faisons défiler 10 barres à gauche du bord droit du graphique";
      Comment(comm);
      //--- faisons défiler 10 barres à gauche du bord droit du graphique
      ChartNavigate(handle,CHART_END,-10);
      //--- recevons le numéro de la première barre affichée sur le graphique (le numérotage comme dans la série temporelle)
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"La première barre sur le graphique a le numéro"+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- attendons 5 secondes pour avoir le temps de voir comment avance le graphique
      Sleep(5000);
 
      //--- un nouveau bloc du défilement du graphique
      comm=comm+"\r\n"+"Faisons défiler 300 barres à droite du début de l'histore";
      Comment(comm);
      //--- faisons défiler 300 barres à droite du début de l'histore
      ChartNavigate(handle,CHART_BEGIN,300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"La première barre sur le graphique a le numéro"+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- attendons 5 secondes pour avoir le temps de voir comment avance le graphique
      Sleep(5000);
 
      //--- un nouveau bloc du défilement du graphique
      comm=comm+"\r\n"+"Faisons défiler 300 barres à gauche du bord droit du graphique";
      Comment(comm);
      //--- faisons défiler 300 barres à gauche du bord droit du graphique
      ChartNavigate(handle,CHART_END,-300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"La première barre sur le graphique a le numéro"+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
     }
  }