Почему съезжает панель при обновлении настроек эксперта?

 

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

Дальше еще интересней - удаляем эксперта с графика, он удаляется вместе с графиком :D mt4

 

 
Maxim Dmitrievsky:

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

Дальше еще интересней - удаляем эксперта с графика, он удаляется вместе с графиком :D mt4

 

  1. Пожалуйста указывайте данные операционной системы, тип и билд терминала. Данную информацию брать из вкладки "Журнал": после перезапуска терминала первые три строчки.
  2. Явная ошибка проектирования панели (вероятно отсутствует обработка деинициализации). Что-то вроде (этот код взят из стандартно поставки ...\MQL4\Experts\Examples\Controls\Controls.mq4):
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //--- destroy dialog
       ExtDialog.Destroy(reason);
      }

 
2016.02.28 11:29:34.000 Windows 10 Home (x64 based PC), IE 12.03, UAC, 6 x AMD FX-6100 Six-Core Processor , RAM: 5043 / 8173 Mb, HDD: 406297 / 953316 Mb, GMT+06:00
2016.02.28 11:29:33.999 Forex4you build 950 started (E-Global Trade and Finance Group, Inc.)

В онИните создаю объект:

int OnInit()
  { 
   //--- Panel create   
   m_panel.Create(0,"SWAG settings",0,panelXX,panelYY,panelWidth,panelHeight);
  }

Затем удаляю:

void OnDeinit(const int reason)
  {
//--- Destroy panel
   m_panel.Destroy(reason);
//--- Delete all objects
  }

а для примера можно взять эту панель https://www.mql5.com/ru/code/12848

при смене параметров эксперта там тоже съезжает панель у меня.

EasyTrade v1.05
EasyTrade v1.05
  • голосов: 18
  • 2015.04.20
  • semtiko
  • www.mql5.com
Многофункциональная торговая панель.
 
Maxim Dmitrievsky:

а для примера можно взять эту панель https://www.mql5.com/ru/code/12848

при смене параметров эксперта там тоже съезжает панель у меня.

Что Вы подразумеваете под "... при смене параметров эксперта...": 

  • меняете параметры переменных в коде?
  • меняете параметры в панели?

 
Maxim Dmitrievsky:

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

Дальше еще интересней - удаляем эксперта с графика, он удаляется вместе с графиком :D mt4

 

Что бы ничего никуда не съезжало, нужно писать все самому и понимать что Вы пишите.

Karputov Vladimir прав, ошибка проектирования, в своем проекте Вы используете фрагменты кода из стандартной библиотеки, вероятно что бы сократить время и усилия.

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

Рекомендую, исходя из собственного опыта, пишите все сами.

 
Vladimir Pastushak:

Что бы ничего никуда не съезжало, нужно писать все самому и понимать что Вы пишите.

Karputov Vladimir прав, ошибка проектирования, в своем проекте Вы используете фрагменты кода из стандартной библиотеки, вероятно что бы сократить время и усилия.

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

Рекомендую, исходя из собственного опыта, пишите все сами.

что самому писать, библиотеки что-ли? )) я еще пока не совсем ударенный. Мне тогда проще будет вообще не писать эту панель (сдалась она) :)
 
Karputov Vladimir:

Что Вы подразумеваете под "... при смене параметров эксперта...": 

  • меняете параметры переменных в коде?
  • меняете параметры в панели?

Жмем F7, появляется окошко настроек советника. Меняем что-нибудь в Inputs или не меняем, без разницы. Затем жмем ОК. И так несколько раз до появления проблемы (может не возникнуть с первого раза), раз на 5-й точно появится.
 
Maxim Dmitrievsky:
что самому писать, библиотеки что-ли? )) я еще пока не совсем ударенный

Ну тогда ждите когда разрабы поправят библиотеки )))))

И да, это не один баг с которым Вы столкнетесь юзая стандартные библиотеки... 

 
Vladimir Pastushak:

Ну тогда ждите когда разрабы поправят библиотеки )))))

И да, это не один баг с которым Вы столкнетесь юзая стандартные библиотеки... 

в принципе эта ошибка не критичная, если постоянно не лезть в инпуты советника, просто раздражает немножко.. а мб это только у меня так работает
 
Maxim Dmitrievsky:
Жмем F7, появляется окошко настроек советника. Меняем что-нибудь в Inputs или не меняем, без разницы. Затем жмем ОК. И так несколько раз до появления проблемы (может не возникнуть с первого раза), раз на 5-й точно появится.
Не воспроизводится, ибо нет кода на котором это можно проверить :) . В общем если кода не дадите, то "Клуб Телепатов" здесь https://www.mql5.com/ru/forum/133408
Клуб Телепатов - MQL4 форум
Клуб Телепатов - MQL4 форум
  • www.mql5.com
Клуб Телепатов - MQL4 форум
 
Karputov Vladimir:
Не воспроизводится, ибо нет кода на котором это можно проверить :) . В общем если кода не дадите, то "Клуб Телепатов" здесь https://www.mql5.com/ru/forum/133408

я же дал https://www.mql5.com/ru/code/12848

Владимир, почему вам по 2 раза все надо дублировать? ))  Пора завязывать с библиотеками...

EasyTrade v1.05
EasyTrade v1.05
  • голосов: 19
  • 2015.04.20
  • semtiko
  • www.mql5.com
Многофункциональная торговая панель.
Причина обращения: