Обсуждение статьи "Визуализируем оптимизацию торговой стратегии в MetaTrader 5" - страница 2

 
Anatoli Kazharski:

Нужна последняя версия библиотеки. 

Я вроде не новичок. Пробовал отсюда. Ничего не получилось. Плюнул, занялся своими делами. Понял, что крайне неудобно работать с этой библиотекой. Куча версий, можно легко запутаться...

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

EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • голосов: 20
  • 2018.01.18
  • Anatoli Kazharski
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Dennis Kirichenko:

Я вроде не новичок. Пробовал отсюда. Ничего не получилось. Плюнул, занялся своими делами. Понял, что крайне неудобно работать с этой библиотекой. Куча версий, можно легко запутаться...

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

Версия всегда одна - самая последняя. 

Что именно неудобно тоже непонятно. Мне вот очень удобно. Графический интерфейс для этого приложения, да и любого другого из моего числа, написал очень быстро. Как это делать легко и быстро тоже разжёвано до мелочей. Поэтому, однозначно, не в библиотеке дело.

Сложно сказать, почему у Вас не получается воспроизвести результат из статьи. Представленный результат ведь не в фотошопе нарисован. К тому же, Вы не уточнили, что именно не отрисовывается. Не отрисовывается весь GUI? Не отрисовываются результаты на графиках? Непонятно.

Попробуйте полностью удалить кучу версий, в которых запутались, и скачать последнюю версию. Не автоматически заменить файлы в директориях, а именно удалить и поместить последние файлы.

 
Anatoli Kazharski:

Версия всегда одна - самая последняя. 

Что именно неудобно тоже непонятно. Мне вот очень удобно. Графический интерфейс для этого приложения, да и любого другого из моего числа, написал очень быстро. Как это делать легко и быстро тоже разжёвано до мелочей. Поэтому, однозначно, не в библиотеке дело.

Сложно сказать, почему у Вас не получается воспроизвести результат из статьи. Представленный результат ведь не в фотошопе нарисован. К тому же, Вы не уточнили, что именно не отрисовывается. Не отрисовывается весь GUI? Не отрисовываются результаты на графиках? Непонятно.

Попробуйте полностью удалить кучу версий, в которых запутались и скачать последнюю версию. Не автоматически заменить файлы в директориях, а именно удалить и поместить последние файлы.

+++. Классная библиотека!
 

Анатолий, конечно Вам удобно, Вы ведь разработчик :-))

Щас постараюсь высказаться  без эмоций, как рядовой юзвер, коим и являюсь.

Библиотека относительно большая. Где в исходниках видна её версия? И где гарантия, что используется нужный файл? Вообще, имхо, не хватает пояснялки вида readme.txt в папке библиотеки.

Снёс все файлы и обновился.

Запустил в режиме оптимизации советник MovingAverageWithFrames, получил в Журнале терминала такое:

KR      0       12:44:52.304    MacdSampleWithFrames (EURUSD,H1)        CElement::CreateCanvas > Не удалось присоединить холст для рисования к графику: 4016
NP      0       12:44:52.306    MacdSampleWithFrames (EURUSD,H1)        CProgram::OnTesterInitEvent > Could not create the GUI!
DF      2       12:44:58.926    MacdSampleWithFrames (EURUSD,H1)        invalid pointer access in 'FrameGenerator.mqh' (304,18)

Видимо, проблема с созданием холста для GUI.

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


MovingAverageWithFrames

 
Dennis Kirichenko:

на графике остаются строка комментария и красный квадратик с незалитым фоном.

Отсутствие графического ресурса.

 
Dennis Kirichenko:

...

Запустил в режиме оптимизации советник MovingAverageWithFrames, получил в Журнале терминала такое:

Видимо, проблема с созданием холста для GUI.

...

Теперь уже понятнее. Но вот я не могу ответить на вопрос, почему так получается.

Какая-то проблема вот в этом методе класса CCanvas из стандартной библиотеки:

//+------------------------------------------------------------------+
//| Attach new object with bitmap resource                           |
//+------------------------------------------------------------------+
bool CCanvas::Attach(const long chart_id,const string objname,ENUM_COLOR_FORMAT clrfmt=COLOR_FORMAT_XRGB_NOALPHA)
  {
   if(OBJ_BITMAP_LABEL==ObjectGetInteger(chart_id,objname,OBJPROP_TYPE))
     {
      string rcname=ObjectGetString(chart_id,objname,OBJPROP_BMPFILE);
      rcname=StringSubstr(rcname,StringFind(rcname,"::"));
      if(ResourceReadImage(rcname,m_pixels,m_width,m_height))
        {
         m_objname=objname;
         m_rcname=rcname;
         m_format=clrfmt;
         m_objtype=OBJ_BITMAP_LABEL;
         //--- success
         return(true);
        }
     }
//--- failed
   return(false);
  }

//---

И непонятно, почему у одних пользователей проблема проявляется, а у других нет.

Вы не вносили изменения в этот класс?

 
fxsaber:

Отсутствие графического ресурса.

@Dennis Kirichenko Вы распаковали самостоятельно  картинки из архива EasyAndFastGUI.zip ? Пришлось все картинки приложить ZIP-файлом, другого варианта на текущий момент просто нет.


 
Rashid Umarov:

@Dennis Kirichenko Вы распаковали самостоятельно  картинки из архива EasyAndFastGUI.zip ? Пришлось все картинки приложить ZIP-файлом, другого варианта на текущий момент просто нет.

...

Кстати, да! Возможно, что проблема именно в этом. )

 
Anatoli Kazharski:

Кстати, да! Возможно, что проблема именно в этом. )

Нужно это отразить в описании. Одной строкой

 
Rashid Umarov:

Нужно это отразить в описании. Одной строкой

Добавил в описание и отправил на проверку.