Your user profile says you have 6 years of professional coding experience.
If that's true, then you should understand exactly how trivial this problem is to resolve.
Convert the price to a string.
Loop through the substring positions of the price string by 1 position at a time.
Assign that value from the position into the corresponding array position.
You should be able to do it in 5 lines of code or less.
There are other ways to do it as well....
Thanks
Hello,
How to convert any price from this style xxx.xxx to numbers in the array?
I want to convert this steps into a mql4 code ???
for EX: the price is 1.25245
1- price/Point; ==> 125245 (done)
2- 125245 ==> array {1,2,5,2,4,5} (need from this step)
3- 1+2+5+2+4+5 = 19
4- 19 = 1+9 = 10
5- 10 = 1+0 = 1
6- 1.25245 = 1
we converting any price to number from 1 to 9
Thanks
No need for array, if what you look is the sum of digits.
void OnStart()
{
double price=1.25245;
Print(SumOfDigits(price));
}
int SumOfDigits(double price)
{
int p=DoubleToString(price/_Point);
return (p==0 ? 0 : p%9==0 ? 9 : p%9);
}
No need for array, if what you look is the sum of digits.
yes,
Very thanks
you asked for an array.
The following code will take a price and place it into an array, using the StringSplit() function.
All of your data is in the temp[] array.
There are NUMEROUS methods you can use to do it.
The goal for OP was to get the sum of digits of price into one digit. For this, there is no need for array.
Yes U are right.
1.25245 = 1
recursion will help
void OnStart() { double price = 1.25245; uint N=Num((uint)fabs(round(price/_Point))); Print(string(N)); } uint Num(uint x) { uint s=0; while(x!=0) {s+=x%10; x=int(x/10);} if (s>9) s=Num(s); return(s); }
recursion will help
yes it will help
thanks
No need for array, if what you look is the sum of digits.
return (p==0 ? 0 : p%9==0 ? 9 : p%9);
Brilliantly!
Your variant is much better than mine.
I did not understand at once. :))
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello,
How to convert any price from this style xxx.xxx to numbers in the array?
I want to convert this steps into a mql4 code ???
for EX: the price is 1.25245
1- price/Point; ==> 125245 (done)
2- 125245 ==> array {1,2,5,2,4,5} (need from this step)
3- 1+2+5+2+4+5 = 19
4- 19 = 1+9 = 10
5- 10 = 1+0 = 1
6- 1.25245 = 1
we converting any price to number from 1 to 9
Thanks