The reason for this EA:
A friend of mine pays for a service that allows him to get daily trade suggestions. I will not discuss what it is since it's not the main reason behind this thread and I'm not advertising for anyone here. Everyday at 5:00pm (Eastern) he checks the website and looks to see which pairs are Long and which are Short. As part of this service, the website also gives suggested take profits and stop losses. He would then have to manually figure out where he could actually buy or sell and the adjusted take profits and stop losses (pain in the butt).
He has been keeping track of how far into profit each of these trades go before turning to hit a potential stop loss and has found if he ignored their suggested take profit and stop loss he would be profitable. He would accomplish this by setting a take profit of 20 and stop loss of 25 and buying or selling in their suggested direction. Doing something as simple as this would have bagged him roughly 2,800 pips on 16 pairs over the last 27 days. This is done simply because their direction is right more than not and he's not looking for many pips and stops are tight.
So to make a long story short he wanted a way to simplify the task which is why I wrote him this EA. If you feel it would be helpful to you then you are more than welcome to use it on a demo account to see how it works.
- The EA can handle 5 order sets (maybe more if you get creative with multiple long/short orders, etc.).
- Each of the order parameters has a unique comment assigned to it (since the orders are placed manually they wont have a magic number so order comment is used instead).
- When you place an order manually, the EA attached to that chart, cycles through the orders looking for a match on the Symbol and comment. It then assigns the take profit and/or stop loss if there isn't already one assigned (it will not replace manual settings if there already is one assigned). All you have to do is give it the right comment and click Sell or Buy. You can also place pending orders as well.
- In addition the EA can manage break even settings once X pips are achieved, and trailing stops.
- It will also send e-mail on profit/loss summary if your e-mail settings are configured.
- My friend would then set his Order1 settings to take profit (20) and stop loss (25) and setup each chart with those settings. Then he could just place the buy/sell orders and the EA would figure everything else out for him and manage the trades.
This EA was written to be very simple for the end user and was never intended to do much. If you have a suggestion that doesn't turn this thing into a monster then please share your ideas. Hopefully someone else will find this EA a benefit to them as well.
Poll: Do I have to share my source code?
Want a version that will work on live and demo accounts?Send me an e-mail: [email protected]
Settings://+------------------------------------------------------------------+ //| Input variables | //+------------------------------------------------------------------+ extern string Order01Parameters = "------------------------------------------------------------"; extern string Order01Comment = "Order1"; //Order comment to look for extern int Order01TP = 0; //Take profit (only set if greater than 0 and actual order's take profit is 0) extern int Order01SL = 0; //Stop loss (only set if greater than 0 and actual order's stop loss is 0) extern int Order01BE = 0; //When is the order set to break even? extern int Order01TrailStopTrigger = 0; //When is trailing stop triggered? extern int Order01TrailStopAmount = 0; //Trail by how many pips? extern string Order02Parameters = "------------------------------------------------------------"; extern string Order02Comment = "Order2"; //Order comment to look for extern int Order02TP = 0; //Take profit (only set if greater than 0 and actual order's take profit is 0) extern int Order02SL = 0; //Stop loss (only set if greater than 0 and actual order's stop loss is 0) extern int Order02BE = 0; //When is the order set to break even? extern int Order02TrailStopTrigger = 0; //When is trailing stop triggered? extern int Order02TrailStopAmount = 0; //Trail by how many pips? extern string Order03Parameters = "------------------------------------------------------------"; extern string Order03Comment = "Order3"; //Order comment to look for extern int Order03TP = 0; //Take profit (only set if greater than 0 and actual order's take profit is 0) extern int Order03SL = 0; //Stop loss (only set if greater than 0 and actual order's stop loss is 0) extern int Order03BE = 0; //When is the order set to break even? extern int Order03TrailStopTrigger = 0; //When is trailing stop triggered? extern int Order03TrailStopAmount = 0; //Trail by how many pips? extern string Order04Parameters = "------------------------------------------------------------"; extern string Order04Comment = "Order4"; //Order comment to look for extern int Order04TP = 0; //Take profit (only set if greater than 0 and actual order's take profit is 0) extern int Order04SL = 0; //Stop loss (only set if greater than 0 and actual order's stop loss is 0) extern int Order04BE = 0; //When is the order set to break even? extern int Order04TrailStopTrigger = 0; //When is trailing stop triggered? extern int Order04TrailStopAmount = 0; //Trail by how many pips? extern string Order05Parameters = "------------------------------------------------------------"; extern string Order05Comment = "Order5"; //Order comment to look for extern int Order05TP = 0; //Take profit (only set if greater than 0 and actual order's take profit is 0) extern int Order05SL = 0; //Stop loss (only set if greater than 0 and actual order's stop loss is 0) extern int Order05BE = 0; //When is the order set to break even? extern int Order05TrailStopTrigger = 0; //When is trailing stop triggered? extern int Order05TrailStopAmount = 0; //Trail by how many pips? extern string EmailParameters = "------------------------------------------------------------"; extern bool EmailNewOrdersPlaced = false; //Send e-mail whenever an order is placed (even limit and stop orders) extern bool EmailProfitLossSummary = false; //Send profit/loss summary anytime order count changes (does not count pending orders) extern string MiscParameters = "------------------------------------------------------------"; extern bool DisplayProfitLoss = true; //Display history of trades?
//+------------------------------------------------------------------+ //| Revision notes | //+------------------------------------------------------------------+ /* Version 1.0 (7 downloads): Version 1.0a (50 downloads): * Rearranged how orders are handled (more efficient now) Version 2.0: * Fixed bug with pip calculation on profit display * Fixed problem with E-mail display text * Modified key areas to work with live accounts * Live version made available Pending additions/changes: * E-mail status of EA * Order modified, closed, deleted, etc.? (Not sure how far to go just yet) */ string Version = "GrabMyOrders AutoTrader v2.0";
- It is extremely important that MT4 run all week with the charts open and EA attached. No EA can do its thing unless everything is running. That's why you have an EA to trade for you.
- The EA will only run on demo accounts. I will release a live version if it pans out to be something.
Currently supported brokers:
- All
Here are some of my other threads you might find interesting...
"The Pip Nailer" (EA - MTaboneWeb)
AshFX Daily (EA - MTaboneWeb)
DailyHighLow (EA - MTaboneWeb)
GrabMyOrders (EA - MTaboneWeb)
TossUp (EA - MTaboneWeb)
Weekly Open EA
A special thanks to all who have supported this EA and continue to support it.