Have to pass array as reference, but it's a variable I cannot pass as reference?
I don't understand what you mean - can you provide the code that works and that with the error?
I'm not sure if I understand your problem, but you can easily pass volume array to a custom function in this way:
//+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- example(volume); //--- } void example(const long &volume[]) { }
Hi,
It compiles and I get no errors. Maybe reboot your system.
Carl Schreiber:
I don't understand what you mean - can you provide the code that works and that with the error?
There's no code that works, unfortunately.I don't understand what you mean - can you provide the code that works and that with the error?
Janusz Trojca:
I'm not sure if I understand your problem, but you can easily pass volume array to a custom function in this way:
That's what I'm doing right now, to no avail. I just get the error I mentioned.
Here's the abridged version...
double CustomFunction(int steps, long &volume[]) { (...) } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { (...) Buffer[i] = CustomFnction(11, volume); // 'volume' - constant variable cannot be passed as reference } return(rates_total); }
If I drop the & in CustomFunction, I get the "arrays are passed by reference only" error on top of the other one.
I think that you must define CustomFunction with "const":
double CustomFunction(int steps, const long &volume[])
Janusz Trojca:
...Yep, that was my oversight. Thanks a lot.I think that you must define CustomFunction with "const":

You are missing trading opportunities:
- Free trading apps
- Free Forex VPS for 24 hours
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Help me get out of this conundrum:
In OnCalculate, I wish to pass the volume[] array to a custom function. However, I get the comical situation above; the custom function asks for arrays to be passed as reference, and yet OnCalculate doesn't allow me to pass volume[] as reference because it's a constant (and I can't change that). Anyone has an idea?