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
(601)
Projects
695
33%
Arbitration
43
47% / 44%
Overdue
12
2%
Loaded
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
أحتاج إلى برنامج تداول آلي (EA) مربح للمضاربة السريعة على الذهب. لا أرغب في استخدام استراتيجيات الشبكة أو المارتينجال. إذا كان لديك برنامج متطور وجاهز للعمل، يُرجى التواصل معي. يجب أن تكون قادرًا على توفير نسخة تجريبية
I am looking for an experienced MQL5 developer to code a custom Expert Advisor for MetaTrader 5 based on my own private trading strategy.I have all the specific entry rules, exit conditions, and risk management parameters fully prepared. I will share these exact details with the selected developer via direct message once the job is initiated.The final delivery must include the clean, fully commented source code (.mq5
I have a bot working XAUUSD. Need another bot to work in XAUUSD as a stoploss @ 10 dollar per trade. A universal one which can work with or without magic number
I want a robot that executes round-the-clock trades on Gold, starting with a 0.01 lot size and increasing to 0.02 if the trade moves against the position. The first reinforcement (averaging) step should trigger after a $5 drop; then, the lot size should increase to 0.04 after another $5 drop, and to 0.08 after a further $5 drop. This doubling pattern should continue for every $5 movement up to a total range of $50
I am looking to hire a developer who has a good scalping EA for Gold. The bot must have been tested in a live market and the developer should be willing to send a demo for testing. Pls do not waste time if your EA has not been tested in a live market
I need to replicate the trade i take on prorealtime to mt5 The bridge must be designed to transfer my positions from ProRealtime to MetaTrader 5 on VPS PC. Opening the transaction in the ProRealtime , i must see automatically the same deal in myMetaTrader. Changing my stop orders in the ProRealtime should also change my orders in MetaTrader
Hello, I want to create a trading robot (Expert Advisor) for MetaTrader 5 (MT5). I am looking for a profitable trading strategy based on Technical Analysis indicators. The robot should have auto lot sizing, Stop Loss (SL), and Take Profit (TP) features. Please share your available strategies and cost. Thanks
Hello Developers, I am looking for an experienced developer to build a high-quality, professional automated trading bot for the Quotex binary options platform. The bot must be fully automated and strictly follow a Non-Martingale (Non-MTG) strategy. ### Key Requirements: * Platform: Quotex (Binary Options). * Strategy Type: Strictly Non-Martingale (No double lots, no loss-recovery multiplication). * Money Management
I have a High-Frequency Trading (HFT) Expert Advisor for both MT4 and MT5 . The EA performs consistently and profitably on demo accounts , but when I run it on an IC Markets Raw and standard live account , it begins generating losses under what appear to be the same trading conditions. if needed i can provide Full EA source code (.mq4 and/or .mq5) and Set file. I need an experienced MQL4/MQL5 developer to thoroughly
I will pay 3000+ USD (negotiable) for an EA for existing MT5 that generates a minimum of 5% or higher a month consistently Please send demo version with optimal settings so I can test, if it performs in a strategy tester i will also need option to forward test it in a demo account. You will provide me with the.ex5 file with an expiration of 1 week, so that I can test the EA first on demo account. Developer should be

Project information

Budget
30 - 45 USD