Erros, bugs, perguntas - página 1905

 
8.6 е+18
Tem a certeza de que esse número é exactamente 8600000000000000000000?
Se converter essa quantidade de bits em gigabytes, obtém - 10750000000000000000GB.
 
2017.05.29 22:53:02.047 MQL4 Market: failed create temp file for downloading product 'Prodigy' [267]

 
Esvaziou a bateria do portátil.
Estava a trabalhar no MetaEditor 1601.
A carga da bateria estava a 0% e durante a compilação do programa MT4 o portátil estava sem energia.
Fiquei muito surpreendido quando da próxima vez que abri um ficheiro de trabalho em vez do código que continha 311 KB de valores NUL.

Se possível, por favor considere uma implementação mais segura do procedimento de salvaguarda durante a compilação.
 
Sergey Dzyublik:
Esvaziou a bateria do portátil.
Estava a trabalhar no MetaEditor 1601.
A carga da bateria estava a 0% e durante a compilação do programa MT4 o portátil estava sem energia.
Fiquei muito surpreendido quando da próxima vez que abri um ficheiro de trabalho em vez do código que continha 311 KB de valores NUL.

Se possível, por favor considere uma implementação mais segura do procedimento de poupança durante a compilação.

Talvez haja um objectivo de comprar um portátil com uma bateria mais potente? Ou trabalhar em segurança a partir da rede ?
 
Sergey Dzyublik:
Esvaziou a bateria do portátil.
Estava a trabalhar no MetaEditor 1601.
A carga da bateria estava a 0% e durante a compilação do programa MT4 o portátil estava sem energia.
Fiquei muito surpreendido quando da próxima vez que abri um ficheiro de trabalho em vez do código que continha 311 KB de valores NUL.

Se possível, por favor considere uma implementação mais segura do procedimento de poupança durante a compilação.
Seria melhor ter um segurança no seu portátil para vigiar a carga da bateria e ligá-lo, se necessário ))
 
Konstantin:
é melhor colocar um segurança no portátil para monitorizar a carga da bateria e ligá-lo, se necessário ))

A hibernação existe para este fim... e tomadas eléctricas com temporizador...

 
Sergey Dzyublik:
Tem a certeza de que esse número é exactamente 8600000000000000000000 ?
Se converter essa quantidade de bits em gigabytes, obtém - 10750000000000000000GB.


Eu próprio contei zeros....

Agora, definir 6.18e+18, se mais OnTesterPass for chamado apenas para a nova geração. Com a força bruta directa não é chamada de modo algum. E nem uma palavra sobre isso na ajuda. As pessoas têm de procurar tais "peculiaridades" do próprio testador, gastando muito tempo com isso.


 

Estou confuso com a especificação do contrato:

1. tamanho do tick == passo do tick ==SYMBOL_TRADE_TICK_SIZE

2. preço do tick == valor de 1 pip ==SYMBOL_POINT

será que o entendo correctamente?

Esta confusão surgiu devido ao stock TGKA no corretor Otkritie, a especificação lá não é correcta:

1. tamanho do tick == 0.000005
2. preço == 0,00001 (deve ser 0,000001)

 
Porque existe uma grande diferença no MT5 entre os resultados dos conjuntos de optimização e as execuções de testes individuais? Encontrei-me com isto na secção de stock. Procurei na ajuda sobre as peculiaridades de trabalhar com o testador, mas encontrei apenas um momento pouco claro que possivelmente influencia a situação mencionada. Procedendo do capítulo de ajuda "Modelação da hora no testador", a hora do servidor devolvida pela funçãoTimeTradeServer() é sempre igual à hora GMT e não há correcção para a compensação do fuso horário. Uma vez que o robô em teste tem uma janela de operação entre os leilões e sincroniza esta janela usando a funçãoTimeTradeServer(), pode haver uma razão para isto e devemos adicionar a correcção do fuso horário durante os testes.
 

Olá! No MT4, quando se apaga uma ordem de limite dentro de um spread, há frequentemente uma situação de erro - a ordem a ser apagada fica pendurada, o que só pode ser corrigido recarregando o terminal. Tanto quanto entendi o mecanismo , ele ocorre da seguinte forma:

1 ) Fixamos um limite dentro do spread, próximo do preço Ask (para ordens de compra Limit) ou Bid (para ordens devenda Limit) e após algum tempo tentamos apagá-lo.

2 ) Enviamos um comando OrderDelete(), enquanto este comando vai para o servidor, a ordem pode já ser executada no servidor (está dentro do spread, muito próximo do preço de activação). Parece que quando o comando chega ao servidor, será aplicado à ordem de mercado e obteremos um erro no terminal e uma ordem congelada. Neste caso, a ordem no terminal permanece uma ordem limite (também definida como uma ordem limite pela função OrderType()) e só aparecerá como uma ordem de mercado após um reinício do terminal. Se continuar a apagá-lo como limite , verá um erro no registo do Expert Advisor com o código: 3, e no registo do terminal:[Parâmetrosinválidos ]. Na verdade, não são possíveis acções com tal ordem suspensa - é uma ordem limitada no terminal do cliente e uma ordem de mercado no servidor . A encomenda também não pode ser apagada manualmente.

Anexei uma EA simplificada (apenas para Buy Limit), para reprodução de erros e um perfil com 8 EA instalados em paralelo (o erro aparece mais rapidamente do que se o erro for apanhado por uma EA - embora também ocorra com uma EA instalada). A ordem de compra é fixada em 1 ponto de cinco dígitos abaixo do preço Ask e é removida após 1 segundo após ter sido fixada. Se definir uma encomenda mesmo 5 pontos abaixo do preço de pedido e a eliminar após qualquer número de segundos/minutos/horas, o erro continuará a acontecer de vez em quando, apenas com menos frequência porque o mecanismo da sua aparência não muda.

É necessário iniciar o terminal e aguardar que a ordem pendente apareça. Normalmente não é necessário esperar mais de uma hora, dependendo da actividade do mercado.

Só por precaução, sistema:

Microsoft Windows XP (PC baseado em X86), IE 08.00, 2 x Intel Core i3-2120@ 3.30GHz, RAM: 2421 / 3981 Mb, HDD: 195187 / 666422 Mb, GMT+03:00

MT4: Versão 4.00 Build 1090 (19 de Maio de 2017)

MetaEditor: Versão 5.00 build 1601 (19 de Maio de 2017)

Arquivos anexados: