Unisciti alla nostra fan page
- Visualizzazioni:
- 10
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Libreria per lavorare con i file tramite WinAPI senza restrizioni sulla posizione.
Attualmente è implementata solo per lavorare con i file costanti (solo lettura) e sarà aggiornata con la correzione di bug e l'aggiunta di codice.
I file FileUnlimited.mqh, FileUnlimitedConstants.mqh e StringUtils.mqh devono essere copiati nella directory terminal_data\MQL5\Include\TheXpert, la libreria ConstFileUnlimited.mqh deve essere copiata nella directory terminal_data\MQL5\Libraries\TheXpert e lo script FileUnlimitedTest.mq5 nella directory terminal_data\MQL5\Scripts.
Ho cercato di rendere l'uso della classe il più semplice possibile.
Ecco un esempio di utilizzo (duplicazione dello script).
#include <TheXpert/FileUnlimited.mqh> #include <TheXpert/StringUtils.mqh> #define CP_UTF16 1200 void OnStart() { string name = "TheXpert\\Test.txt"; string path = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Files\\" + name; int hFile = FileOpen(name, FILE_WRITE | FILE_TXT, ' ', CP_UTF16); if (hFile == INVALID_HANDLE) { Print("File not opened."); return; } bool writeBool = false, readBool = true; long writeLong = -4369549, readLong = 0; double writeDouble = -4369549.245, readDouble = 0; datetime writeDatetime = 2596824987, readDatetime = 0; color writeColor = Blue, readColor = White; string writeString = "2r4i6bf4wb9tb69vw", readString = ""; FileWrite(hFile, writeBool); FileWrite(hFile, writeLong); FileWrite(hFile, writeDouble); FileWrite(hFile, writeDatetime); FileWrite(hFile, writeColor); FileWrite(hFile, writeString); FileClose(hFile); // --------------------------------------------- // da qui in poi, la libreria viene utilizzata per la lettura. // --------------------------------------------- ConstFile* file = OpenConstFile(path); if (CheckPointer(file) != POINTER_INVALID) { file.Read(readBool); Print("readBool = ", readBool); file.Read(readLong); Print("readLong = ", readLong); file.Read(readDouble); Print("readDouble = ", readDouble); file.Read(readDatetime); Print("readDatetime = ", readDatetime); file.Read(readColor); Print("readColor = ", readColor); file.Read(readString); Print("readString = ", readString); delete file; } else { Print("Failed to open ConstFile at path -- ", path); } }
La libreria funziona solo con i file Unicode, per cui è stata introdotta la pagina di codice CP_UTF16 (per qualche motivo non è presente nelle costanti della lingua).
Si prega di segnalare tutti i bug nei commenti o in questo thread.
Commenti, auguri, sane critiche sono fortemente graditi.
Creiamo insieme una cosa che sarà utile a tutti!
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/386

Il filtro digitale RBCI (Range Bound Channel Index) rimuove l'andamento a bassa frequenza formato dalle componenti a bassa frequenza dello spettro e il rumore ad alta frequenza formato dalle componenti ad alta frequenza dello spettro.

L'indicatore Trend Equilibrium TrendEQ analizza dinamicamente i movimenti del mercato combinando momentum e volatilità. Scalando il momentum con la volatilità del mercato, il TrendEQ fornisce una misura affidabile della forza e della direzione del trend.

Media mobile con doppio smoothing adattivo JMA della serie di prezzi.

L'indicatore AutoTrendLines disegna automaticamente le linee di tendenza di supporto e di resistenza sul grafico di MetaTrader 5. Identifica i livelli di prezzo chiave utilizzando due metodi: Due estremi (Tipo 1) o Estremo e Delta (Tipo 2). Le linee vengono ricalcolate solo quando si forma una nuova barra, garantendo così prestazioni efficienti.