Trading Forex is a difficult career. And turning trading ideas into useful software is just as difficult. Although you don’t have to possess programming skills when embarking on Metatrader programming projects, you still have to deal with people and ensure that the product will work according to your trading needs. The following are some helpful guidelines when working with programmers.
Metatrader programming requires the disclosure of the logic behind your trading strategy. Whether your custom software is an expert advisor, indicator, or script, the programmer will need all the information necessary to deliver a software product as you envisioned it. Giving all necessary information will not only improve the quality of the software, but will also speed-up the software development process. It can minimize setbacks caused by programming mistakes or miscommunication.
The rules of your trading system or Metatrader custom software should be objective, not subjective. Even though you are communicating with human programmers, your idea will ultimately end in a program’s source code. Despite the computing power of artificial intelligence, its capacity for emulating human intuition is still limited. It has to deal mostly with exact numerical conditions. Therefore, rules such as “buy when the price has fallen significantly within the last 4 bars on the chart” will not work. The word “significantly” or “significant” is subjective. The Metatrader programmer will often need more objective instructions such as “buy when the price moves down at least 20 pips during the previous 5 bars.” This instruction is clearer and can be encoded into software.
Explain How You Want To Use the Software
Sometimes, explaining how you will use a Metatrader software will help the programmer understand a lot about your project. If for example, you would like to have an EA that will execute an opposite order once a certain order exited the market at a predetermined level. There are many programming approaches to this problem. To save both you and your programmer a lot of time and effort, you may further tell your programmer that “I am a Fibonacci trader by the way.” This would help the programmer gain a higher level of perspective in developing your software, and would ensure that your custom software would adequately meet the needs of a trader that uses Fibonacci levels in formulating trading decisions.
Give Examples Whenever Possible
A picture paints a thousand words. This is neglected by most traders when discussing their strategies with programmers. In fact, providing images and screen shots of your strategy can save a lot of time. Why describe a strategy using complex sets of instructions, when a single image of a chart containing the entry and exit conditions of an expert advisor will do the trick?
More often than not, images and chart screen shots are being exchanged between traders and programmers during the troubleshooting/debugging phase. This can be a time-consuming process. In order to avoid this, it is better to provide images detailing your strategy before the programmer starts working on the project. That way, while he’s developing the software, he can compare the actual performance of the software with the image that you sent him prior to development.
Although time is a factor in judging your programmer’s abilities, still, programming takes time. Some instructions can be simple to a trader, but not when the programmer starts working on it.
And unless you have an exclusive hiring agreement with your programmer or paying a premium, most likely, he also has other projects and trader clients to attend to.
Be Willing to Answer Questions
Always be willing to answer questions. Remember, your programmer is not working on his own brainchild. He’s working on a software based on your original concept. Just like when explaining your ideas to other people or traders, it might take some time for others to grasp your ideas, especially when your idea deals with complex trading strategies.
Ask For Opinion
When in doubt, ask your programmer for an opinion. His experience may give you some insights based on a programmer’s point of view. Although a programmer’s task does not deal with the issue of profitability, it’s still a good thing to have him comment on the other aspects of your trading strategies and ideas. Who knows, he might be able to offer a better solution.
Treat working with programmers as working with a team or teammate. The trader supplies his financial knowledge necessary to develop the software product, while the programmer contributes his programming and coding skills that will make the software idea a reality. Both members need the other participant to make the project a success.