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
(599)
Projects
693
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
Dear Developer, I am looking to hire an experienced Meta Trader4 and 5 (MQL5) Expert Advisor developer to build a custom Expert Advisor for XAUUSD (Gold). This project is based on a structured swing trading system using market structure analysis and multi-timeframe confirmation. PROJECT OVERVIEW The Expert Advisor must be designed to trade XAUUSD using the following multi-timeframe approach: • Daily (D1): Optional
Requirements Specification: Custom Trading Robot (Expert Advisor) I am looking for a qualified developer to design and build a fully automated trading robot (Expert Advisor). The system should be reliable, beginner-friendly, and capable of running with minimal manual input once installed. 1. General Purpose The robot should automatically analyze the market and execute trades. It must work on MetaTrader 4 or
Hi, I need a professional MetaTrader 5 Expert Advisor (Pure MQL5, no Python) with a built-in GUI panel and ultra-fast OnTick execution. The strategy is based only on the last two digits after the decimal point and must work in real time with high accuracy. ### Main Requirements * Pure MQL5 Expert Advisor. * Real-time OnTick processing. * Support XAUUSD and any MT5 symbol. * No fixed price levels; price must be
I am looking for an experienced MQL5 developer to build a robust, high performance Expert advisor (EA) designed specifically for passing and managing funded accounts.The primary focus is to make some good money and also focus on risk management, consistent equity growth
Expert Advisor (EA) Requirements – MT5 (MQL5) Project Overview Develop an automated Expert Advisor (EA) for MetaTrader 5 based on EMA crossover signals combined with strict risk management and trade management principles. The EA must be optimized for Forex pairs and indices and should operate automatically without manual intervention. Entry Conditions Buy Setup Fast EMA crosses above Slow EMA. Current candle closes
I am in need of a profitable scalping EA for gold. No grid or martingale strategy pls. If you have one fully developed and working, pls reach out. You should be able to provide trial version
Simple MT5 indicator showing Friday close to Monday open gap on chart. Features: · Draw horizontal line at Friday close · Label showing gap size in pips · Toggle on/off
Hi. I have the statement of the Ea live results that I want to have. Please check this video from YouTube and the statement to see how the robot is working every day. I want a robot like this or better. The robot has 1-4% drawdown and 300-500% profit per month The robot works with ICMarkets Global 1:500 leverage and FPMarkets. The robot works between 10-30 minutes London session. Also the Robot can start trading from
MT5 Expert Advisor Development Project Overview I am looking for an experienced MQL5 developer to build a custom MetaTrader 5 Expert Advisor based on a grid-cycle trading framework. This is not a standard grid EA . The system combines: Session-based trade initiation Multi-filter signal generation Dynamic grid management Advanced basket management State-machine-driven trade lifecycle management Dynamic take-profit
I'm building a trading signal platform called Tradexa , focused on US30 and Nasdaq indices. For Phase 1, I need a developer to implement the signal-generation engine based on a detailed strategy document that I will provide. Requirements Multi-timeframe analysis (H4 → H1 → M15) Generate signals on M15 only when all strategy conditions are satisfied Detect liquidity sweeps Market structure shift (BOS/CHOCH) Retest

Project information

Budget
30 - 45 USD