In every item or device we use, they all have their own weaknesses and strengths. In using metatrader4 for trading, we find it useful though it also its limitations.
In using metatrader4 first, you will be able to check if there is still money available on your account. If there is not enough money on the account, the operation of opening a position will not be successful. It is for this reason that one need to have sufficient funds for investments.
With metatrader4, you can access history data by using the predefined arrays of Time, Open, Low, High, Close, and Volume. Due to historical reasons, index in these arrays increases from the end to the beginning. Another way of accessing history data is by using other time intervals and even using other currency pairs.
Another advantage in using the metatrader4 is that you can get the information about errors in the program. The "GetLastError" function is very useful. For example, an operation with an order always returns the ticket number. You can also define the beginning of a new bar but this method can fail while loading the history. That is, the number of bars is changed while the "previous" one has not been finished yet. In this case, you can make checking more complicated by introducing a check for the difference between the values equal to one.
The next method is based on the fact this method can fail to work when there are a lot of incoming price ticks. The matter is that incoming price tricks are processed in a separate thread. And if this thread is busy when the next tick comes, this new incoming tick is not processed to avoid overloading the processor. In this case you can also make checking more complicated by saving the previous "Volume" value.
After all pros and cons review, it is for the user to follow directions on how to use it and care for it so that the trading will be more successful and the goal will be achieved.