Вопрос к знатокам MQL - страница 2

 
Rita:

Убрать галочку и получится примерно такое:


 

Благодарю. Луч получился.

Но индикатор https://www.mql5.com/ru/code/8752 так и не работает. Нарисовала  вертикальную линию, название пары EURUSD+  и отрезок "истории".

Открывается пустое окно индикатора,  но  график эквити заданного участка не  отображается.

 

 
Rita:

Благодарю. Луч получился.

Но индикатор https://www.mql5.com/ru/code/8752 так и не работает. Задала вертикальную линию, название пары и отрезок "истории".

Открывается пустое окно индикатора, но график эквити заданного участка не отображается.

1. Попробуйте задать цвет линии Blue или Red.

2. Попробуйте перечитать инструкцию к индикатору.

3. В выходные дни котировки не идут, поэтому попробуйте сделать "Обновление" по ПЩМ на графике, что бы индикаторный буфер заполнился рассчитанными значениями индикатора.

4. Если ничего не помогло.... То не знаю, что делать. Обратитесь к разработчику за поддержкой.

 
Ок. Сейчас попробую.
 

Да,  - спсб. ещё раз. С синей линией вроде начало получаться.

 

 

Вот ещё обнаружился глюк в мт4.

При запуске (постоянно), а также при раскрытии  свернутого окна МТ4 (в 80 % случаев.) непонятно почему все линейки опций меню мт4 перестраиваются - "одна под другую", уменьшая высоту графика.

Сильно раздражает это иной раз. Приходится все время перетаскивать "взад" эти линейки.

Почему так случается и как устранить этот глюк? Подскажите, кто знает. 

 

 

 
Rita:

При запуске (постоянно), а также при раскрытии  свернутого окна МТ4 

При запуске такое происходит, если пытаться запустить уже запущенный терминал. Мышь не радио? Попробуйте для проверки с клавиатуры, выделить ярлык, потом ентером запустить.

При раскрытии свернутого - не сталкивался. 

 

Нет, мышь не радио. Вот обнаружилось, что обычно такое происходит при излишней нагрузке процессора.

Сейчас продолжу вопрос в ветке  https://www.mql5.com/ru/forum/116261/page15

 

Добрый день.

Полдня уже истратил и  не могу разобраться.

Мне нужно, чтобы в правом углу окна нижнего индикатора отображались названия анализируемых инструментов и цветов их соотв.  линий, вот так :

Я не могу никак этого добиться! Т.е. при начальной компилляции эти текстовые метки справа пояляются .

Но после перезагрузки мт4 или после новой установки индикатора на график  текст пропадает, вот см. : 

Не пойму, почему так.

Я для отображения этих строк написал функцию :

void object(string name, string _text, int fontsize, color color_, int value) {
 ObjectCreate(name+ WindowExpertName(), OBJ_LABEL, WindowFind(WindowExpertName()), 0, 0);
 ObjectSetText(name+ WindowExpertName(), _text, fontsize, "Times New Roman", color_);
 ObjectSet(name+ WindowExpertName(), OBJPROP_CORNER, 1);
 ObjectSet(name+ WindowExpertName(), OBJPROP_XDISTANCE, 4);
 ObjectSet(name+ WindowExpertName(), OBJPROP_YDISTANCE, value); 
                                     }

Эту функцию  я вызываю в ф-и СТАРТ - для каждого символа соответственно:

 int start() {
     int limit;  int counted_bars=IndicatorCounted();
  //---- проверка на возможные ошибки
     if(counted_bars<0) return(-1);
  //---- последний посчитанный бар будет пересчитан
     if(counted_bars>0) counted_bars-=10;
     limit=Bars-counted_bars;
  //---- основной цикл
     for(int i=0; i<limit; i++)
       {
       Symbol1[i]=.....  ;
       Symbol2[i]= ..... ;
       Symbol3[i]= ..... ; 
       Symbol4[i]= ......;       
       SymbolE[i]= ..... ;      
      
      object("B1", Symbol_1, 10, Color_1, 5);
      object("B2", Symbol_2, 10, Color_2, 15);
      object("B3", Symbol_3, 10, Color_3, 25);
      object("B4", Symbol_4, 10, Color_4, 35);
      object("B5", Symbol_E, 10, Color_5, 45);
     
   }
   return (0);
}
     

 Пож. подскажите, в чем здесь может быть ошибка ? Может быть в функции INIT ?

Потому, что в журнале постоянно вылезают надписи :

 

 

 

Ф-ю инит реализовал вот так:

int init() {
    IndicatorShortName("CC-STOKS ");
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2, Color_1);
   SetIndexBuffer(0, Symbol1);
   SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2, Color_2);
   SetIndexBuffer(1, Symbol2);
   SetIndexStyle(2, DRAW_LINE, STYLE_SOLID, 2, Color_3);
   SetIndexBuffer(2, Symbol3);
   SetIndexStyle(3, DRAW_LINE, STYLE_SOLID, 2, Color_4);
   SetIndexBuffer(3, Symbol4);
   SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 2, Color_5);
   SetIndexBuffer(4, SymbolE);
   
   return (0);
}