ChartNavigate

Esegue lo slittamento del grafico indicato dal numero specificato di barre rispetto alla posizione specificata nel grafico.

bool  ChartNavigate(
   long                  chart_id,     // ID del Grafico
   ENUM_CHART_POSITION   position,     // Posizione
   int                   shift=0       // Valore di Slittamento
   );

Parametri

chart_id

[in] ID del Grafico. 0 significa il grafico corrente.

position

[in] Posizione Grafico per eseguire uno slittamento. Può essere uno dei valore ENUM_CHART_POSITION.

shift=0

[in] Numero di barre per slittare il grafico. Il valore positivo indica lo slittamento a destra (fino alla fine del grafico), il valore negativo indica lo slittamento a sinistra (all'inizio del grafico). Lo slittamento zero può essere utilizzato per spostarsi all'inizio o alla fine del grafico.

Valore restituito

Restituisce true se ha successo, altrimenti restituisce false.

Esempio:

//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script                                         |
//+--------------------------------------------------------------------------------+
voidOnStart()
  {
//--- ottiene l'handle del grafico corrente
   long handle=ChartID();
   string comm="";
   if(handle>0) // se con successo, addizionalmente imposta il grafico
     {
      //--- disabilita auto scroll
      ChartSetInteger(handle,CHART_AUTOSCROLL,false);
      //--- imposta uno slittamento dal bordo destro del grafico
      ChartSetInteger(handle,CHART_SHIFT,true);
      //--- disegna candele
      ChartSetInteger(handle,CHART_MODE,CHART_CANDLES);
      //--- impostare la modalità di visualizzazione per i volumi tick
      ChartSetInteger(handle,CHART_SHOW_VOLUMES,CHART_VOLUME_TICK);
 
      //--- prepara il testo per l'output in Comment()
      comm="Slitta di 10 barre a destra dell'inizio dall' inizio dello storico";
      //--- mostra commento
      Comment(comm);
      //--- slitta di 10 barre a destra dell'inizio dall' inizio dello storico
      ChartNavigate(handle,CHART_BEGIN,10);
//--- ottiene il numero della prima barra visibile sul grafico (numerazione come nelle timeseries)
      long first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      //--- aggiunge carattere di avanzamento riga
      comm=comm+"\r\n";
      //--- aggiunge al commento
      comm=comm+"La prima barra nel grafico è il numero "+IntegerToString(first_bar)+"\r\n";
      //--- mostra commento
      Comment(comm);
      //--- attendere 5 secondi per vedere come si muove il grafico
      Sleep(5000);
 
      //--- aggiunge al commento di testo 
 comm = comm +"\\ R \\ n"+"Slitta 10 barre a sinistra del bordo grafico a destra";
      Comment(comm);
/ / --- Slitta 10 barre a sinistra del bordo grafico a destra
      ChartNavigate(handle,CHART_END,-10);
//--- ottiene il numero della prima barra visibile sul grafico (numerazione come nelle timeseries)
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"La prima barra nel grafico è il numero "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- attendere 5 secondi per vedere come si muove il grafico
      Sleep(5000);
 
      //--- nuovo blocco di slittamento del grafico
      comm=comm+"\r\n"+"Scroll 300 bars to the right of the history start";
      Comment(comm);
      //--- slitta di 300 barre alla destra dell' inizio dello storico
      ChartNavigate(handle,CHART_BEGIN,300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"La prima barra nel grafico è il numero "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- attendere 5 secondi per vedere come si muove il grafico
      Sleep(5000);
 
      //--- nuovo blocco di slittamento del grafico
      comm=comm+"\r\n"+"Slitta di 300 barre a sinistra del bordo grafico a destra";
      Comment(comm);
      //--- slitta di 300 barre a sinistra del bordo grafico a destra
      ChartNavigate(handle,CHART_END,-300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"La prima barra nel grafico è il numero "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
     }
  }