A function to loop through open positions and make pairs of arrays of tickets then close each pair of array if greater than target profit

MQL4 Experts

Job finished

Execution time 6 minutes
Feedback from customer
very good!
Feedback from employee
Great customer! Thank you for the order!

Specification

This is for an MT4 EA.

I need a function to loop through all open positions and store them in arrays based on price levels.
Then from these arrays (i.e. @ price 1760 there are open orders and @ price 1770 there are open orders and so on).
I want to calculate the ongoing profit of pairs of 2 arrays (i.e. sell array i with buy array i+1     AND    buy array i with sell array i-1).
And if profit is greater than target, close orders of these pairs of arrays. Each array may contain more than 1 ticket and can go up to x tickets, and the function will close the arrays only if the pairs contain minimally an array in each level.
The function will loop through all the arrays crawling from initial price up and down.
An optional function can also close the pairs of arrays if the total tickets in these pairs are x (can be input).
Code is already written, but i currently have problem with :

void CalculateAndCloseOrderGroupsForBuyAndSell() {
    // Loop from the initial_index down to 1 (since i-1 sell for i=0 doesn't exist)
    for (int i = initial_index; i > 0; i--) {
        double totalProfit = 0.0;
        
        if (buyTicketCounts[i] > 0 && sellTicketCounts[i-1] > 0){
           // Calculate profit for all buy tickets at index i
           for (int j = 0; j < buyTicketCounts[i]; j++) {
               int ticket = buyTickets[i][j];
               totalProfit += ComputeProfitForOrder(ticket);
           }
   
           // Calculate profit for all sell tickets at index i-1
           for (int j = 0; j < sellTicketCounts[i - 1]; j++) {
               int ticket = sellTickets[i - 1][j];
               totalProfit += ComputeProfitForOrder(ticket);
           }
          }

        // If the combined profit meets or exceeds the target, close the tickets and remove them from arrays
        if (totalProfit >= profit_target) {
            // Close and remove buy tickets at index i
            for (int j = buyTicketCounts[i] - 1; j >= 0; j--) {
                CloseOrder(buyTickets[i][j]);
                // Shift tickets to remove the closed ticket from the array
                for (int k = j; k < buyTicketCounts[i] - 1; k++) {
                    buyTickets[i][k] = buyTickets[i][k + 1];
                }
                buyTicketCounts[i]--;
            }

            // Close and remove sell tickets at index i-1
            for (int j = sellTicketCounts[i - 1] - 1; j >= 0; j--) {
                CloseOrder(sellTickets[i - 1][j]);
                // Shift tickets to remove the closed ticket from the array
                for (int k = j; k < sellTicketCounts[i - 1] - 1; k++) {
                    sellTickets[i - 1][k] = sellTickets[i - 1][k + 1];
                }
                sellTicketCounts[i - 1]--;
            }

            Print("Closed and removed orders for buy zone ", i, " and sell zone ", i - 1, " with total profit: ", totalProfit);
        }
    }
}


it always gives me "out of array" error. I will give the whole set of code. the focus is to fix this part to overcome the "out of array" issue/ error.


Thank you.




Responded

1
Developer 1
Rating
(100)
Projects
125
23%
Arbitration
12
0% / 75%
Overdue
22
18%
Free
2
Developer 2
Rating
(72)
Projects
80
10%
Arbitration
38
8% / 58%
Overdue
6
8%
Free
3
Developer 3
Rating
(53)
Projects
91
52%
Arbitration
2
0% / 50%
Overdue
1
1%
Free
4
Developer 4
Rating
(23)
Projects
45
20%
Arbitration
25
28% / 48%
Overdue
12
27%
Free
5
Developer 5
Rating
(67)
Projects
97
35%
Arbitration
11
27% / 45%
Overdue
13
13%
Free
6
Developer 6
Rating
(566)
Projects
655
33%
Arbitration
41
41% / 46%
Overdue
11
2%
Busy
7
Developer 7
Rating
(6)
Projects
10
10%
Arbitration
9
0% / 89%
Overdue
1
10%
Free
8
Developer 8
Rating
(69)
Projects
146
34%
Arbitration
13
8% / 62%
Overdue
26
18%
Free
Published: 6 codes
9
Developer 9
Rating
(568)
Projects
641
41%
Arbitration
25
48% / 36%
Overdue
46
7%
Working
Similar orders
I need MT5 Expert Advisor (EA) Strategy: - Break of Structure (body close) - Retest - Confirmation (engulfing/rejection) Rules: - Max 2 trades per day - Risk: $50 - TP: 1:2 RR - SL: structure No martingale, no grid XAUUSD M30
Bring in your expertise for specific symbol Prepare expert for Live chart Creating .set for specific symbol Live Chart Optimization , symbol specific Everything is coded already therefore needs Implementations
I need an MT4-compatible Expert Advisor coded in MQL4 that applies a pure scalping approach. The robot must open and close positions quickly on XAUUSD, taking advantage of very small intraday price movements, with configurable parameters for lot size, maximum spread, take-profit. With the activation of repeated hedging and the feature to close trades at a specific percentage of profit or loss With chart monitor
I could have MetaTrader, NinjaTrader and TradingView project as well as some Automation and Apps development work. For them I require Russian developers. I have worked with many developers but from now I just would like to work with russians. Please apply on the project just Russian developers with mentioning their expertise Note: I do not understand Russian so communication need to do in English
Wisdom forex 30 - 200 USD
I need a bot that will trade to make profit without I losing money , selling when it's time for sell, buying when it's time for buying, manage our profile to gain a big asset
Due to price constraints, I am shifting what I would like. Would you be able to develop part of a strategy that automatically screens and selects stocks for trading? For example, screens for stocks up 20% with 500k volume for the day, and automatically begin trading them according to the strategy I already use. I use NinjaTrader to day trade my Interactive Brokers account and would like to add an automatic
Hello i need some to teach me step my step in an idiot terms and I will be willing to learn more and I am ready to pay for it any amount please if anyone can put me though i will be happy thank look forward to anyone responses
Hello traders, I am currently looking for a professional and experienced trading coach/mentor and would like to connect with individuals who offer structured coaching services. Before proceeding, I would appreciate clarity on the following: Your primary trading strategy (scalping, intraday, swing, or long-term investing) Markets you specialize in (Forex, crypto, indices, stocks, etc.) Availability of verified track
Hello traders, I am currently looking for a professional and experienced trading coach/mentor and would like to connect with individuals who offer structured coaching services. Before proceeding, I would appreciate clarity on the following: Your primary trading strategy (scalping, intraday, swing, or long-term investing) Markets you specialize in (Forex, crypto, indices, stocks, etc.) Availability of verified track
أحتاج إلى مبرمج محترف لبرمجة اكسبيرت تداول آلي لمنصة MetaTrader 5 يعمل على زوج الذهب XAUUSD فريم الدقيقة. الاستراتيجية المطلوبة: الدخول شراء عند تقاطع المتوسط المتحرك 10 مع 50 صعوداً + مؤشر RSI فوق مستوى 50. الدخول بيع عند التقاطع هبوطاً + مؤشر RSI تحت مستوى 50. إدارة رأس المال: اللوت 0.01 لكل 1000 دولار، وقف خسارة 100 نقطة، هدف ربح 200 نقطة، مع تريلنق ستوب يبدأ بعد 50 نقطة ربح. المطلوب: تسليم الكود مفتوح المصدر مع

Project information

Budget
30 - 45 USD