ChartNavigate

Executa deslocamento do gráfico especificado pelo número especificado de barras em relação a posição especificada no gráfico.

bool  ChartNavigate(
   long                  chart_id,     // ID Gráfico
   ENUM_CHART_POSITION   position,     // Posição
   int                   shift=0       // Valor deslocamento
   );

Parâmetros

chart_id

[in]  ID Gráfico. Significa o gráfico atual.

position

[in]  Posição do gráfico para realizar um deslocamento. Pode ser um dos valores ENUM_CHART_POSITION.

shift=0

[in]  Número de barras para deslocar o gráfico. Valor positivo significa que o deslocamento é para a direita (para o fim do gráfico), o valor negativo significa que o desvio é para a esquerda (para o início do gráfico). O deslocamento zero pode ser usado para navegar ao início ou para ao fim do gráfico.

Valor do Retorno

Retorna true se bem sucedido, caso contrário false.

Exemplo:

//+------------------------------------------------------------------+
//| Programa Script da função start (iniciar)                        |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- manipular gráfico atual
   long handle=ChartID();
   string comm="";
   if(handle>0) //se bem sucedida, configurar o gráfico
     {
      //--- desabilitar auto rolagem
      ChartSetInteger(handle,CHART_AUTOSCROLL,false);
      //--- definir uma mudança da margem direita do gráfico
      ChartSetInteger(handle,CHART_SHIFT,true);
      //--- desenhar castiçais
      ChartSetInteger(handle,CHART_MODE,CHART_CANDLES);
      //--- definir o modo de exibição para volume de tick (ponto)
      ChartSetInteger(handle,CHART_SHOW_VOLUMES,CHART_VOLUME_TICK);
 
      //--- preparar um texto para a saída em Comment()
      comm="Rolar 10 barras para a direita do começo do histórico";
      //--- mostrar comentário
      Comment(comm);
      //--- rolar 10 barras para a direita do começo do histórico
      ChartNavigate(handle,CHART_BEGIN,10);
      //--- começar com o número da primeira barra visível no gráfico (numeração como em série de tempo)
      long first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      //--- adicionar linha de caractere
      comm=comm+"\r\n";
      //--- adicionar comentário
      comm=comm+"A primeira barra é o número no gráfico "+IntegerToString(first_bar)+"\r\n";
      //--- mostrar comentário
      Comment(comm);
      //--- aguardar 5 segundos para ver como o gráfico se move
      Sleep(5000);
 
      //--- adicionar texto de cometário
      comm=comm+"\r\n"+"Rolar 10 barras para a esquerda da margem direita do gráfico";
      Comment(comm);
      //--- rolar 10 barras para a esquerda da margem direita do gráfico
      ChartNavigate(handle,CHART_END,-10);
      //--- começar com o número da primeira barra visível no gráfico (numeração como em série de tempo)
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"A primeira barra é o número no gráfico "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- aguardar 5 segundos para ver como o gráfico se move
      Sleep(5000);
 
      //--- novo bloco de rolagem do gráfico
      comm=comm+"\r\n"+"Rolar 300 barras para a direita do início do histórico";
      Comment(comm);
      //--- rolar 300 barras para a direita do início do histórico
      ChartNavigate(handle,CHART_BEGIN,300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"A primeira barra é o número no gráfico "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- aguardar 5 segundos para ver como o gráfico se move
      Sleep(5000);
 
      //--- novo bloco de rolagem do gráfico
      comm=comm+"\r\n"+"Rolar 300 barras para a esquerda da margem direita do gráfico";
      Comment(comm);
      //--- rolar 300 barras à esquerda da margem direita do gráfico
      ChartNavigate(handle,CHART_END,-300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"A primeira barra é o número no gráfico "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
     }
  }