Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Substituição de arquivo
Quero testar um EA que faz uso de sinais externos no Testador de Estratégia e o tópico afirma que o tratamento de arquivos nativos não funciona no testador de estratégia. Por isso, tentei usar a dll fornecida nesta thread. A entrada que eu quero processar está em um arquivo com este aspecto:
2007-01-02;EURUSD;2.InstPipDown;;Yes
2007-01-02;USDJPY;1.InstPipUp;;Yes
2007-01-02;USDCHF;1.InstPipUp;;Yes
2007-01-03;EURUSD;2.InstPipDown;;Yes
2007-01-03;EURUSD;4.PipMax1Down;;Yes
2007-01-03;GBPUSD;4.PipMax1Down;;Yes
2007-01-04;USDJPY;8.PipRevBear;;Yes
2007-01-05;EURUSD;5.PipMax2Up;;Yes
2007-01-05;USDJPY;1.InstPipUp;;Yes
Eu mesmo crio o arquivo para poder usar outros tipos de delimitadores.
Como posso usar a dll para obter um "registro" no momento? Eu posso fazer a análise dos campos individuais.
Como posso saber quando cheguei à EOF?
Tentei algumas variações, mas obtive resultados inconsistentes e, às vezes, lixo. Escrever dados como no exemplo funciona bem, mas eu quero ler os dados.
Bem, regras de perserverança!
Após várias horas eu descobri isto:
O manipulador de arquivos se recusa a abrir um arquivo que eu criei com outro programa. Retornos abertos -1. Se eu usar o arquivo que foi criado pelo demo (mt4.log) e copiar meu conteúdo para ele, abrir trabalhos. Cant descobrir por quê. Estranho
Eu fiz meus "records" de comprimento fixo e li o comprimento do "record" mais 2 para acomodar para "CRLF" no final de cada record. Consegui o comprimento do arquivo, dividido pelo comprimento do registro e fiz um loop para colocar todos os meus registros em um array:
Aqui está o código:
int init()
{
cordão emArr[500];
int file;
int file; int file;
registros int;
int i;
file = gFileOpen("c:\mt4.log",READ);
// Print(file);
filesize = gFileSize(file);
// Print(fileize);
records = filesize/25;
// Print(records);
for(i=1;i<=records;i++)
{
inArr = gFileRead(arquivo,25);
}
gFileClose(arquivo);
Print(inArr[filesize-1]); //Check the last one
retorno(0);
}
indicador com fileoutput
olá comerciantes e programadores.
preciso de ajuda com um códigoegemnt para um novo indicador.
o indicador deve ser capaz de escrever um arquivo com informações relevantes, mas só deve escrever depois de abrir uma vela nova. nem todo carrapato.
como isto poderia ser feito? o que eu tento fazer é, em cada vela nova, escrever OHCL das últimas 1000 barras para treinar um PNN. isto deve ser feito fora com RAPID-I.
e com algumas outras informações para saber qual seria a probabilidade do fechamento de uma vela.
por favor, ajude. seria um grande projeto, mas coisas tão simples que eu tenho que fazer de estúpido (ou preguiçoso) :-)
PriNova
data/hora timeprev=0; antes do init()
e
if(timeprev==Time[0])
retorno(0);
timeprev=Tempo[0]; logo abaixo do início()
e é isso.
bom, esta foi uma resposta muito rápida.
obrigado elite
Por que a função de movimentação foi removida da biblioteca
CodificadoresGuru,
Não posso dizer o quanto você é valioso para mim, Você merece muito dos elogios que recebo de meus clientes, pois sem você eu não seria capaz de fazer meu trabalho em apoio a eles.
Existe alguma razão para que a função Mover não tenha sido implementada como está referenciado em seu tutorial?
Muito obrigado mais uma vez quatro seus serviços
John McGlaughlin
gFileReadir
Olá,
Olhando o código fonte da mtguru1.dll, descobri que a função gFileRead() não deve funcionar. Estou Errado?
O gFileRead() usa uma variável local para armazenar a string lida do arquivo. Quando a função retorna, ela retorna um ponteiro para aquela variável, mas este ponteiro pode ser válido porque o pbuffer da variável local sai do escopo.
Assim, a partir de uma MQL4 EA, uma instrução como esta deve falhar :
string buffer = gFileRead( handle, 50 );
e se funcionar, é estranho ...
P.S.: Já coloquei isto no tópico errado, antes. https://www.mql5.com/en/forum/172885.
Errata Corrige:
.... mas este ponteiro pode ser um ponteiro válido ....
mas este ponteiro NÃO PODE ser um válido
Executar um arquivo exe
Hi,
Eu quero fazer uma coisa simples (assim pensei). Eu quero simplesmente abrir (lançar) um programa externo de um EA. (não no EA)
Portanto, apenas para fins de exame. Digamos que eu queria abrir a palavra Microsoft quando uma determinada coisa acontece na EA.
Já fiz isso antes, mas não consigo encontrar o roteiro, passei 2 horas pesquisando na web. Da próxima vez eu guardarei o código em algum lugar seguro!
alguma pergunta?
Eu recebi este erro "2008.10.21 01:54:34Fundamental Trader DailyFX_MQL4 v0.02: handle 2 does not exist in FileClose"
Como posso fazer ?