double indexmap[][2]; int rows=YourNumberOfDataRows; ArrayResize(indexmap,rows); for(int i=0; i<rows; i++) { indexmap[i][0]=ProfitOfRow(i); indexmap[i][1]=i; } //--- sorting of indexmap[][] by first dimension (descending) ArraySort(indexmap,WHOLE_ARRAY,0,MODE_DESCEND); //--- indexmap is now sorted by profit, descending, together with index, like so: [198.34, 5], [100.04, 2], ... for(int j=0; j<rows; j++) { double profit=indexmap[j][0]; int i=(int)indexmap[j][1]; color c=(profit<0 ? clrRed : clrGreen); PrintDataRow(i,c); // print row i of the data, using color c }See also ArraySort in MQL4 reference for a sample and more information. https://docs.mql4.com/array/arraysort
Thank you very much.
I tried your code and MT4 took a long time to load or not even loaded.
BY the way I have Pair[] and Profit[] to hold pair and profit values.
XIn Li:
Show all of your code here if it does not appear to work correctly for you.
Thank you very much.
I tried your code and MT4 took a long time to load or not even loaded.
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
Say I have follow data
Nr. B/S Pair Profit
1 Buy EURUSD -90.12
2. Sell USDJPY 100.04
3. Sell AUDUSD -100.12
4. Buy GBPUSD -123.34
5. Sell CADJPY 198.34
How do I use array and sort them by profit in descending order and display positive profit in green and negative in red as below:
Nr. B/S Pair Profit
1. Sell CADJPY 198.34
2. Sell USDJPY 100.04
3. Buy EURUSD -90.12
4. Sell AUDUSD -100.12
5. Buy GBPUSD -123.34
Thanks in advance.