Hi all, I've been on the lookout for a programmer for my EA, and have noticed that many others are also looking for programmers for EA's they have, so I thought I would post a new topic about what should be considered when building a system to be automated.
Know your budget: (Magnumfreak) Don't expect a $10,000 EA for less than $100.00. Would you expect a mechanic to build a race engine for $100?? True experience comes at a price so put away your penny rolls and be ready to offer a fair wage for their years of experience. Doctors and lawyers are not cheap so do not expect a programmer with 10+ years of experience to work for $1.00 an hour.
Build your gameplan: First thing you should do is lay out a gameplan by determining what kind of system it is, is it trending, ranging etc etc.
Understand the Market: Make sure that you understand the market, and that's it's not a game, you can win big, and loose a lot, NO ONE wins 100% of the time. understanding the importance of risk/reward is mandatory.
Understand the information: Make sure you understand exactly how to use any indicator that may be a part of this system for both yourself, and for the programmer (both of you need to know exactly how it works).
Stoploss and Takeprofit: This is probably one of the most important aspects of Forex Trading, knowing when to get out of a trade with a large win, or a small loss. This is more important than any entry signal.
Backtest Manually: You should always backtest your system for at LEAST a 6 month timeframe to ensure it's a long haul profit system and not a 1 month wonder, once backtesting proves to be profitable, then forward test to make sure it can handle real world market conditions (test during news hours, asian market etc etc.)
Tweek the system: If you feel that the system you have pieced together could do better, try tweeking it to see if it can do better (notice, still not 1 cent has been spent)
DO NOT ALTER THE CORE SYSTEM: Often forex traders fail because they jump from system to system trying to find that "perfect 100% winner". Do not do this, don't even attempt a system unless you can look at it and grasp the basics of it without any real explanation. Only when you have enough experience will you be able to read the more complex indicators properly.
Look for experience: After deciding that your EA is the way you want it to be, and is still profitable on both long term backtests, and forward tests, the next step would be to seek out an experienced programmer, afterall, we're looking for someone to automate a MONEY MAKING SYSTEM (there is no room for ameture errors here).
Verify Experience: Would you buy something if the only person that has an opinion of it is the person selling it? I hope not. Make sure the person you are speaking with about programming is experienced, ask for people to vouch for them, request previous projects as proof of experience, do whatever YOU FEEL YOU HAVE TO DO to ensure you're getting the right person for the job. Afterall, you trusting your investment money to their programming experience. (if a programmer gets offended because you are only trying to verify that they are what they say, move on to the next programmer.)
Work out the deal: Make sure all aspects of the deal are known to both parties, such as code request, comments within the code, protection systems for distribution, the ability to distribute etc. ALL aspects should be known by both parties before anything should continue. And both parties should AGREE to persue. If a programmer goes ahead and programs your system without you first agreeing to the work. Move on to the next programmer (this isn't something that is to be rushed) - (Magnumfreak) NOTE: No matter how much you pay to have your EA "protected", 20 seconds later it can be decompiled. It's just an ugly fact of dealing with metatrader get over it.
Demo Test EA: Always demo test you EA as soon as you recieve the compiled product, make sure there are no errors, compare with backtest results (if the results from your manual backtests are VERY different than the EA backtest, the programmer made a mistake somewhere or you didn't backtest properly.)
Testing is OK: once you have tested your compiled EA, and are satisfied with it, credit the programmer, let them know that you will vouch for them in their future ventures. Respect is always a 2 way street.
Original Thread by Magnumfreak in 2007
1. Provide more detail than you think is necessary. People who write software are an interesting breed to say the least (that includes me). We typically take things very literally. Our minds operate very much like a computer in that if you leave even the smallest detail out, we tend to generate a large pile of errors.
2. Spend a little time searching. This forum and many others have built in search features that will allow you to search through 10’s of thousands of posts in just a few seconds. For simpler things like moving average crosses, stochastic overbought or oversold, etc chances are they have already been done. If you find one that is not quite what you need post it anyway and the coder may be able to just modify the existing indicator to suit your needs. Keeps us from having to re-invent the wheel.
3. If it is part of a trading system, provide links if you can so we can look into how the system operates. The more we know, the better your chances of having your request filled correctly the first time (or close to the first time).
4. Be respectful of the coder’s time and effort. Not sure about others on here but up until the time my Forex income exceeded my software development income, I spent 10-20 hours a day writing software, 7 days a week. I would take on small indicator projects just to break the monotony and to help spark new ideas for the software I was working on. If you don’t get a response from someone in 24-48 hours just bump your post back up to the top. Chances are all the programmers who write metatrader code are busy doing other things and just haven’t had the time to jump in here to look at other requests.
5. Understand that the code that is generated for you may not work 100% the first time you try it. Metatrader does not have even a basic debugging system and that makes development tougher. Just be patient and most coders will keep working with you until it is right. Do not under any circumstances immediately go live with your indicator or EA. If it is an EA, I would demo trade it for AT LEAST 2 months prior to going live. The markets are dynamic and ever changing, testing something for a day or two then going live is financial suicide.
6. If the project is large enough that the person taking it on feels that compensation is necessary, don’t get upset. You need to determine how much value this project will give you. Will it allow you to go do something else until an alert is sent to your email or cell phone thereby giving you much more freedom? Will it catch trades that you may have missed? If you do not want to pay for their time, be respectful and just let them know.
7. Have realistic expectations on how much a project will cost. Although a large majority of work goes on here for free, some projects warrant compensation. For example, large complicated EA projects, indicators or EA’s that you plan on selling on a retail level, these are just a couple of examples but many more fit into this category. Open market, U.S. based programmers like myself and others on this forum TYPICALLY command 35-100 U.S. Dollars an hour. Now, factor in someone who knows about Forex and Metatrader and you will find that there are only a few who do this on a professional level. There are programmers from other countries who work for much less (some are VERY good, others well you take your chances).
8. Don’t expect the developer to be a mind reader. Quite frankly we have a hard enough time dealing with our own minds let alone looking into someone else’s. If you need help determining everything you need for your project, just ask for it. Let people know you are willing to take suggestions or recommendations. Maybe the coder will remember that you need a good money management strategy for your EA, or whatever.
I believe that this information from both myself, and Magnumfreak, is essential to producing a successful EA. Remember folks, This is a huge financial decision. Take the time to make it right.
This concludes my "how to" on building a successful EA. Thanks for reading.
If you have any additional information you feel I have missed just post and I will update this original post and include credit to who contributed.
Take them pips home everyone, Lets make them ours.
Pharoah
Know your budget: (Magnumfreak) Don't expect a $10,000 EA for less than $100.00. Would you expect a mechanic to build a race engine for $100?? True experience comes at a price so put away your penny rolls and be ready to offer a fair wage for their years of experience. Doctors and lawyers are not cheap so do not expect a programmer with 10+ years of experience to work for $1.00 an hour.
Build your gameplan: First thing you should do is lay out a gameplan by determining what kind of system it is, is it trending, ranging etc etc.
Understand the Market: Make sure that you understand the market, and that's it's not a game, you can win big, and loose a lot, NO ONE wins 100% of the time. understanding the importance of risk/reward is mandatory.
Understand the information: Make sure you understand exactly how to use any indicator that may be a part of this system for both yourself, and for the programmer (both of you need to know exactly how it works).
Stoploss and Takeprofit: This is probably one of the most important aspects of Forex Trading, knowing when to get out of a trade with a large win, or a small loss. This is more important than any entry signal.
Backtest Manually: You should always backtest your system for at LEAST a 6 month timeframe to ensure it's a long haul profit system and not a 1 month wonder, once backtesting proves to be profitable, then forward test to make sure it can handle real world market conditions (test during news hours, asian market etc etc.)
Tweek the system: If you feel that the system you have pieced together could do better, try tweeking it to see if it can do better (notice, still not 1 cent has been spent)
DO NOT ALTER THE CORE SYSTEM: Often forex traders fail because they jump from system to system trying to find that "perfect 100% winner". Do not do this, don't even attempt a system unless you can look at it and grasp the basics of it without any real explanation. Only when you have enough experience will you be able to read the more complex indicators properly.
Look for experience: After deciding that your EA is the way you want it to be, and is still profitable on both long term backtests, and forward tests, the next step would be to seek out an experienced programmer, afterall, we're looking for someone to automate a MONEY MAKING SYSTEM (there is no room for ameture errors here).
Verify Experience: Would you buy something if the only person that has an opinion of it is the person selling it? I hope not. Make sure the person you are speaking with about programming is experienced, ask for people to vouch for them, request previous projects as proof of experience, do whatever YOU FEEL YOU HAVE TO DO to ensure you're getting the right person for the job. Afterall, you trusting your investment money to their programming experience. (if a programmer gets offended because you are only trying to verify that they are what they say, move on to the next programmer.)
Work out the deal: Make sure all aspects of the deal are known to both parties, such as code request, comments within the code, protection systems for distribution, the ability to distribute etc. ALL aspects should be known by both parties before anything should continue. And both parties should AGREE to persue. If a programmer goes ahead and programs your system without you first agreeing to the work. Move on to the next programmer (this isn't something that is to be rushed) - (Magnumfreak) NOTE: No matter how much you pay to have your EA "protected", 20 seconds later it can be decompiled. It's just an ugly fact of dealing with metatrader get over it.
Demo Test EA: Always demo test you EA as soon as you recieve the compiled product, make sure there are no errors, compare with backtest results (if the results from your manual backtests are VERY different than the EA backtest, the programmer made a mistake somewhere or you didn't backtest properly.)
Testing is OK: once you have tested your compiled EA, and are satisfied with it, credit the programmer, let them know that you will vouch for them in their future ventures. Respect is always a 2 way street.
Original Thread by Magnumfreak in 2007
1. Provide more detail than you think is necessary. People who write software are an interesting breed to say the least (that includes me). We typically take things very literally. Our minds operate very much like a computer in that if you leave even the smallest detail out, we tend to generate a large pile of errors.
2. Spend a little time searching. This forum and many others have built in search features that will allow you to search through 10’s of thousands of posts in just a few seconds. For simpler things like moving average crosses, stochastic overbought or oversold, etc chances are they have already been done. If you find one that is not quite what you need post it anyway and the coder may be able to just modify the existing indicator to suit your needs. Keeps us from having to re-invent the wheel.
3. If it is part of a trading system, provide links if you can so we can look into how the system operates. The more we know, the better your chances of having your request filled correctly the first time (or close to the first time).
4. Be respectful of the coder’s time and effort. Not sure about others on here but up until the time my Forex income exceeded my software development income, I spent 10-20 hours a day writing software, 7 days a week. I would take on small indicator projects just to break the monotony and to help spark new ideas for the software I was working on. If you don’t get a response from someone in 24-48 hours just bump your post back up to the top. Chances are all the programmers who write metatrader code are busy doing other things and just haven’t had the time to jump in here to look at other requests.
5. Understand that the code that is generated for you may not work 100% the first time you try it. Metatrader does not have even a basic debugging system and that makes development tougher. Just be patient and most coders will keep working with you until it is right. Do not under any circumstances immediately go live with your indicator or EA. If it is an EA, I would demo trade it for AT LEAST 2 months prior to going live. The markets are dynamic and ever changing, testing something for a day or two then going live is financial suicide.
6. If the project is large enough that the person taking it on feels that compensation is necessary, don’t get upset. You need to determine how much value this project will give you. Will it allow you to go do something else until an alert is sent to your email or cell phone thereby giving you much more freedom? Will it catch trades that you may have missed? If you do not want to pay for their time, be respectful and just let them know.
7. Have realistic expectations on how much a project will cost. Although a large majority of work goes on here for free, some projects warrant compensation. For example, large complicated EA projects, indicators or EA’s that you plan on selling on a retail level, these are just a couple of examples but many more fit into this category. Open market, U.S. based programmers like myself and others on this forum TYPICALLY command 35-100 U.S. Dollars an hour. Now, factor in someone who knows about Forex and Metatrader and you will find that there are only a few who do this on a professional level. There are programmers from other countries who work for much less (some are VERY good, others well you take your chances).
8. Don’t expect the developer to be a mind reader. Quite frankly we have a hard enough time dealing with our own minds let alone looking into someone else’s. If you need help determining everything you need for your project, just ask for it. Let people know you are willing to take suggestions or recommendations. Maybe the coder will remember that you need a good money management strategy for your EA, or whatever.
I believe that this information from both myself, and Magnumfreak, is essential to producing a successful EA. Remember folks, This is a huge financial decision. Take the time to make it right.
This concludes my "how to" on building a successful EA. Thanks for reading.
If you have any additional information you feel I have missed just post and I will update this original post and include credit to who contributed.
Take them pips home everyone, Lets make them ours.
Pharoah