Spécifications
I need someone to help me modify the code; the EA has a problem and needs fixing.
I believe EA encountered "Return Codes of the Trade Server," which sometimes prevented it from opening orders, and it will not try again.
Problem: Return Codes of the Trade Server (10004 to10046)
https://www.mql5.com/en/docs/constants/errorswarnings/enum_trade_return_codes
price comment Price_Points_Steps
5181.399 1772617140-0 0
5186.119 1772617140-1 4000
5193.933 1772617140-2 8000
5202.292 1772617140-3 8000
5183.194 1772617140-4 -16000
5199.080 1772617140-5 16000 CURRENT STEP
5175. 1772617140-24000 NEXT STEP
5175.08 is 1772617140-6, but no sell order has been opened. Why? It's currently at 5069.
The above is one example of a failed attempt.
The fundamental problem is...
EA sometimes fails to open at a certain step.
Therefore, the following needs to be added.
Adding this feature isn't to suggest your Expert Advisor (EA) has a problem, but rather to prevent issues.
Please add the following logic to handle unexpected situations:
If the EA opens a position, it checks if the position opening status has failed. If it has, it checks again if the opening conditions are met. If so, it opens the position. The purpose is to prevent potential position opening failures from hindering subsequent trading.
If the EA closes a position, it checks if the closing status has failed. If it has, it checks again if the order closing conditions are met. If so, it closes the order. The purpose is to prevent positions from being held for too long or hindering subsequent trading due to failed closing.
The scenario is closing the EA.
After the EA closes all orders, it checks if the closing status has failed, then closes the EA. If so, the EA closes all orders again. The purpose is to prevent positions from being held indefinitely due to failed closing.
However, in most cases, EAs can enable step 6 (random), while in a small number they cannot, leading to significant account losses.
However, in most cases, EAs can enable step 8 (random), while in a small number they cannot, leading to significant account losses.
However, in most cases, EAs can enable step 4 (random), while in a small number they cannot, leading to significant account losses.
----------------------------------------------
Modification 9:
Adding this feature isn't to suggest your Expert Advisor (EA) has a problem, but rather to prevent issues.
Please add the following logic to handle unexpected situations:
If the EA opens a position, it checks if the position opening status has failed. If it has, it checks again if the opening conditions are met. If so, it opens the position. The purpose is to prevent potential position opening failures from hindering subsequent trading.
If the EA closes a position, it checks if the closing status has failed. If it has, it checks again if the order closing conditions are met. If so, it closes the order. The purpose is to prevent positions from being held for too long or hindering subsequent trading due to failed closing.
The scenario is closing the EA.
After the EA closes all orders, it checks if the closing status has failed, then closes the EA. If so, the EA closes all orders again. The purpose is to prevent positions from being held indefinitely due to failed closing.
Remark: EA logic
-----------------------------------------------------------------------------------------------------------
Modification 10:
int NumRetry = 1;
I saw the AI say that this code doesn't re-check the order opening conditions, but instead blindly opens a position.
If so, please remove it for me. This code is completely useless and a trap. Even without it, EA will loop back and re-check the order opening conditions before opening a position. One blind opening is unnecessary.
because NumRetry = 1;
The account was not liquidated because it did not enter the market at nearly the same price level.
because NumRetry = 999999;
The account was liquidated because it entered the market at nearly the same price level.
Remark: EA logic
-----------------------------------------------------------------------------------------------------------
Modification 11:
If you do your best to help me identify and correct all the potential risks in the EA, I will add $100 as extra pay for your work.
Remark: Potential risks