Похожее возможно. До 64 параметров можно передать в функцию.
А произвольных типов для всех аргументов добиться можно только перегрузкой? То есть чтобы в функцию можно было передать не только string, но и double, например. string s = Concatenate("abc",2.0,"def");
А произвольных типов для всех аргументов добиться можно только перегрузкой? То есть чтобы в функцию можно было передать не только string, но и double, например. string s = Concatenate("abc",2.0,"def");
voidOnStart()
{
//string s1=Foo("5"); // Это теперь ошибка. Компилятор не знаек какой функцией из двух пользоватьсяstring s2=Foo("5",3.0);
// string s=Foo(,"5"); // Ошибка
}
//+------------------------------------------------------------------+string Foo(string i0="", string i1="", string i2="")
{
string rez=i0+i1+i2;
return rez;
}
string Foo(string i0="", double i1=2.0, string i2="")
{
string rez;
if (i1>2.0) {rez=i0+i2;} else rez=i0+"99"+i2;
return rez;
}
Здравствуйте. После обновления билда MT5, индикатор перестал нормально отображаться в тестере, в самом терминале отображается нормально. Индикатор довольно сложный и ресурсоемкий (ZUP), перевожу его с MT4 на MT5. В тестере Билд 756 линия ЗигЗаг отображется нормально, в тестерах после Билда 770 - значения цены ЗигЗага верные, а таймфреймы не корректные (сдвинуты, причем не равномерно) ZigZag -выходной буффер. При этом графические объекты (треугольники, линии и тп, которые кстати строятся на основании данных выходных буфферов (в том числе и ZigZag)) отображаются нормально. Помогите, пожалуйста разобраться.
Можно ли в MQL5 написать функцию с переменным числом параметров? Например, как в StringConcatenate(...) или Print(...)?
Можно ли в MQL5 написать функцию с переменным числом параметров? Например, как в StringConcatenate(...) или Print(...)?
Например можно параметром сделать массив размер которого будет равен количеству ваших параметров.
Интересует именно переменное число параметров как в StringConcatenate. Вроде такого: string Concatenate(string s, ...); Возможно такое?
Похожее возможно. До 64 параметров можно передать в функцию.
Похожее возможно. До 64 параметров можно передать в функцию.
А произвольных типов для всех аргументов добиться можно только перегрузкой? То есть чтобы в функцию можно было передать не только string, но и double, например. string s = Concatenate("abc",2.0,"def");
А произвольных типов для всех аргументов добиться можно только перегрузкой? То есть чтобы в функцию можно было передать не только string, но и double, например. string s = Concatenate("abc",2.0,"def");
В индикаторе, при переключении ТФ, статические переменные инициализируются.
Так и должно быть?
В индикаторе, при переключении ТФ, статические переменные инициализируются.
Так и должно быть?
Да, так как согласно разделу Выполнение программ индикаторы при смене символа / таймфрейма всегда создаются заново:
Загрузка и выгрузка индикаторов
Индикаторы загружаются в следующих случаях: