Nikolay Ivanov (Techno): "What is important for programs is the accuracy of their algorithms"

7 September 2011, 17:37
4 757

A programmer from Krasnoyarsk Nikolay Ivanov (Techno) is a leader among the developers in terms of the number of completed orders - he has implemented already more than 200 applications in the Jobs service. In this interview, he is talking about the Jobs service, its specific features and challengers faced by programmers.

Nikolay, how did you start trading Forex?

I got a degree in software in engineering, now I'm a programmer. I started trading in financial markets in 2007. I began with the equity market, but then, having realized all the benefits and opportunities of Forex, I switched to it. From the very beginning of my trading experience I liked technical analysis, in particular, indicators and simple tools, such as support and resistance lines. Having switched to Forex (which was connected with the leverage available), I began to actively explore these tools.

For six months in the stock market I earned 20% of the deposit. I was very much interested in automated trading in MetaTrader, whose idea was very sophisticated and functional. Automated trading is not only a salvation from emotions - swings from suicidal depression to a state of the happiest man in the world in one minute (the direct dependence on the movement of prices), but also a chance to test a trading strategy in a real history and immediately get an objective result.

Then it became clear that the point trades taking into account data obtained from certain tools together with intuition is not the same as a systematic constant trading strictly sticking to one strategy. Manual trading is very time-consuming, plus it involves emotions, and with automated trading you only need to hold out and not look at what your Expert Advisor is doing, which is much easier. It is more efficient to monitor the result, for example at the end of the month. So I chose the path of automated trading, focusing all my forces on it.

Why is the Jobs service interesting to you?

The Jobs service was originally a very good idea. This is a perfect chance to earn money and communicate with people from all over the world. Moreover, it is a strong incentive to study programming and trading. That is, it's an incentive to constantly improve. I an satisfied with this service.

Can the service be a major source of income?

I think it can, and moreover, the earnings may be higher than our average wage. The only risk factor is high competition, and it intensifies with each passing day.

What are the disadvantages of the Jobs service? How can it be improved?

It lacks the opportunities to increase the cost of work after it has begun with the consent of both parties, as well as to terminate it the (also with the consent of both parties) without involving a third party.

What are the main reasons for canceling an order?

It can be a human factor, for example customer's hot temper. When working with a complicated task, it's difficult to interact with such a person. Another common reason is adding new functions which are not described in the requirements specification. Of course, we can try to solve the issue through Arbitration, but it is often better to cancel a job and receive $10-20 less, than to win arbitration and receive a bad feedback.

The second frequent reason is an incorrect formulation of requirements specification: after a job is completed, it turns out that quite different things were meant by "here" and "there", and you need to redo everything. Sometimes there are technical reasons, such as pitfalls that you missed during the preliminary review of the work. For example, you need to find some abstract solution, and there are no details and formulas specified.

Nikolay Ivanov (Techno)

About the importance of correct formulation of requirements specifications. Maybe some customers do not want to disclose all the details of their trading systems, fearing that a developer can use their ideas?

What is important for programs is the accuracy of their algorithms, I mean those which the customer is willing to share with the developer.

So customers needn't fear that their ideas can be used?

I can't speak for all developers. But I never use others' ideas.

What do you think about dumping and what solution do you think would be effective?

Well, it's a difficult question. Of course I think dumping is bad. A good code, high-quality performance and absolute compliance with the technical requirements should be well paid, e.g. starting with $50. Dumping may lead to lower quality of jobs in the service, in particular, because professional programmers will leave it.

I think the most effective solution is to increase the minimal cost of orders, e.g. to 30$. Jobs is a serious service, while small modifications, which may cost $5, can be performed free of charge by any programmer on the or forums.

How do you manage to perform large numbers of orders? Do you have ready-to-use libraries?

Of course I use libraries for the most frequently used program parts. Most orders are done quickly, but then you have to negotiate some points, make adjustments, sometimes customers simply disappear for many weeks (and you have already started to work), but in general you can handle.

What order was the most interesting for you?

I had an Expert Advisor with the detailed visualization of all events, up to the locations of Stop Loss at the entire interval of a position combined with an active trailing stop. Also it required implementation of a function for disabling trading, still with further visualization and simulation of the trading process. It was an interesting order.

Has anyone ordered an Expert Advisor for the Automated Trading Championship?

I haven't had such orders.

Has it ever happened that you couldn't fulfill an order and for what reason?

It has. Well, sometimes there were the pitfalls that I mentioned earlier. Once I had to cancel a job because of personal problems.

What was your most difficult and long order? What was its peculiarity?

Usually most difficult cases are connected with modifications of ready programs, or when the source data initially contain errors.

Nikolay Ivanov (Techno)

The Jobs service provides Arbitration for solving disputes. Have you ever used it?

Yes. Statistically, in about 1 in 25 jobs problems are solved through Arbitration. This is a very effective way to resolve disputes.

What are the main reasons for referring to Arbitration?

The most common reason is deviation from the original arrangements arranged at the beginning of work. Of course, Arbitration is used in completely hopeless situations. The second reason is the disappearance of one of the parties, and mostly it happens when the final work has already been transferred to the customer.

What can you say about the decisions of the Arbitration?

There were no unfair decisions in my practice. Arbitration is always trying to deal with the situation and help to complete a job for both sides.

You have many regular customers. Why do you think they prefer to work with you?

Yes, I have many regular customers. Perhaps they just like the way I will implement their ideas. 

Thank you for the interview. Good luck.

Translated from Russian by MetaQuotes Software Corp.
Original article:

Custom Graphical Controls. Part 1: Creating a Simple Control Custom Graphical Controls. Part 1: Creating a Simple Control
This article covers general principles of development of graphical controls. We are going to prepare tools for a quick and convenient work with graphical objects, analyze an example of creation of a simple control for entering text or numeric data as well as the ways of using it.
Andrey Bolkonsky (abolk): "Any programmer knows that there is no software without bugs" Andrey Bolkonsky (abolk): "Any programmer knows that there is no software without bugs"
Andrey Bolkonsky (abolk) has been participating in the Jobs service since its opening. He has developed dozens of indicators and Expert Advisors for the MetaTrader 4 and MetaTrader 5 platforms. We will talk with Andrey about what a server is from the perspective of a programmer.
Interview with Matúš German (ATC 2011) Interview with Matúš German (ATC 2011)
On the second day of the Championship the Expert Advisor created by Matúš German (gery18) increased its capital by 2.5 times and took the lead being ahead of all competitors. Matúš himself doubts his Expert Advisor will win, he thinks that luck and high risk were the reasons of such unexpected rise.
Andrey Voitenko (avoitenko): "Developers benefit from the ideas that they code? Nonsense!" Andrey Voitenko (avoitenko): "Developers benefit from the ideas that they code? Nonsense!"
A Ukrainian developer Andrey Voitenko (avoitenko) is an active participant of the "Jobs" service at, helping traders from all over the world to implement their ideas. Last year Andrey's Expert Advisor was on the fourth place in the Automated Trading Championship 2010, being slightly behind the bronze winner. This time we are discussing the Jobs service with Andrey.