How we develop
This October our company, Takeprofit Technology, formerly known as Timur Latypoff Technology Lab, will be two years old. It has already been more than two years since we started the development of our first product, a liquidity bridge for MT4.
Developing the most reliable MT4 plugins
Developing our products has taken a lot of work, and we are still putting a lot of effort into making sure that our plugins are reliable, fast, and capable of solving real problems that Forex brokers face. All of the source code changes we make are automatically saved in our version control system, so over these two years, quite a lot of statistical data has piled up, and I thought it might be interesting for our current and future clients to take a quick glance at some beautiful charts about our product development process.
Below is a cumulative chart that shows how our major products grew over time.
As you can see, Klondike bridge is by far our biggest project in terms of source codes lines, more than twice as big as our Ashira virtual dealer. To be fair, its development started half a year earlier than Ashira's, and during its development we learned many things about the MetaTrader 4 Server internals, which had been taken for granted by the time we started working on the dealer. Also, you may notice that all the lines are still growing — although all the products are very mature and many brokerages have been successfully using them in live environments for a long time, we keep finding ways to make improvements and add new features, providing free updates to all of our clients.
Over the years, we have been putting all robust plugin development practices and patterns into a set of helper projects
Also, it is notable how our “Common” projects grow: over the years we have been putting all robust plugin development practices and patterns into a set of helper projects upon which all of our products are based. Thus, all of our solutions have common features such as automatic deadlock detection, plugin crash recovery, extended logging, real-time server health monitoring, and many other things that you rarely (if ever) see in our competitors' products. It has become a tradition that after installing any of our products, they automatically detect faulty third-party plugins, and we contact their developers with suggestions on how to fix the newly found issues in their plugins, in order to protect our new customers.
Below, you can take a look at a weekly activity timeline by product.
In a similar way, we can dissect the data to see how our developers fared. In the two pictures below, we charted how many lines of code each of our programming colleagues added in total and how source code editing activity was distributed along the overall timeline.
All projects consume ~35 gigabytes of disk space
The data above only include changes in code files we created from scratch (specifically, only files with the following extensions: .h .cpp .cs .py .lua .def .js .ini .html .bat .cmd .rb .md .less .scss .mq4). Of course, we don't include third-party libraries that we use, like QuickFix or Boost.
Hopefully you can now see how much work we do to develop our products and keep them feature-complete and up-to-date, and how excited we are to share some internal details with you.