Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
FileUnlimited - biblioteca para MetaTrader 5
- Visualizações:
- 832
- Avaliação:
- Publicado:
- 2016.12.27 09:06
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Biblioteca para trabalhar com os arquivos usando o WinAPI sem limitações de localização.
Atualmente, o modo somente leitura foi implementado. A biblioteca será atualizada.
- Os arquivos FileUnlimited.mqh, FileUnlimitedConstants.mqh, e StringUtils.mqh devem ser copiados para terminal_data_folder\MQL5\Include\TheXpert;
- A biblioteca ConstFileUnlimited.mqh deve ser copiada para terminal_data_folder\MQL5\Libraries\TheXpert;
- O script FileUnlimitedTest.mq5 deve ser copiado para terminal_data_folder\MQL5\Scripts.
Eu tentei fazer o uso da classe mais simples possível.
Exemplo de aplicação (o 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); // --------------------------------------------- // A partir daqui é utilizado a biblioteca para leitura. // --------------------------------------------- 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); } }
A biblioteca funciona com apenas arquivos Unicode, é por isso que temos a página de código CP_UTF16 (Por algum motivo ela não está disponível nas constantes da linguagem).
Por favor, notifique sobre todos os erros detectados nos comentários ou nesta discussão.
Comentários, sugestões e críticas construtivas são bem vindas.
Vamos fazer algo útil para todos!
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/386
Um outro indicador Chaos.
RJTX_MatchesEste indicador ajuda a determinar o fim e o inicio da tendência com base na inclinação dos "fósforos" e da cor de suas cabeças.
O objetivo do presente código é demonstrar como é fácil criar escalas de cores, gradientes de cor e heatmaps (mapas de calor) com a linguagem e as funções em MQL5.
Indicador TrendSignalIndicador TrendSignal para o MetaTrader 5.