проверка передачи параметров ny ссылка:
int res1 func(int& res2, другие параметры...)
Я имею в виду y=3
Все еще похоже, что возвращается только один результат - "3"
return(3);
?
просто найдите передачу параметров по ссылке в справке mql4:
Вообще передача по ссылке означает, что вы передаете фактическую переменную в функцию извне (используя &) и можете изменить ее значение внутри функции, и эта переменная будет все еще там, когда вы вернетесь из вызова.
Таким образом, переменной int x присваивается значение 0.
внутри функции вы устанавливаете x=5
когда вы возвращаетесь из функции, x=5, как было установлено функцией, таким образом, вы получили второй результат от функции, не возвращая 2 результата.
функции никогда не возвращают два результата, только один.
Хорошо, спасибо, irusoh1
Что отсутствует в объяснении irusoh1, так это то, что переменная должна быть массивом(ами). И, скорее, возврат не играет роли в заполнении/модификации массивов, а вместо этого изменяет их непосредственно по мере необходимости.
int Xarray[]; int Yarray[]; void Fun2result(int& Array[], int& Brray[], int pos) { Array[pos] = 2 + pos; Brray[pos] = 5 + pos; } int start() { for(i=Bars-1; i>=0; i--) Fun2result(Xarray, Yarray, i); }
Удачи.
не обязательно должен быть массивом
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Мне нужно вернуть 2 результата из одной функции. Я могу разделить их и создать одну функцию для каждого нужного мне результата, но это намного больше кода и усложняет другие вещи. Возможно ли это в MT4?