Download MetaTrader 5

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

7 September 2011, 17:37
MetaQuotes Software Corp.
2 897

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:

Step on New Rails: Custom Indicators in MQL5 Step on New Rails: Custom Indicators in MQL5

I will not list all of the new possibilities and features of the new terminal and language. They are numerous, and some novelties are worth the discussion in a separate article. Also there is no code here, written with object-oriented programming, it is a too serous topic to be simply mentioned in a context as additional advantages for developers. In this article we will consider the indicators, their structure, drawing, types and their programming details, as compared to MQL4. I hope that this article will be useful both for beginners and experienced developers, maybe some of them will find something new.

Here Comes the New MetaTrader 5 and MQL5 Here Comes the New MetaTrader 5 and MQL5

This is just a brief review of MetaTrader 5. I can't describe all the system's new features for such a short time period - the testing started on 2009.09.09. This is a symbolical date, and I am sure it will be a lucky number. A few days have passed since I got the beta version of the MetaTrader 5 terminal and MQL5. I haven't managed to try all its features, but I am already impressed.

Using text files for storing input parameters of Expert Advisors, indicators and scripts Using text files for storing input parameters of Expert Advisors, indicators and scripts

The article describes the application of text files for storing dynamic objects, arrays and other variables used as properties of Expert Advisors, indicators and scripts. The files serve as a convenient addition to the functionality of standard tools offered by MQL languages.

How to create an indicator of non-standard charts for MetaTrader Market How to create an indicator of non-standard charts for MetaTrader Market

Through offline charts, programming in MQL4, and reasonable willingness, you can get a variety of chart types: "Point & Figure", "Renko", "Kagi", "Range bars", equivolume charts, etc. In this article, we will show how this can be achieved without using DLL, and therefore such "two-for-one" indicators can be published and purchased from the Market.