Возврат значений из "подпрограмм"

 
У меня вдруг возникла проблема - не могу из void вернуть значения. Может какой модификатор при описании переменных в описании функции надо использовать?
(Вставлял отладочную печать - как было значение до вызова void, так и осталось, а в описании mql4 про "возврат значений" NULL. Специально пишу VOID, чтобы особо умные не говорили "вставь return(...)").

Я конечно нашел временный выход через глобальные переменные, но это, ИМХО, - моветон!
 
Из словаря:

Существует возможность передавать параметры по ссылке. В этом случае модификация таких параметров отразится на соответствующих переменных в вызываемой функции, переданных по ссылке. Для того чтобы указать, что параметр передается по ссылке, после типа данных необходимо поставить модификатор &.

Пример:

void func(int& x, double& y, double& z[])
{
...
}

Причина обращения: