@Renat Fatkhullin Было бы неплохо иметь доступ к API с mql,
чтобы иметь возможность изменять курсор мыши, как, например, это делается при рисовании треугольника.
В последних билдах перестал в работать поиск по файлам в Метаэдиторе. Ничего не находит. В билде 2380 всё работает.
p.s. Разобрался, в чём дело. Главный поисковик в правом верхнем углу панели инструментов раньше всегда искал в текущих папках MQL. А
теперь он использует путь, задаваемый в настройках "Поиска в файлах" (кстати теперь там всё на английском языке почему-то).
И кстати смотрю, наконец-то, появилась возможность замены в файлах - это просто отличная новость.
Баг компилятора. Следующий код почему-то компилируется и работает:
class A { };
voidOnStart()
{
A* p[];
int i[]= { 1,2,3,4,5,6,7,8,9 };
ArrayCopy(p, i);
Print(ArraySize(p)); // 9
}
Размер массива увеличивается. Хорошо хоть значениями не заполняется )
p.s. Как я понял, у этой функции вообще проблемы с контролем типов. Она принимает практически всё подряд. В итоге ошибки со стадии компиляции переносятся в рантайм.
В билде 2398 что-то случилось с граф. объектами. В OnDeinit() советника удаляю объекты. При закрытий чарта с советником получаю Abnormal
Termination. Тот же код в предыдущих билдах работает норм.
Баг компилятора. Вместо
класса С он пытается найти класс с именем T:
class C
{
public:
staticvoid F() { }
};
template<typename T>
void f(T& c)
{
T::F(); // 'T' is not a class, struct or union
}
voidOnStart()
{
C c;
f(c);
}
Баг MT5 (build 2366), ошибка компиляции при доступе к статическому
методу класса, доступ к которому осуществляется через шаблонный тип аргумента функции.
template<typename _Tp>
struct It_g{
class Opt{
template<typename _It>
staticvoid test(_It &it){
_Tp p = it.p;
};
};
_Tp p;
};
template<typename _Tp>
class V{
public:
struct It : public It_g<_Tp>{};
It b;
};
template<typename T>
class GetStructType{
public:
struct type : public T{};
};
template<typename _It>
void test(_It &it){
GetStructType<_It>::type::Opt::test(it); // Ok
_It::Opt opt;
opt.test(it); // Ok
_It::Opt::test(it); // '_It' is not a class, struct or union | 'Opt' is not a class, struct or union
}
class ClassA{};
voidOnStart(){
V<int> v1;
test(v1.b);
V<ClassA*> v2;
test(v2.b);
V<int>::It it3;
test(it3);
V<ClassA*>::It it4;
test(it4);
}
@Renat Fatkhullin Было бы неплохо иметь доступ к API с mql, чтобы иметь возможность изменять курсор мыши, как, например, это делается при рисовании треугольника.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
Владимир Карпутов , 2020.04.29 13:29
Всё работает. Клик первый -> клик второй и с нажатой клавишей тянем мышкой -> отпускаем мышку:
В последних билдах перестал в работать поиск по файлам в Метаэдиторе. Ничего не находит. В билде 2380 всё работает.
p.s. Разобрался, в чём дело. Главный поисковик в правом верхнем углу панели инструментов раньше всегда искал в текущих папках MQL. А теперь он использует путь, задаваемый в настройках "Поиска в файлах" (кстати теперь там всё на английском языке почему-то).
И кстати смотрю, наконец-то, появилась возможность замены в файлах - это просто отличная новость.
Баг компилятора. Следующий код почему-то компилируется и работает:
Размер массива увеличивается. Хорошо хоть значениями не заполняется )
p.s. Как я понял, у этой функции вообще проблемы с контролем типов. Она принимает практически всё подряд. В итоге ошибки со стадии компиляции переносятся в рантайм.
Hallo,
das ist mir schon bei mehreren Brokern aufgefallen, nehm an das ist wieder mal ein Fehler von MT5,
Hab da mal zum testen ein Script gemacht, das listet alle aktiven Symbole im Marketwatch auf.
als Ergebnis bekomme ich dann
das passt ja auch bis auf die letzten 3, und die sind nicht fix, das werden mal mehr, mal weniger
hier dazu zur gleichen zeit genommen, der Market Watch
Баг компилятора. Вместо класса С он пытается найти класс с именем T:
Баг компилятора. Вместо класса С он пытается найти класс с именем T:
Есть несколько способов обхода данного дефекта:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Sergey Dzyublik, 2020.03.22 16:41
Баг MT5 (build 2366), ошибка компиляции при доступе к статическому методу класса, доступ к которому осуществляется через шаблонный тип аргумента функции.Есть несколько способов обхода данного дефекта:
Можно более просто: it.Opt::test(it);
Можно более просто: it.Opt::test(it);
Приводился именно этот вариант вызова, так как версию до этого он тоже не работал и выдавал ошибку компиляции:
...... _It::Opt opt; opt.test(it); // Ok ......До сих пор нельзя передать в качестве указателя метод класса. Это возможно только для функций.
Приходится через гланды делать, создавая такую функцию и уродливый обвес вокруг.
Есть какой-нибудь универсальный обход данного ограничения?