I received a private message indicating what I wrote here isn't totally clear. Just to clarify... MQL and EasyLanguage may be easy to learn are NOT "general purpouse" laguages. They exist only as a part of the respective charting/backtesting/trading platform(s). If you learn C++, Delphi or C# you can use these to develop stand-alone applications. You can write you own text editor or even your own trading platform. You also wouldn't need a vendor's trading platfrom installed to run such an application. With C++, Delphi or C# you can write your own strategies for nearly any platform around (usually by creating a DLL): TradeStation, NeoTicker, NinjaTrader, AmiBroker, MultiCharts etc. With MQL or EasyLanguage you are stuck with 1 or 2 platfroms that support each language. MQL5 is not "identical" to C++ in any way. Yes, it has similar basic syntax, but so do C# and Java. MQL5 lacks features that define C++ as a different laguage: pointers and memory management, not to mention templates. As a result, porting any code that contains a few classes or an array will not be trivial (unless the person who does the porting is sufficiently fluent at C++).