//+——————————————————————+ //| Script program start function | //+——————————————————————+ voidOnStart() { //— get handle of the current chart long handle=ChartID(); string comm=“”; if(handle>0) // if successful, additionally set up the chart { //— disable auto scroll ChartSetInteger(handle,CHART_AUTOSCROLL,false); //— set a shift from the right chart border ChartSetInteger(handle,CHART_SHIFT,true); //— draw candlesticks ChartSetInteger(handle,CHART_MODE,CHART_CANDLES); //— set the display mode for tick volumes ChartSetInteger(handle,CHART_SHOW_VOLUMES,CHART_VOLUME_TICK); //— prepare a text to output in Comment() comm=“Scroll 10 bars to the right of the history start”; //— show comment Comment(comm); //— scroll 10 bars to the right of the history start ChartNavigate(handle,CHART_BEGIN,10); //— get the number of the first bar visible on the chart (numeration like in timeseries) long first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); //— add line feed character comm=comm+“\r\n”; //— add to comment comm=comm+“The first bar on the chart is number “+IntegerToString(first_bar)+“\r\n”; //— show comment Comment(comm); //— wait 5 seconds to see how the chart moves Sleep(5000); //— add to the comment text comm=comm+“\r\n”+“Scroll 10 bars to the left of the right chart border”; Comment(comm); //— scroll 10 bars to the left of the right chart border ChartNavigate(handle,CHART_END,-10); //— get the number of the first bar visible on the chart (numeration like in timeseries) first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); comm=comm+“\r\n”; comm=comm+“The first bar on the chart is number “+IntegerToString(first_bar)+“\r\n”; Comment(comm); //— wait 5 seconds to see how the chart moves Sleep(5000); //— new block of chart scrolling comm=comm+“\r\n”+“Scroll 300 bars to the right of the history start”; Comment(comm); //— scroll 300 bars to the right of the history start ChartNavigate(handle,CHART_BEGIN,300); first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); comm=comm+“\r\n”; comm=comm+“The first bar on the chart is number “+IntegerToString(first_bar)+“\r\n”; Comment(comm); //— wait 5 seconds to see how the chart moves Sleep(5000); //— new block of chart scrolling comm=comm+“\r\n”+“Scroll 300 bars to the left of the right chart border”; Comment(comm); //— scroll 300 bars to the left of the right chart border ChartNavigate(handle,CHART_END,-300); first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); comm=comm+“\r\n”; comm=comm+“The first bar on the chart is number “+IntegerToString(first_bar)+“\r\n”; Comment(comm); } }