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 Uzmanlar

İş tamamlandı

Tamamlanma süresi: 6 dakika
Müşteri tarafından geri bildirim
very good!
Geliştirici tarafından geri bildirim
Great customer! Thank you for the order!

Şartname

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.




Yanıtlandı

1
Geliştirici 1
Derecelendirme
(100)
Projeler
125
23%
Arabuluculuk
12
0% / 75%
Süresi dolmuş
22
18%
Serbest
2
Geliştirici 2
Derecelendirme
(72)
Projeler
80
10%
Arabuluculuk
38
8% / 58%
Süresi dolmuş
6
8%
Serbest
3
Geliştirici 3
Derecelendirme
(53)
Projeler
91
52%
Arabuluculuk
2
0% / 50%
Süresi dolmuş
1
1%
Serbest
4
Geliştirici 4
Derecelendirme
(23)
Projeler
45
20%
Arabuluculuk
25
28% / 48%
Süresi dolmuş
12
27%
Serbest
5
Geliştirici 5
Derecelendirme
(67)
Projeler
97
35%
Arabuluculuk
11
27% / 45%
Süresi dolmuş
13
13%
Serbest
6
Geliştirici 6
Derecelendirme
(596)
Projeler
687
33%
Arabuluculuk
42
45% / 45%
Süresi dolmuş
12
2%
Meşgul
7
Geliştirici 7
Derecelendirme
(6)
Projeler
10
10%
Arabuluculuk
9
0% / 89%
Süresi dolmuş
1
10%
Serbest
8
Geliştirici 8
Derecelendirme
(69)
Projeler
146
34%
Arabuluculuk
13
8% / 62%
Süresi dolmuş
26
18%
Serbest
Yayınlandı: 6 kod
9
Geliştirici 9
Derecelendirme
(568)
Projeler
641
41%
Arabuluculuk
25
48% / 36%
Süresi dolmuş
46
7%
Çalışıyor
Benzer siparişler
//+------------------------------------------------------------------+ //| Simple XAUUSD EA | //+------------------------------------------------------------------+ input double LotSize = 0.01; input int StopLoss = 500; // in points input int TakeProfit = 1000; // in points input int MAPeriod = 20; int maHandle; int OnInit() { maHandle = iMA(_Symbol, PERIOD_H1, MAPeriod, 0, MODE_SMA
Hello, I need a Python-based MT5 forex trading bot developed. The bot should connect to MetaTrader 5, execute trades based on a predefined strategy, and support standard risk management features such as stop loss, take profit, and position sizing. Requirements: MT5 integration using Python Automated trade execution based on provided strategy rules Configurable risk management settings Support for major forex pairs
Hi, I'm Barak, founder of FX Trade Africa, a trading automation company based in Africa. I'm looking for a serious EA developer for a long-term business partnership — not a one-time paid job. IMPORTANT: This is not a paid order. I am looking for a long-term partner who believes in the model and wants to build something serious together. Compensation will be based on profit sharing from funded accounts — details
### ** Main EA File** - `InstitutionalTrendPullbackScalper.mq5` **Core Features Implemented:** **Multi-Timeframe Analysis** - M15 trend filter (EMA20 > EMA50 for uptrends) - M5 entry signals with 5-condition confirmation - Independent indicator sets for both symbols **Advanced Entry Logic** - RSI reversal detection (crosses thresholds) - Price pullback zone validation - Bullish/bearish candle close confirmation -
I need developer who Can perfectly build me a layout of Ninjatrader 8 (NT8) to look and feel the same on SierraCharts? I currently use NT8 but I want to start using SierraCharts because its more robust than NT8, but I don't want to have to worry about programming SierraCharts. How much would this cost? Thank you
Automate my trading 100 - 300 USD
i want a trading bot that take trade auto and make 5% profit daily and stop with in 24 hours not more then that at least the bot give me more then 2% not less then that like a ai agent if it make any loss that agent have to take care of it i need only 5 % profit
I am looking for an EA for MT5 which is stable for long period. should make minimum 20% per month and DD should be less than 10% first send me your backtest reports for last 5 years with real ticks. budget is negotiable based on the quality of the EA. source code should be delivered at the end. Please dont apply without sending backtest report as mentioned above, in other case offers would be rejected
I do not have any startegy, and I want you to create one with your experience, you will provide me EA along with source code. you may use Grid or any logic, but the EA should keep generating profit during Newyourk and Asian session
I am looking for an experienced MQL5 developer to build a professional-grade Expert Advisor (EA) for MetaTrader 5. The strategy is based on liquidity sweeps, market structure (Break of Structure), and institutional concepts (order blocks), specifically optimized for XAUUSD (Gold). This is not a basic bot. I need a structured, optimized, and reliable system suitable for live trading after testing
I need an Ai trading bot for Binance and BTC on MT5 that also uses order flow data. It should also make use of TSI- Temporal indicator sampling and also it should make use of fundamental analysis in the process of signal generation

Proje bilgisi

Bütçe
30 - 45 USD