void OnStart() { //--- string my_gann="OBJ_GANNFAN object"; if(ObjectFind(0,my_gann)<0)// объект не найден { //--- сообщим о неудаче Print("Object ",my_gann," not found. Error code = ",GetLastError()); //--- получим максимальную цену графика double chart_max_price=ChartGetDouble(0,CHART_PRICE_MAX,0); //--- получим минимальную цену графика double chart_min_price=ChartGetDouble(0,CHART_PRICE_MIN,0); //--- сколько баров на графике показано? int bars_on_chart=ChartGetInteger(0,CHART_VISIBLE_BARS); //--- создадим массив, куда запишем время открытия каждого бара datetime Time[]; //--- организуем доступ к массиву как в таймсерии ArraySetAsSeries(Time,true); //--- теперь скопируем в него данные для видимых на графике баров int times=CopyTime(NULL,0,0,bars_on_chart,Time); if(times<=0) { Print("Не удалось скопировать массив со временем открытия!"); return; } //--- предварительные приготовления закончены //--- индекс центрального бара на графике int center_bar=bars_on_chart/2; //--- экватор графика - между максимумом и минимумом double mean=(chart_max_price+chart_min_price)/2.0; //--- установим координаты первой точки привязки в центр ObjectCreate(0,my_gann,OBJ_GANNFAN,0,Time[center_bar],mean, //--- вторая точки привязки справа Time[center_bar/2],(mean+chart_min_price)/2.0); Print("Time[center_bar] = "+(string)Time[center_bar]+" Time[center_bar/2] = "+(string)Time[center_bar/2]); //Print("Time[center_bar]/="+Time[center_bar]+" Time[center_bar/2]="+Time[center_bar/2]); //--- установим масштаб в единицах Pips/Bar ObjectSetDouble(0,my_gann,OBJPROP_SCALE,10); //--- установим направление тренда ObjectSetInteger(0,my_gann,OBJPROP_DIRECTION,GANN_UP_TREND); //--- установим толщину линий ObjectSetInteger(0,my_gann,OBJPROP_WIDTH,1); //--- зададим стиль линий ObjectSetInteger(0,my_gann,OBJPROP_STYLE,STYLE_DASHDOT); //--- и цвет линий ObjectSetInteger(0,my_gann,OBJPROP_COLOR,clrYellowGreen); //--- разрешим пользователю выделять объект ObjectSetInteger(0,my_gann,OBJPROP_SELECTABLE,true); //--- выделим его сами ObjectSetInteger(0,my_gann,OBJPROP_SELECTED,true); //--- отрисуем на графике ChartRedraw(0); } } |