у объектов должны быть разные имена, например можно сделать
так:
ObjectCreate(nameUP+i, OBJ_TREND, 0, First, oldUp, Time[i], High[i]);
ar4i:
не понимаю в чем дело ! даже на самом простом заедает мне надо рисовать обекты, в большом количстве а по какой то причине либо они вовсе не рисуются либи ресутся тока первый ! там что какой то особый подход нужен !
Или так:не понимаю в чем дело ! даже на самом простом заедает мне надо рисовать обекты, в большом количстве а по какой то причине либо они вовсе не рисуются либи ресутся тока первый ! там что какой то особый подход нужен !
//+------------------------------------------------------------------+ //| zzz.mq4 | //| zzzz | //| 111 | //+------------------------------------------------------------------+ #property copyright "zzz" #property link "zz@ewe.ru" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Black #property indicator_color2 Red //---- input parameters extern int Up=2; extern int Down=2; //---- buffers double UpFractal[]; double DownFractal[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,UpFractal); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,DownFractal); SetIndexDrawBegin(0,Up); SetIndexDrawBegin(1,Down); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- ObjectsDeleteAll( EMPTY, OBJ_TREND); //---- return(0); } //-------------------------------------------------------------------- double oldUp,oldDown; // Предыдущий Up, Down datetime First, Second; // Время текущего, предыдущего bool start=FALSE; //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,j,i_min,counted_bars=IndicatorCounted(); int Norm = MarketInfo(Symbol(),MODE_DIGITS); //---- if(Bars<=Up+1 ||Bars<=Down+1 ) return(0); i=Bars; if(counted_bars>0) i -= counted_bars; string nameUP; // Уникальное имя тренд. отрезка while(i>=0) { if(start && iFractals(NULL, 0, MODE_UPPER,i)>0) // Есть фрактал на i-м баре { First=Time[i]; nameUP="UP_"+ Second;//TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS); // Имя отрезка ObjectCreate(nameUP, OBJ_TREND, 0, Second, oldUp, First, High[i]); // ObjectSet(nameUP, OBJPROP_COLOR, Blue); ObjectSet(nameUP, OBJPROP_STYLE, DRAW_LINE); ObjectSet(nameUP, OBJPROP_RAY, 0); ObjectSet(nameUP,OBJPROP_WIDTH,3); Second=First; oldUp=High[i]; } if(!start && iFractals(NULL, 0, MODE_UPPER,i)>0) { // Самый первый фрактал oldUp=NormalizeDouble(iFractals(NULL, 0, MODE_UPPER,i), Norm); Second=Time[i]; start=TRUE; // до новой инициализации индикатора } i--; } //---- return(0); } //+------------------------------------------------------------------+

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
в принцепе и со скриптом также не действует