//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- obtenemos el manejador (handle) del gráfico actual
long handle=ChartID();
string comm="";
if(handle>0) // si ha salido bien, realizaremos ajustes adicionales
{
//--- desactivaremos el desplazamiento automático
ChartSetInteger(handle,CHART_AUTOSCROLL,false);
//--- establecemos la sangría del borde derecho del gráfico
ChartSetInteger(handle,CHART_SHIFT,true);
//--- mostramos en forma de velas
ChartSetInteger(handle,CHART_MODE,CHART_CANDLES);
//--- establecemos el modo de visualización de los volúmenes de ticks
ChartSetInteger(handle,CHART_SHOW_VOLUMES,CHART_VOLUME_TICK);
//--- preparamos el texto para mostrar en Comment()
comm="Desplazamos a 10 barras a la derecha desde el inicio del historial";
//--- mostramos el comentario
Comment(comm);
//--- desplazamos a 10 barras a la derecha desde el inicio del historial
ChartNavigate(handle,CHART_BEGIN,10);
//--- obtenemos el número de la primera barra visible en el gráfico (numeración como en una serie temporal)
long first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
//--- añadimos el carácter de nueva línea
comm=comm+"\r\n";
//--- añadimos comentario
comm=comm+"La primera barra en el gráfico tiene el número "+IntegerToString(first_bar)+"\r\n";
//--- mostramos el comentario
Comment(comm);
//--- esperaremos 5 segundos para que nos de tiempo a ver cómo se desplaza el gráfico
Sleep(5000);
//--- completaremos el texto del comentario
comm=comm+"\r\n"+"Desplazamos a 10 barras a la izquierda desde el borde derecho del gráfico";
Comment(comm);
//--- desplazamos a 10 barras a la izquierda desde el borde derecho del gráfico
ChartNavigate(handle,CHART_END,-10);
//--- obtenemos el número de la primera barra visible en el gráfico (numeración como en una serie temporal)
first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
comm=comm+"\r\n";
comm=comm+"La primera barra en el gráfico tiene el número "+IntegerToString(first_bar)+"\r\n";
Comment(comm);
//--- esperaremos 5 segundos para que nos de tiempo a ver cómo se desplaza el gráfico
Sleep(5000);
//--- nuevo bloque del desplazamiento del gráfico
comm=comm+"\r\n"+"Desplazamos a 300 barras a la derecha desde el inicio del historial";
Comment(comm);
//--- desplazamos a 300 barras a la derecha desde el inicio del historial
ChartNavigate(handle,CHART_BEGIN,300);
first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
comm=comm+"\r\n";
comm=comm+"La primera barra en el gráfico tiene el número "+IntegerToString(first_bar)+"\r\n";
Comment(comm);
//--- esperaremos 5 segundos para que nos de tiempo a ver cómo se desplaza el gráfico
Sleep(5000);
//--- nuevo bloque del desplazamiento del gráfico
comm=comm+"\r\n"+"Desplazamos a 300 barras a la izquierda desde el borde derecho del gráfico";
Comment(comm);
//--- desplazamos a 300 barras a la izquierda desde el borde derecho del gráfico
ChartNavigate(handle,CHART_END,-300);
first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
comm=comm+"\r\n";
comm=comm+"La primera barra en el gráfico tiene el número "+IntegerToString(first_bar)+"\r\n";
Comment(comm);
}
}
|