EA will be dropped/attached to a chart and then read all open orders for that chart's instrument. Then it will determine how many are buy orders and how many are sell orders and then calculate the difference. Next it will use ADX to determine volatility and currency pair direction and open 1 market order for hedge lot size indicated in EA extern input field by user (I will use default 50% in this example) in the direction of fewer orders to create a hedging effect. The target price will be close to current market price thus a scalping strategy with usual TP, Stop-Loss, and trailing stop (trailing stop default = 0).
When TP achieved then it will loop to for beginning and re-test. If stop-loss reached then it will also loop and re-test. EA will never trade in direction of greater number of open orders ... that would not be a hedge. Usually another EA (I will call ABC) is running in a separate chart window and creating buy or sell orders continuously with the logic programed into that EA. This EA (I will call XYZ) will monitor all open orders in separate 1 Min chart window and use ADX for volatility and direction. There should also be a switch input to continue EA or discontinue whether it is active. If the order reaches stop-loss that is an indication market is trading in direction of majority of open orders and so XYZ will wait and re-evaluate periodically (wait period can be input in milliseconds by user).
Again, Logic flow of steps
1. Calculate difference between buy and sell orders in chart (in this case EURUSD)
determine if prices are going up or going down (in this case they are
going up and another EA ABC was selling so there are many sell orders)
determine if there is sufficient volatility to take risk of opening a
trade against orders opened by ABC ... the trade will be half because
user put 50 in input called PercentHedge
4. this EA determines
there is sufficient volatility AND price action is against current open
trades so it opens new buy order for (50% * [difference between open
sell orders and open buy orders])
5. this is a partial hedging EA
that uses scalping strategy so it will have small TP and small Stop ...
it can use trailing Stop but default is 0
6. wait for orders that were opened by this EA to close by TP or Stop and then go to 1.
Inputs I foresee are:
EA Active (Boolean)
PercentHedge (if there are sell orders = .15 and buy orders = .10 and PercentHedge = default 50 then XYZ will create open order for ([.15 - .10] * 50% and round up ... in this case .05 * .50 =.025 so .03 will be calculation used for hedge
TP (target price in points [5 digit broker])
SL (stop-loss in points)
Trailing stop-loss distance activated from order price
Trailing stop-loss steps
Period of ADX indicator
Level of ADX indicator (volatility)
Comment (for comment field in buy/sell order to differentiate it from other open orders or closed orders)
Further clarification (hopefully)
Imagine I have a terminal with another EA (ABC) in chart 1 and this EA (XYZ) will
be in chart 2 and chart 2 is M1 ... when I attach XYZ to chart 2
it will open 1 order for .23 ([1.90 - 1.44] * .50) lots if
PercentHedge = 50.
Next chart show when XYZ will open trade
can see 1) ADX is rising so volatility is good, 2) D+ is over D- so
price is rising, 3) previous chart shows there is a difference between
buys and sells so now all conditions to open a 1 order for .23.
price goes up then small TP is reached and process repeats, if price
goes down then small Stop-Loss is reached and XYZ will do nothing
because it is only making buy orders because chart has more sell order
than buy until other EA in chart 1 closes some orders with whatever
logic it has.
... more inputs to test in Strategy Tester to demo EA but not
required in real EA. Extra inputs are to simulate another EA in chart 1.
First chart is 30 minutes for chart 1 (ABC) ... second chart is 1 minute for XYZ for testing volatility and price direction at scalping level.
Again, XYZ will never trade in direction of greater total number of lots ... it
will only trade in direction of fewer total number of lots ... it
requires direction help of ADX to know when to open orders in same
direction of fewer total number of lots
I would also like a button on the screen to activate / deactivate the EA and the button should clearly indicate whether the EA is Active or Not Active on a gray colored button (the EA will actually reset everything to before I attached the EA to the chart because later I might add an additional feature (I'm thinking about adding a line I can move that will also perform the function of the button but I have to think about it further in order to completely describe it with accuracy) Default location of the button should be lower left bottom of the screen but follow same distance from corner when I resize window for any reason with usual 1,2,3,4 user input to locate at top left, top right, bottom left, bottom right respectively.
This should be a good EA to help protect account when another EA opens too many orders. Once this EA is created and meets all requirements in this job order and tested I might need to create better version after actual use and after discovering any deficiencies in which case a new MQL5 job will be created.
Feel free to discuss anything regarding this job with me especially if any clarification is needed.