This looks like something I'd definitely be interested in. I haven't implemented it yet but I read through it all, very sound. I'm a software
engineer by trade using C#.
However, I just started learning the MQL API. It didn't dawn on my until your article that I could/should write my external libs and in C#.
Thanks for this.
However, I just started learning the MQL API. It didn't dawn on my until your article that I could/should write my external libs and in C#.
Thanks for this.
focusedbit:
I'm glad you enjoyed my article.
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
New article Arranging a mailing campaign by means of Google services has been published:
A trader may want to arrange a mailing campaign to maintain business relationships with other traders, subscribers, clients or friends. Besides, there may be a necessity to send screenshotas, logs or reports. These may not be the most frequently arising tasks but having such a feature is clearly an advantage. The article deals with using several Google services simultaneously, developing an appropriate assembly on C# and integrating it with MQL tools.
Terminal connector
The only remaining issue is connecting the (unfinished) assembly to the terminal. At first glance, the task is simple. Define several static methods, compile the project and copy it to the terminal's Libraries folder. Call the static methods of the assembly from the MQL code. But what exactly should we copy? There is an assembly in the form of a dll library. There are also about a dozen assemblies downloaded by NuGet we actively use in our work. There is a JSON file storing data for accessing Google. Let's try to copy the entire set to the Libraries folder. Create a primitive MQL script (there is no point in attaching its code here) and try calling a static method from the assembly. Exception! Google.Apis.dll is not found. This is a very unpleasant surprise, which means that the CLR cannot find the desired assembly, although it is located in the same folder as our main assembly. Why is this happening? It is not worth examining the situation here in detail. All interested in details may find them in the famous book by Richter (in the section about searching for private assemblies).
There are already many examples of fully functional .Net applications that work with MetaTrader. Such issues occurred there as well. How were they solved? Here the issue was solved by creating a channel between a .Net application and an MQL program, while here an event-based model was used. I can suggest a similar approach involving passing the required data from an MQL program to a .Net application using the command line.
Author: Andrei Novichkov