Discussion on "How to write a DLL for MQL5 and exchange data in 10 minutes". - page 12

 
Seric29:


So can you show me how it works?

#include <ctime>
And __time64_t is a data type, the same as datetime.
 
Ihor Herasko:
And __time64_t is a data type, the same as datetime.

So you have to connect#include<ctime> and write __time64_t in front of each variable ?

 

Anyway, guys, the way it works is this

#include <iostream>
#include <ctime>

#define _DLLAPI extern "C" __declspec(dllexport)
_DLLAPI __time64_t __stdcall Data_t(){return 3600;}
//результат вычисления 1970.01.01 00:00:00 + количество секунд(return 3600)
//получается 1970.01.01 01:00:00
 
Ihor Herasko:

Print() is a function available only in mql4 and mql5. It cannot be replaced directly, because the output device for it is a log file of the terminal. But it can be called indirectly, if you send a corresponding command to the Expert Advisor (indicator, script), to which the dll is connected. It depends on how the data exchange between dll and the Expert Advisor is implemented.

Also, if there is a task to print something, not necessarily in the journal of the terminal, there are a lot of possibilities for this: a file, a printer, a display, after all.

Oops, you're wrong!

 
Алексей Тарабанов:

Oops, you're wrong!

I tried to print the material to the console from the side of c++ does not work at the time of the program the console did not open, perhaps not everything is as simple as it seems, and as for printing to the file I understand you need to write a function that creates the file and will enter there the data, this option has not tried, little knowledge is not yet worked with the files.

If someone has done so please tell me if it is possible to print information from dll into a file to search for invalid values or not.

How to work with colour and strings. I read thatwchar_t is used with strings, but if inside function write this expression

_DLLAPI void fnReplaceString(wchar_t *text,wchar_t *from,wchar_t *to)
  {
   wchar_t Text1="Text1";//не работает значит для строк wchar_t 
//не подходит

  }
 
Renat Fatkhullin #:

Dear pisara,

Let us be clear - there is an argument between a theorist and a practitioner. Of course, no one forbids you to fight for "world peace", but take into account more factors than "why not improve?

That's what I wrote - you won't use it, because you don't want to engage in routine work. You will have to get everything on a silver platter - all the indicators, all the market environment, all the history in different periods, etc. And there will have to be charting, because you won't manipulate all the indicators in your mind.

So, in fact, you need a full-fledged terminal. And we give it to you: MetaTrader 5 + MQL5 + DLL. Call it a framework or just give us the terminal in source code/components (because this is what you want).


Programmers mistakenly think it's "powerful" to be able to write scripts for trading systems in unprotected native languages, and then are surprised that no one is even going to use their creations. That's why they die before they are even born. Those who have developed and created a community of users think much deeper (because they got the knocks before) and do not make such mistakes.

Controlled (disabled by default) DLL call is acceptable, but downloading DLLs made by someone else into your trading terminal is a hole as big as an unpatched Internet Explorer 6.


For information, Google Trends statistics on trading terminals with automation:


now in 2023 ....

https://trends.google.com/trends/explore?date=all&q=metatrader,metastock,tradestation,amibroker,trading%20view&hl=en


2023 trend

Reason: