작업 종료됨
명시
I have an EA that trade ‘basket’ of 3 pairs. Current settings require for manual to set certain options and I would like to automate this process by adding couple of options listed below: Please note that this EA was programmed few years ago and under new MT4 build, it gives compiling warning; return value of “OrderSelected” should be checked & ‘return value of ‘OrderClose” should be check. I would like to have this corrected, so when EA is done, I see no warning after compile the code.
Current EA is working without any issues and all options function like it always been even after modification. Some of the code to be added in this EA requires to have Global Variable settings, thus, I want to make sure all code is correct and there’s no issues. Especially start the new Basket Cycles when it supposed to be hibernate (no new trades).
1. Add “AutoBskDirectionFinder” option to current EA. Currently, EA is set by manually input Buy or Sell order : // "Direction" inputs: 0 = Buy, 1 = Sell, Other Number = Do not trade. I want an option for EA to find the direction automatically if it is enabled by EMA:
Example: Scan all 3 Pairs. If 2 or 3 pairs’ Closed Price> xx EMA on xx TF, Basket Direction = UP. In this case, OP_BUY order for all 3 pairs at the same time. If 2 or 3 pairs’ Closed Price < EMA, Basket Direction = DN, thus, OP_SELL order for all 3 pairs at the same time. So, after this part of coding has modified, extern parameter should read as below: ** Note: At least 2 pairs has to be in same direction in order to qualify as Trend.
extern bool AutoBskDirectionFinder = true; // setting this to ‘true’ override Direction_01, Direction_02, Direction_03. If this is set to ‘false’, then, trade as current setting, manual input by user.
2. Add an “AutoExit” to current EA // currently, it will exit if hit Basket SL or TP . I would like to add an option to AutoExit as follow.
if 2 or 3 pairs’ EMA direction has reversed from the entry signal, AutoExit.
Example: At the time of entry, we has Pair1’s Close price > EMA, Pair2’s Close price > EMA, Pair3’s Closed Price < EMA, thus, according to the rule, we entered ‘Long’ direction basket orders on all 3 pairs. Before hitting SL or TP, if EMA direction changed and now pair1 Closed Price < EMA, Pair2 Closed Price <EMA, Pair3 Closed Price <EMA. Now, this is clearly changing direction of the basket group, thus, EA should automatically close all current positions (should be 3 positions) if AutoExit = true; So, after this part of coding has modified, extern parameter should read as below: Again, this AutoExit, at least 2 pairs out of 3 pairs has to be change direction in order to qualify as Trend reversal to exit.
extern bool AutoExit = true; // setting this to ‘true’ override BasketGrossTP and EquitySafetyStop. If this is set to ‘false’, then, trade as current setting, manual BasketGrossTP and EquitySafetyStop settings input by user.
3. Add an “AutoLotSize”. So, if extern bool AutoLotSize = true; extern int AllocatePctforBsk = xx; (in%), I would like EA to calculate the Lotsize and allocate correct LotSize per Pairs that I trade. – I will provide the formula for this calculation in project outline document.
4. I would like “MaxNumOfBasketCycleDaily “ options to the EA to be add.
extern int MaxNumOfBasketCycleDaily = xx; //user input *** Note: if Basket Cycle was open and close (Hit SL or TP, doesn’t matter) xx time from the start of the day till end of the day, if maxNumOfBasketcycleDaily number has met, EA should not initiate any more baskets for the remainder of the day. This number counts reset automatically at the beginning of the TradingStartTime. When add this options to the EA, I would like screen comments to be added/update to reflect changes. Example: Comment(header + status + div + "New Orders Disabled: Max Basket Cycle per Day met: Waiting for Start Trading Time. "); break;
5. extern int MaxNumOfSLtoHibernateEA = xx;//user input *** Note: Max number of consecutive basket SL hit. (Whether SL occurred by AutoExit @ loss or EA hit Manual setting of SafetyStopLoss, both consider to be Loss, thus, if consecutively hit basket group loss xx times, EA should hibernate and no more trading until I use ‘ResetFull’. When add this options to the EA, I would like screen comments to be added/update to reflect changes. Example: Comment(header + status + div + "New Orders Disabled after consecutive losses: User ‘ResetFull’ require to re-start the EA "); break;
I will provide detail notes with image files along with original EA to assigned coder for the project.
Thanks,