Ошибки, баги, вопросы - страница 1333

 

Интересно, что бы это значило? Ооочень интересно. Особенно на реальном счете. Ничего не проверив, мой брокер обновился, ниже результат.

Терминал МТ4, b. 845 до обновления,
 И после обновления до b. 851 

И так во всех терминалах на всех парах.  W XP 32 bit

Что будем делать ?? Пока-что сказочная радость. За всё время существования МТ4 такая радость впервые.

Файлы:
22705.png  54 kb
22706.png  32 kb
 
Sergey Kucher:

Интересно, что бы это значило? Ооочень интересно. Особенно на реальном счете. Ничего не проверив, мой брокер обновился, ниже результат.

Терминал МТ4, b. 845 до обновления,
 И после обновления до b. 851 

И так во всех терминалах на всех парах.  W XP 32 bit

Что будем делать ?? Пока-что сказочная радость.

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

 
Alexander:

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

Попробуйте установить этот индикатор на МТ4 билд 851 и всё станет ясно.
Файлы:
OSMA1.mq4  3 kb
 
Sergey Kucher:
Попробуйте установить этот индикатор на МТ4 билд 851 и всё станет ясно.
Проверим
 

Уважаемые разработчики!

В классе CCanvas отсутствует важный функционал - это толщина рисования. В связи с этим возникает вопрос - добавите ли вы данный функционал в класс CCanvas?

Если добавлять не планируете данный функционал, то сделайте пожалуйста метод PixelSet виртуальным, иначе придется половину класса при наследовании переписывать. А менять что либо в классах стандартной библиотеки самому считаю дурным тоном и даже вредным, т.к. при обновлении терминала или его установке, придется все обратно менять, да и не запомнишь всех изменений по прошествии времени.

Прилагаю наследованный класс CCanvasNew. Что бы класс работал правильно, нужно внести изменение в метод PixelSet базового класса CCanvas, т.е. сделать его виртуальным.

Строку:

void              PixelSet(const int x,const int y,const uint clr);

заменить на:

virtual void      PixelSet(const int x,const int y,const uint clr);
Файлы:
CanvasNew.mqh  5 kb
 

Ошибка при компиляции

#property library
class name {};
class A {
public:
        int name() { Print( __FUNCTION__ ); return 0; }
        void f();
};
void A::f()
{
                name(); //1//нормально - вызывается A::name()
        int i = name(); //2//ошибка при компиляции
}
void OnStart()
{
	A a;
	a.f();
}
а в чём разница между 1 и 2 ?
 

Пояснения к заявке #1268334

Notepad

MetaEditor 

 

В документации заявлено:

"Глобальные переменные существуют в клиентском терминале 4 недели с момента последнего обращения, после этого автоматически уничтожаются. Обращением к глобальной переменной считается не только установка нового значения, но и чтение значения глобальной переменной" . 

 У меня чтение глобальных переменных происходит ежедневно. И несмотря на это они все равно уничтожаются. Нужно каждый месяц их создавать заново. Очень хотелось бы, чтобы вы устранили данное несоответствие работы МТ4 документации. 

 
Igor733:

В документации заявлено:

"Глобальные переменные существуют в клиентском терминале 4 недели с момента последнего обращения, после этого автоматически уничтожаются. Обращением к глобальной переменной считается не только установка нового значения, но и чтение значения глобальной переменной" . 

 У меня чтение глобальных переменных происходит ежедневно. И несмотря на это они все равно уничтожаются. Нужно каждый месяц их создавать заново. Очень хотелось бы, чтобы вы устранили данное несоответствие работы МТ4 документации. 

А Вы точно не перепутали понятие "Глобальная переменная" и "Глобальная переменная клиентского терминала"?
 

Tapochun:
А Вы точно не перепутали понятие "Глобальная переменная" и "Глобальная переменная клиентского терминала

Переменные терминала имел ввиду. Не перепутал. GlobalVariableSet("_LastBalance",MathMax(AccountEquity(),GlobalVariableGet("_LastBalance"))); Если создать переменную из терминала, а в советнике потом ее только читать, то она все равно через месяц удалится.
Причина обращения: