Modification of EA and fix some bugs

MQL5 Indicators Experts

Job finished

Execution time 19 days
Feedback from customer
Igor is smart, and software is his thing. He spent days and hours in this business. Even at 3, 4, 5 o'clock at night. Patience may be the right word to describe itself. Thanks.
Feedback from employee
Thanks for task, it was interesting! Wish you all the best!

Specification

Hello Everyone,

I want to make additional additions to the EA I use in my current hand. If it is possible.
Main plugins i want: An add-on to TrailingStop and take profit in case of multi-robot (EA) usage. And minor fixes.
The explanations may be long, to be more descriptive, but I am definitely not talking about a complicated plugin.

Avaliable features - Exists:
--------------------------------
* When the number of positions increases, the following is also increased: step between positions, lot size, take profit (martingale)

With the increase in the number of positions:
the step between positions is increased;
the distance of take profit is increased.
If a signal emerges and the number of positions is equal to the limit, one more position is opened and at the next bar (if there is a signal to open a position)
the most losing position is closed.
Protection of profit: if protection is allowed and the total profit of all positions is greater than the specified value,
as well as the number of positions is greater than or equal to the protected amount, the most profitable position is closed.
For example, we have a total profit of $52 and four open positions. The protected amount is set to "3". So we can close one position,
thus trying to keep a minimum of three positions always open.

This EA's current Input Parameters; (Exists)
** Lots (if <= "0" -> "Risk" is used) - position volume (if <= "0.0", lot "Risk" parameter will be calculated audibly); >>>>Available and used.
** Stop Loss (in pips) - Stop Loss value; >>>>Available and used.
** Take Profit (in pips) - Take profit value; >>>>Available and used.
** Trailing Stop (in pips) - trailing value; >>>>Available and used.
** Trailing Step (min value == 1) (in pip) - trailing step value; >>>>Available and used.
** Percentage risk for a free margin deal - risk per trade as a percentage of free margin; >>>>Available and used.
** Maximum open quotes - the maximum number of open positions (eg = 5) as well as the maximum one-way open position limitation (eg = 3) (Buy or Sell); >>>>Available and used.
** Interval between positions - the distance between positions; (must be in bars.) >>> >>>>Available and used. (it is not working right now.)
** Coefficient interval between positions - multiplier for the step between positions; >>>>Available and used.
** Coefficient Take profit - multiplier for the Take Profit step; >>>>Available and used.
** Min profit. Close max profit position - minimum profit, at which the most profitable position will be closed; >>>>Available and used.
** Account protection. If "true" -> closes max profit position - maintains profit at which the most profitable position will be closed; >>>>Available and used.
** If "account protection" = "true" then number of items open - number of locations to protect; >>>>Available and used.
** Reverse case - reversal signals;  >>>>Available and used. (You can remove this part. I don't need Reverse Signal.)
** Max volume of position - maximum allowed position volume; >>>>Available and used.
** Lot coefficient - lot multiplier, the more open positions exist, the greater lot multiplier will be. >>>>Available and used.
** BenefitK. I have added it. (Maybe in need of some regulation)   >>>>Available and used.
These are Okay.
----------------------------------------------------------------------------------------------------------------------
The Original EA is here: >>>  https://www.mql5.com/en/code/19598. ( I transformed from this orginal EA )

I changed the ZeroLag indicator and just added the MACD Average Signal Line instead.
The indicator i used here: >>>  https://www.mql5.com/en/code/20242


----------------------------------------------------------------------------------------------------------------------

In addition i want;

----------------------------------------------------------------------------------------------------------------------
1-)
The current Classic Trailing Stop and Follow-Up Step is ok. With the additional add-on I want,
after the position is taken to the ground and the classic Trailing Stop is activated,
the following Stop will approach the price as much as the value determined by the input, as well as the value of xx bars (eg = 7 bars).
Let's call this additional plugin BarStep.
Let's call the Bar number to wait after Trailing Stop is activated, Bar
Stop. In this example;
BarStop = 7 Bars
BarStep = 15 points
If I will explain over the sample values ​​here. After Trailing Stop is activated, 7 bars will be expected, nothing will happen.
Meanwhile, only normal Trailing Stop and Trailing Step will be active and will work normally.
After 7 bars, the Trailing Stop level will approach the price by 15 point s at each new bar. (eg BarStep = 15 point s)
The logic here after waiting for a certain period of time (time = bar) and the next stop gets smaller depending on the time (time = bar) and gets smaller with each bar.
Also, keep TralinStep active with the addition of this plugin. Let it run normally.
Both the following step and the Confirmation Step depend on the checkmark. It would be great if that way was possible.
With the Srtategy tester I can optimize and update the values ​​here.
Let's add True - False to this addition. If it doesn't give very good results, let it be disabled. Or if Int BarStep = 0 it means false.
However, in this case, standard Trailing Stop, Trailing step will be active.
Illustrative example:
--------------------
Current price (Example: after 7 bars) = 1.20350 >>> Profit = 350 point s, Guaranteed Profit = 50. (because it is in 50 interval >> 330 - 380 between)
Trailing Stop: 280 pips (1,20050)
Trailing Step: 50
The parameter I want is a new property and name it BarStep = 15 (for example)
Let's assume the price is fixed: 1.20350
8th Bar>> Trailing Stop: 280-15 = 265 points (1,20065) (15 point s slipped up)
9th Bar >> Trailing Stop: 245-15 = 210 pips (1.20080) (15 point s slipped up)
10.Bar>> Trailing Stop: 210-15 = 175 pips (1.20095) (15 point s slipped up)
15. Bar>> Trailing Stop: 175 -15 * 5 = 0 pips (1.20170) (75 point s slipped up)

2-) If this newly modified EA is used at the same time, for example 2 different symbols and 4 different time parameters;
Feature of Multicurrency.
For example: EURUSD 1H, EURUSD 30M, USDCAD 2H and USDCAD 15M (I usually work on 5-digit symbols.)
If the profit of the total calculation for all robots (EA) reaches the level of all = 1000 point s (xxx point s),
then the most profitable xx position (i.e. = 3) and the most losing position (e.g. = 2) I want it to be closed.
It should have the option True-False or it can also mean false (if the value = 0). // --- You can add a comment. It does not matter.
I do not know if 1000 point s are correct logic here. I don't know if point s can be collected in different symbols.
Perhaps instead of fulfilling the requirement to reach 1000 point , a condition of reaching a specified percentage of the Eqquity or balance can also be created.
This part depends on the software developer's decision. (Let me repeat that I usually work on 5-digit symbols.) I didn't know which one would be correct.
Of course a robot takes care of its own trades, usually opening its own trades, closing its own trades. An additional feature I mentioned.
In other words, this new EA I want will be able to intervene in the positions of other robots, regardless of MagicNumber and ticketNumber, when a special requirement is met.
In order for this feature to be added, in addition to 1 special magic number for each new position, the second universal can have an identical magic number!
I think it can be solved this way.

3-) I mentioned above. In addition to the open position limitation as well as the maximum one-way open position limitation (eg = 3) (Buy or Sell)
Total position two way can be xx ( eg = 5 ) but one way positions must be xx ( eg = 3 )

4-) If the profit of open positions reaches the limit of > 0 and for example 600 point s (xxx point ),
I want the feature to then the most profitable xx position (i.e. = 2) and the most losing position (e.g. = 1) I want it to be closed.
for this 1 EA's 1 symbol's magicNumber and this EA robot. And must be True-False options or if value equals = o it is false. (// --- You can add a comment.)
There is this part, but it actually means that the existing benefitK is modified with the eyes of the programmer.

5-) There is an active feature currently in use; (it is some similar to item 4)
"If a signal emerges and the number of positions is equal to the limit, one more position is opened and at the next bar (if there is a signal to open a position)
the most losing position is closed."
I want to change this feature like that;
If a signal emerges and the number of positions is equal to the one-way limit, one more position is opened and at the next bar (if there is a signal to open a position)
the most losing position is closed and with this most benefit position is closed if any.
This the most losing position is closed. ok. But most benefit position is closed if any. Let's add true - Fals to this section, please.

6-) Slippage value is true i dont know! How much must it be? i cant know abut it.
And digit problem; Actually it is seem normal. But there are a problem. i fixed it some like just as follows.
// --- tuning for 3 or 5 digits
   int digits_adjust = 1;
   if (m_symbol.Digits () == 3 || m_symbol.Digits () == 5)
      digits_adjust = 1; <<<<<<(( Originally this number is 10. EURUSD doesn't work properly if you don't set it to == 1 ))
                                  
   m_adjusted_point = m_symbol.Point () * digits_adjust;

   ExtStopLoss = InpStopLoss * m_adjusted_point;
   ExtTakeProfit = InpTakeProfit * m_adjusted_point;
   ExtTrailingStop = InpTrailingStop * m_adjusted_point;
   ExtTrailingStep = InpTrailingStep * m_adjusted_point;
   ExtIntervalPositions = InpIntervalPositions * m_adjusted_point * 10; <<< ((EURUSD doesn't work properly if you don't set == 10 here. İf here 10 everything is ok.))

Can you fix this part please. Because it is not working right.

SL TP lots etc. must work truely in 5 digit symbols. At the same time on 3 digits.

7-) And it constantly opens selling positions. I did not understand the reason for this either. I changed the conditions.
Again, the situation has not changed. I wrote the simple conditions again. The same EA: 174 sell, 14 buy !!! (15M, 10M, 5M) in 15 days.
I don't see anything strange when I examine it. I have examined the Buy-Sell conditions again, it seems like there is no mistake!
Moreover, everything is normal in the strategy test.
I would be glad if you can also look at this topic.

----------------------------------------------------------------------------------------------------------------

You Please submit the final and edited version of the EA file with its open codes, after testing and checking.
Of course, I'll have to retest on the demo account later.

Thank you, and good luck with.

Files:

MQ5
Macd_Av03.mq5
130.5 Kb
MQ5
MSRoC.mq5
5.0 Kb
PNG
Sample01.PNG
200.5 Kb
PNG
Sample02.PNG
47.3 Kb

Responded

1
Developer 1
Rating
(34)
Projects
48
21%
Arbitration
6
83% / 17%
Overdue
8
17%
Free
2
Developer 2
Rating
(174)
Projects
200
12%
Arbitration
39
38% / 33%
Overdue
5
3%
Free
Published: 2 codes
3
Developer 3
Rating
(258)
Projects
267
30%
Arbitration
0
Overdue
3
1%
Working
Published: 2 codes
4
Developer 4
Rating
(14)
Projects
19
11%
Arbitration
1
0% / 100%
Overdue
5
26%
Free
5
Developer 5
Rating
(7)
Projects
15
33%
Arbitration
4
0% / 25%
Overdue
3
20%
Free
6
Developer 6
Rating
(45)
Projects
91
13%
Arbitration
34
26% / 59%
Overdue
37
41%
Free
7
Developer 7
Rating
(202)
Projects
263
22%
Arbitration
23
52% / 17%
Overdue
0
Loaded
Similar orders
Looking for a programmer with good experience who can build a multi pairs EA to manage my all trades either open manually , remotely or by any other EA. This EA will work on all pairs when load it on any one chart. This EA will open either 1 ,2 or 3 trades with same lot & same SL but different TPs . EA will move the SL to entry price as soon trade 1 TP hits. 3 types of alerts requied with information ( notification
Hi everyone, I am looking for a commercially available MT5 Expert Advisor for trading Forex or CFD instruments. It does not need to work across every symbol; a system specialized in one or a few suitable Forex pairs, indices, or metals is perfectly acceptable. My main requirements are: Target historical annual return of approximately 10 0–300%+ , depending on the selected risk level Maximum equity drawdown of
Ho everyone I'm looking for an Expert advisors which Will produce at least 100-300% per year on the Forex CFD market. Every operation has ti have TP and SL, the maximum drawdown 20%. It doesn't necessarily have to work on every asset of course. Alright, that's all, let's see of something comes up. Budget is between 50 and 100 usd
i need a binary option trading indicator that does not repaint, i dont care the strategy i just need it to be non repaint . send a test version i will test for 2 days, my budget is $50
i want a deriv synthetic trading ea that can make 100% profit each day. i dont mind if its aggressive and uses martingale and grid. send a 48hours trial version so i can test my budget to buy ea is $50-100 if ea is good i will buy right away no delays. let me know how much capital your bot uses and what instrument it works on and timeframe and also setfiles. ultrathink. dont wast your time and apply if but cant make
I want to build a fundamental news trading bot that trade off economic news data, as we know every economic news data released always have effect on the asset associated with it, so this bot will take a trade instantly based on the news data released either to buy or sell, it will come with good money management and also SL and TP target based on price and pips value
I have a EA/indicator that I want built. I should say 1st off dont know how to code myself so I will be using AI to verify that the source code is complete and matches the documents spec or if better so if you can not truly do the job do not waste either of out time. This is a idea I came.up wit and used AI to produce a framework for it.... and of course AI isn't 100% accurate so I need a knowledgeable quantitative
Specification : 1. Goal I am commissioning a mean-reversion grid Expert Advisor for XAUUSD on MT5. The deliverable is the complete, commented .mq5 source (strictly personal usel). Offers limited to compiled .ex5 will not be considered. 2. Required framework (non-negotiable) 2.1. Works natively on M5; signals evaluated on closed bars; symmetric long/short. 2.2. Entry logic built on Bollinger Bands + Moving Average
TumiiFX 30 - 20000 USD
1. Use two EMAs: 20 and 50. If EMA 20 is above EMA 50 → uptrend (look for buys) If EMA 20 is below EMA 50 → downtrend (look for sells) 2. Wait for a pullback into the area between the two EMAs. - For buys: price must touch or move between EMA 20 and EMA 50 during the last few candles. - For stils: same idea, but in a downtrend. 3. Entry signal: Buy: a bullish engulfing candle in an uptrend after the pullback
I am looking for an experienced MQL4 developer to build a professional High-Frequency Trading (HFT) / Low-Latency Expert Advisor for MetaTrader 4 (MT4) . The EA will be deployed on an IC Markets Live account and should be optimized for the fastest possible execution using a low-latency VPS located in LD4 or NY4 . The primary instruments will be US30 and XAUUSD (Gold) . The goal is to create an EA capable of

Project information

Budget
100 - 200 USD
Deadline
to 7 day(s)