Скачать MetaTrader 5

"Приятная неожиданность" - все уровни стали с лучами...

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114280
Forex Trader  
И посыпались "радости"...
Только что обновил до 190 от 10-го февраля. Все линии, у которых флаг "Луч" был снят, стали лучами!
При выборе меню "Очистить все закладки" закладки очищаются, только вот, что бы это увидеть, надо промотать экран вверх-вниз, а то они на экране то видны ещё...
Forex Trader
114280
Forex Trader  
Раньше у меян OBJPROP_RAY стоял равным 0, теперь, оказывается, он должен стоять False - но всё равно ни так ни так не работает...
И ещё какая то катавасия сцветами - тоже все уровни мне взял и красными поставил... Пожалуй, пока подожду обновляться, посталю старый 190-й билд...
Forex Trader
114280
Forex Trader  
Уфф... Вернул старый - и всё работает, как и надо! :)
Господа... Как-то что-то получается, что убрали 5 ошибок и добавили 6 новых?
Или внесли какие изменения кардинальные, и забыли об этом сообщить?
Я ж как честный энтузиазист с открытым сердцем и душою рвусь поставить последний апдейт, а тут - на те! Теперь буду неделю выжидать... А то мне ещё 3-м людям, помимо меня, обновления ставить. Неудобно как-то получится...
Forex Trader
114280
Forex Trader  
Проблема совершенно непонятна!
Давайте подробно и по шагам.
О каких объектах идёт речь?
Что вы делаете, что хотите увидеть и что видите?
Что такое "очистить все закладки"?
Forex Trader
114280
Forex Trader  
Что-то с переинициализацией

два индикатора переинициализируются по разному:
1:
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Chartreuse
#property indicator_color2 MediumVioletRed
...
int init()
  {
   ...
   SetIndexStyle(0,DRAW_LINE,0,2,Chartreus);
   SetIndexStyle(1,DRAW_LINE,0,2,MediumVioletRed);
   ...
  }



2:

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Chartreuse
#property indicator_color2 MediumVioletRed
...
int init()
  {
   ...
   SetIndexStyle(0,DRAW_LINE); //,0,2,Chartreus
   SetIndexStyle(1,DRAW_LINE); //,0,2,MediumVioletRed
   ...
  }
Forex Trader
114280
Forex Trader  
По шагам:
1. Про лучи. Каковые создавались функцией (кусок)
// Создаем новый уровень
ObjectDelete(Name_Level);
if (!ObjectCreate(Name_Level, OBJ_TREND, 0, Time[Bars_From_Start_Level+1], Uroven[valuta][NomerUroven][LevelCena],  Time[0], Uroven[valuta][NomerUroven][LevelCena]))
         Print("Ошибка рисования уровня ", symb, ": ",ErrorDescription(GetLastError()));
         else
         {
         ObjectSet(Name_Level, OBJPROP_STYLE, STYLE_SOLID);
         ObjectSet(Name_Level, OBJPROP_WIDTH, Uroven_WIDTH);
         ObjectSet(Name_Level, OBJPROP_COLOR, CvetObj);
         ObjectSet(Name_Level, OBJPROP_RAY, false);
         }


Соответственно, OBJPROP_RAY стоит фальсовый и лучей (в пред. версиях) - не было.
Так вот. Лучи есть! Объекты создаются с включеным флагом.
Как выяснить, в чем проблема?

2. ВСЕ уровни, созданые в предыдущем примере, нарисовались с какого то перепугу красным цветом! Что, изменилось представление цвета линий???
Что было ДО того (нормально):

И что стало В НОВОМ билде:


3. Сдвигается ранее на месте где надо стоявший объект (см. картинку выше).
Имеется код создания:

   ObjectDelete("UpperText");
   if(!ObjectCreate("UpperText", OBJ_LABEL,0,0,0))
      Print("Ошибка рисования верхнего комментария ", symb, " "+Volat+"-час.: ",ErrorDescription(GetLastError()));
      else
      {
      ObjectSet("UpperText", OBJPROP_XDISTANCE, 200);
      ObjectSet("UpperText", OBJPROP_YDISTANCE, 5);
      ObjectSetText("UpperText", "Запуск эксперта...",11,"Arial", Color_UpperText_Start);
      ObjectSet("UpperText", OBJPROP_COLOR, Color_UpperText_Start);
      }


То есть объект создается по оси Y сверху 5 пунктов.
Запускается эксперт в новой версии... и... Опаньки! YDISTANCE - 50 пунктов!
И объект гораздо ниже. С чего вдруг??? В программе НИГДЕ данный параметр не меняется.

Далее...

4. Про закладки...
А вот тут уж простите... ВЫ .. МЕНЯ спрашиваете, что такое "Очистить все закладки" ???
Кажется, MetaEditor - это Ваше произведение, а не моё. :)
Есть у Вас там такое пункта в меню, как Правка-Закладки.
:)))
Так вот. Ситуация.
а) расставляем (для примера - в видимой области) несколько закладок.

Далее. Надо по быстрому ВСЕ закладки убрать. Ну так я и выбираю пункт меню "Правка-Закладки-Очистить все закладки"
ну, или жму Ctrl+Shift+F2 кнопари. Закладки убираются, НО, что бы УВИДЕТЬ то, что они убрались (а картинка остаётся АБСОЛЮТО такая же, что и при установленых закладках), надо прокрутить экран так, чтобы они убрались с глаз долой. И они уже пропадают навсегда...
Вот. И то-же самое с красными метками ошибок происходит.
Вопрос - у кого глюк? Если у меня - так и скажите... Проверю ещё на десятке других машин.

Forex Trader
114280
Forex Trader  
Да ещё вот увидел, с созданием объектов с определенным кодом значка - тоже бадяга!
У меня содавались два вида значков, с номером 241 и 141 (это на втором рисунке - две стрелочки вверх, 241-е). Так вот, на месте той, что сверху, должен стоять символ 141. Ан нет! Взяло и поставило 241-й! Почему? С чего?... Не понятно!
Так что... Работаю на старом билде... Там всё нормально...
Forex Trader
114280
Forex Trader  
По шагам:
1. Про лучи. Каковые создавались функцией (кусок)
Соответственно, OBJPROP_RAY стоит фальсовый и лучей (в пред. версиях) - не было.
Так вот. Лучи есть! Объекты создаются с включеным флагом.
Как выяснить, в чем проблема?

При создании трендовой линии из эксперта свойства луча по умолчанию всегда TRUE. Так было всегда. Если у Вас это свойство было FALSE сразу после создания объекта, значит имела место ошибка - память прописывалась 0.
Кстати, нигде не сказано, каким должно быть любое свойство объекта по умолчанию. Необходимо всегда явно задавать свойства объекта.



2. ВСЕ уровни, созданые в предыдущем примере, нарисовались с какого то перепугу красным цветом! Что, изменилось представление цвета линий???

По умолчанию цвет у объекта как раз красный. Ваши изменения свойств (цвета в том числе) не вошли в силу (то есть не были отрисованы), так как не была вызвана функция ObjectsRedraw. Кстати специально разработанная для принудительной перерисовки графика (посмотрите наш давний пример rotate_text)



3. Сдвигается ранее на месте где надо стоявший объект (см. картинку выше).
То есть объект создается по оси Y сверху 5 пунктов.
Запускается эксперт в новой версии... и... Опаньки! YDISTANCE - 50 пунктов!
И объект гораздо ниже. С чего вдруг??? В программе НИГДЕ данный параметр не меняется.

То же самое касается и y-distance, по умолчанию равного 50. ObjectsRedraw();
Кстати, почему Вы не проверяете код ошибки после создания объекта и назначения объекту свойств?



Далее...

4. Про закладки...
А вот тут уж простите... ВЫ .. МЕНЯ спрашиваете, что такое "Очистить все закладки" ???
Кажется, MetaEditor - это Ваше произведение, а не моё. :)
Есть у Вас там такое пункта в меню, как Правка-Закладки.
:)))

В комплекте поставки - 6 экзешников. В том числе - 3 со сложным графическим интерфейсом. Сам я закладки не использую. Откуда я могу знать, какие закладки Вы имеете в виду?



Вопрос - у кого глюк? Если у меня - так и скажите... Проверю ещё на десятке других машин.

Это место мы не трогали. Ещё раз проверим.
Forex Trader
114280
Forex Trader  
ANK, спасибо за замечания. Оказывается, мы внесли ошибку при формировании кода возврата из функции создания объекта.
Forex Trader
114280
Forex Trader  
Скачайте исправленный билд 190 от 13 февраля и попробуйте ещё раз
Forex Trader
114280
Forex Trader  
Скачал апдейт, поставил, всё работает как надо. :)
Ваш ответ я, с Вашего позволения, комментировать не буду... ;)
Лучше займусь расставлением проверки ошибок при назначении свойств объектам - глядишь и пригодится как ни будь... :)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий