//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- получим handle текущего графика
long handle=ChartID();
string comm="";
if(handle>0) // если получилось, дополнительно настроим
{
//--- отключим автопрокрутку
ChartSetInteger(handle,CHART_AUTOSCROLL,false);
//--- установим отступ правого края графика
ChartSetInteger(handle,CHART_SHIFT,true);
//--- отобразим в виде свечей
ChartSetInteger(handle,CHART_MODE,CHART_CANDLES);
//--- установить режим отображения тиковых объемов
ChartSetInteger(handle,CHART_SHOW_VOLUMES,CHART_VOLUME_TICK);
//--- подготовим текст для вывода в Comment()
comm="Прокрутим на 10 баров вправо от начала истории";
//--- выведем комментарий
Comment(comm);
//--- прокрутим на 10 баров вправо от начала истории
ChartNavigate(handle,CHART_BEGIN,10);
//--- получим номер самого первого видимого на графике бара (нумерация как в таймсерии)
long first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
//--- добавим символ переноса строки
comm=comm+"\r\n";
//--- дополним коментарий
comm=comm+"Первый бар на графике имеет номер "+IntegerToString(first_bar)+"\r\n";
//--- выведем комментарий
Comment(comm);
//--- подождем 5 секунд, чтобы успеть увидеть, как двигается график
Sleep(5000);
//--- допишем текст комментария
comm=comm+"\r\n"+"Прокрутим на 10 баров влево от правого края графика";
Comment(comm);
//--- прокрутим на 10 баров влево от правого края графика
ChartNavigate(handle,CHART_END,-10);
//--- получим номер самого первого видимого на графике бара (нумерация как в таймсерии)
first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
comm=comm+"\r\n";
comm=comm+"Первый бар на графике имеет номер "+IntegerToString(first_bar)+"\r\n";
Comment(comm);
//--- подождем 5 секунд, чтобы успеть увидеть, как двигается график
Sleep(5000);
//--- новый блок прокрутки графика
comm=comm+"\r\n"+"Прокрутим на 300 баров вправо от начала истории";
Comment(comm);
//--- прокрутим на 300 баров вправо от начала истории
ChartNavigate(handle,CHART_BEGIN,300);
first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
comm=comm+"\r\n";
comm=comm+"Первый бар на графике имеет номер "+IntegerToString(first_bar)+"\r\n";
Comment(comm);
//--- подождем 5 секунд, чтобы успеть увидеть, как двигается график
Sleep(5000);
//--- новый блок прокрутки графика
comm=comm+"\r\n"+"Прокрутим на 300 баров влево от правого края графика";
Comment(comm);
//--- прокрутим на 300 баров влево от правого края графика
ChartNavigate(handle,CHART_END,-300);
first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
comm=comm+"\r\n";
comm=comm+"Первый бар на графике имеет номер "+IntegerToString(first_bar)+"\r\n";
Comment(comm);
}
} |