You are missing trading opportunities:
- Free trading apps
- 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
Faster.
It does the same thing - it returns the function value. But it also makes checks beforehand.
Inside the function itself there are also checks for passed value of symbol name, and from it - either "if a simple string parameter instead of Symbol(), _Symbol or NULL, then checks for the full program and more property request", or uses values of the current symbol from cache without additional checks.
Why do you do them once again and still claim that it speeds up data retrieval? I do not understand the logic of such reasoning.
By the way, I always do so in my functions, but I don't think it somehow speeds up data retrieval, but rather slows it down because of checks of passed symbol name value in my function.
Why do you do them again, and yet you claim it speeds up the data?
You yourself quoted the explanation.
Symbol(), _Symbol entries are equivalent to NULL (where NULL is allowed instead of symbol name)
Is it the same in MT4? And in MT5 Tester what about it?
By the way, I always do this in my functions
Show me please.
You yourself quoted the explanation.
Exactly - it's all done inside the regular function. Why duplicate it on the outside as well?
Exactly - it's all done inside the regular function. Why duplicate it on the outside as well?
Then you have not understood the explanation. The speed of the two calls is different.
Please show me.
All the functions and methods where this is done with me?
There are too many of them.
All the functions and methods where I do so?
One is enough.
Then you have not understood the explanation. The speed of the two calls is different.
I seem to have understood it all. Of course it's different. So how did you speed it up? You pass a value that is not the current symbol to the function in one case - if it is not_Symbol.
Here, in the case when you pass the above value to the function, the function does not perform checks and takes the value of the current symbol from the cache.
In other cases, it queries the data of the specified symbol with the check "full program" + its presence in the market overview. Your "fast" function does not get rid of these checks when requesting data from a non-native symbol. So where is the acceleration?
Only two options in your function when called if(SymbolInfoTickFast(Symbol(), tick_array)) {}
Another thing, if you (in your habit of defining everything that moves) create a string variable for the current symbol, then yes - you have to do checks here and replace your macro substitution with a predefined variable, or call Symbol()
How did you speed it up?