NQuotes : MetaTrader (MT4) and C#/.NET bridge
NQuotes connects MetaTrader 4 forex platform and Microsoft.NET enabling development of automated trading programs ("expert advisors" and indicators) for MT4 with C#, Visual Studio tools and .NET libraries.
Debugging in Visual Studio IDE is possible. You can inspect values, place breakpoints and inspect execution step by step. Have a nicer experience than "Print" debugging in pure MQL.
NQuotes has an API that is compatible with MQL. It is quite easy to get started for MQL4 developers, while others can use the official documentation site. NQuotes exposes the API of MetaTrader to C#. It gives you ability to migrate your code and reuse it in a very straightforward way.
Optimize your strategies with MetaTrader strategy tester by declaring extern parameters and finding the best values for them.
Indicators are supported by using a mix of MQL and .NET code. Calculate indicator buffers in .NET and then copy them to MQL4 buffers.
.NET programming languages
Pick a language that you know best. Feel free to choose from C#, Visual Basic, Python and others. .NET languages provide more programming paradigms such as object orientedness, and compilers doesn't have MQL4 limitations. It's easiest to use C# for MetaTrader if you want to convert existing MQL code.
Hide and obfuscate your source code using .NET obfuscators. Prevent your trading secrets to be disclosed. Have a full control over your code by building a C# DLL for MT4 platform. A number of free and commercial options are available.
.NET libraries and tools
Use the full potential of .NET - a huge number of programming libraries and components. Both paid and free versions of reusable libraries solve all sorts of common developer tasks. NuGet offers an easy addition of libraries to the project. Professional IDEs offering code search, refactoring and inspections completely beat the default MetaEditor IDE of MT4.