MT4 Dateien Funktionen Ersetzung.

 

Hallo Leute,

Viele Leute haben mich und das metaquotes Forum nach Funktionen zur Dateiverarbeitung gefragt.

Ich denke, MT4 haben eine Menge von Bugs in diesen Funktionen.

1- Sie funktionieren nicht im Backtesting

2- Sie schreiben nicht außerhalb des Pfades "MetaTrader 4\experts\files".

Heute öffnete ich meine Visual C++ und schrieb eine Datei-Handling-dll für MT4, ich hoffe, Sie genießen es, und seine Quellcode, und sagen Sie mir Ihre .

Einrichtung:

1- Extrahieren Sie die"mtguru1.dll" in den Pfad "MetaTrader 4\experts\libraries".

2- Extrahieren Sie"FilesDemo.mq4" in den Pfad "MetaTrader 4\experts\indicators" und kompilieren Sie es.

3- Extrahieren Sie"gFiles.mqh" in den Pfad "MetaTrader 4\experts\include".

4- Laden Sie FilesDemo aus Ihren Indikatoren - vergessen Sie nicht, "DLL-Import zulassen" zu aktivieren.

5- Viel Spaß.

Dateien:
mtguru1.zip  95 kb
 

Rückmeldung

Hallo Leute,

Irgendein Feedback bitte ?

 

Nun, ich habe es nicht getestet. Aber wenn es funktioniert, ist das großartig!

Ich habe mir die .mq4-Demodatei angesehen, und sie ist so einfach und elegant. Gute Arbeit.

Das einzige Problem, das ich habe, ist, was ich mit neuen Zeilen machen soll.

Wie verwende ich gFile, um eine neue Zeile zu schreiben?

 

Danke!

fivewhy:
Nun, ich habe es nicht getestet. Aber wenn es funktioniert, ist das großartig!

Ich habe mir die .mq4-Demodatei angesehen, und sie ist so einfach und elegant. Gute Arbeit.

Das einzige Problem, das ich habe, ist, was ich mit neuen Zeilen machen soll.

Wie verwende ich gFile, um eine neue Zeile zu schreiben?

fivewhy,

Vielen Dank für Ihren Kommentar.

Ich denke, das Problem mit den neuen Zeilen muss ich noch bearbeiten, danke für den Hinweis.

 

gut gemacht , aber Dateifunktionen (wie auch viele andere) können direkt von Windows-API-Dlls verwendet werden.

Beispiel für den Import einer Dateikopierfunktion:

#import "Kernel32.dll"

bool CopyFileA (string quelle_datei, string ziel_datei, bool if_exist);

mit DLLs kann man viele Dinge tun, wie SQL-Datenbankzugriff und so weiter.

 

Wo finde ich eine Liste aller Funktionen, die in kernel32.dll (und anderen Windows-DLLs) verfügbar sind?

Edit: Ich habe sie gefunden. Siehe beigefügt.

Dateien:
kernel32.txt  306 kb
 

Das ist richtig, aber?

Beluck:
gut gemacht , aber Dateifunktionen (wie auch viele andere) können direkt von Windows API dlls verwendet werden.

Beispiel für den Import von Dateikopierfunktionen:

#import "Kernel32.dll"

bool CopyFileA (string quelle_datei, string ziel_datei, bool if_exist);

Mit DLLs kann man viele Dinge tun, wie SQL-Datenbankzugriff und so weiter.

Beluck,

Das ist richtig , aber könnten Sie mir eine .mql-Demo geben, die mir zeigt, wie man die Kernel32-Funktionen CreateFile, OpenFile,WriteFileund ReadFile in MQL4 verwendet

HANDLE CreateFile(

LPCTSTR lpFileName,

DWORD dwDesiredAccess,

DWORD dwShareMode,

LPSECURITY_ATTRIBUTES lpSecurityAttributes,

DWORD dwCreationDisposition,

DWORD dwFlagsAndAttributes,

HANDLE hTemplateFile

);

HFILE OpenFile(

LPCSTR lpFileName,

LPOFSTRUCT lpReOpenBuff,

UINT uStyle

);

BOOL WriteFile(

HANDLE hFile,

LPCVOID lpBuffer,

DWORD nNumberOfBytesToWrite,

LPDWORD lpNumberOfBytesWritten,

LPOVERLAPPED lpOverlapped

);

BOOL ReadFile(

HANDLE hFile,

LPVOID lpBuffer,

DWORD nNumberOfBytesToRead,

LPDWORD lpNumberOfBytesRead,

LPOVERLAPPED lpOverlapped

);
 

ted

alerts.mqh nicht Teil von mtguru1.zip, konnte FilesDemo nicht ausführen? Ich danke Ihnen im Voraus.

 

gFiles.mqh

sx ted:
alerts.mqh nicht Teil von mtguru1.zip, konnte FilesDemo nicht starten? Ich danke Ihnen im Voraus.

sx ted,

Es tut mir leid, ich meinte"gFiles.mqh"

Um FilesDemo auszuführen:

1- Extrahieren Sie die"mtguru1.dll" in den Pfad"MetaTrader 4\experts\libraries".

2- Extrahieren Sie"FilesDemo.mq4" in den"MetaTrader 4\experts\indicators"-Pfad und kompilieren Sie es.

3- Extrahieren Sie"gFiles.mqh" in den Pfad"MetaTrader 4\experts\include".

4- Laden Sie FilesDemo aus Ihren Indikatoren - vergessen Sie nicht," DLL-Import zulassen" zu aktivieren

 

ted

CodersGuru, danke u super, haben Sie äquivalent von FileTell()

 

Aktualisiert!

sx ted:
CodersGuru, vielen Dank, haben Sie ein Äquivalent für FileTell()

sx ted,

Ich habe das Programm aktualisiert. Es enthält jetzt diese Funktionen:

int gFileOpen(string file_name,int mode);

bool gFileWrite(int handle,string data);

bool gFileClose(int handle);

string gFileRead(int handle,int length=0);

void gFileSeek(int handle,int offset, int mode);

bool gFileDelete(string file_name);

int gFileSize(int handle);

int gFileTell(int handle);

bool gFileFlush(int handle);

bool gFileCopy(string source,string distance,bool IfExists);

bool gFileMove(string source,string distance);

Ich hoffe, Sie genießen es.

Dateien:
mtguru1.zip  88 kb
Grund der Beschwerde: