Erros, bugs, perguntas - página 1661
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
É um insecto ou uma pergunta, mas algo incompreensível está a acontecer no testador e no depurador. Está tudo bem no EURUSD, mas há um problema com o USDJPY...
Parte do código
O que me interessa no código é claro a partir de capturas de ecrã. Está marcado no código.
Há uma ordem de venda com uma perda de 7,39, mas o código mostra uma perda de apenas 0,93
A seta verde na imagem seguinte mostra que o debug está parado nesta linha...
Ou seja, a variável sl já foi definida para PositionGetDouble(POSITION_PROFIT)
PERGUNTA: Porque é que isto está a acontecer? É um bug ou um padrão, uma característica especial do testador/debugger mql5???
A variável sp foi introduzida um pouco mais tarde, inicialmente a variável sellProfit foi verificada, que foi colocada a zero quando a função foi introduzida.
Se é um insecto ou uma pergunta, mas há algo que não está claro... acontece no testador e no depurador. Está tudo bem no EURUSD, mas há um problema no USDJPY...
Houve um problema na construção cerca de uma dúzia de anos antes, quando o visualizador mostrava o futuro por um tick, enquanto o MQL estava a funcionar normalmente - o futuro não era visto.
Tente comparar PositionGetDouble(POSITION_PROFIT) no próximo tick. Se coincide com o que o visualizador já mostrou antes - o problema está lá. Slawa deu uma explicação e prometeu corrigi-la.
Se não - outro bug neste caso.
Numa construção uma dúzia ou duas mais cedo que a actual, houve um problema quando o visualizador estava a mostrar o futuro num só tick, enquanto a MQL estava a funcionar bem - o futuro não era visto.
Tente comparar PositionGetDouble(POSITION_PROFIT) no próximo tick. Se coincide com o que o visualizador já mostrou antes - o problema está lá. Slawa deu uma explicação e prometeu corrigi-la.
Se não - outro bug neste caso.
Talvez sim, mas o código não fornece uma verificação no próximo tick. Apenas uma vez no momento da abertura de um novo bar. E que garantia há de que estes valores são do próximo tick? Nenhum... Tentei novamente; a perda é de 2,55, mas o depurador ainda mostra 0,93.
Mas, dedos cruzados... tester 5 é muito melhor que tester 4... Apenas falhas e operação inadequada... Como pode depurar um Expert Advisor com tais falhas? De que outra forma as pessoas fazem a optimização??? De facto, a optimização é auto-engano, e com tais violinos, é auto-engano ao ponto de mentir 8.
Terei de o testar numa demonstração... durante semanas...
Só porque o visualizador mostra disparates, não significa que o próprio testador esteja errado. O testador não se preocupa com problemas de visualização, de forma alguma.
Utilizar o TickValue para calcular o tamanho do lucro e compará-lo com POSITION_PROFIT. Verá que tudo é igual. A visualização parece ser um insecto.
Só porque o visualizador mostra disparates, não significa que o próprio testador esteja errado. O testador não se preocupa com problemas de visualização, de forma alguma.
Utilizar o TickValue para calcular o tamanho do lucro e compará-lo com POSITION_PROFIT. Verá que tudo é igual. A visualização parece ser um insecto.
Sim, calculei-a de novo antes de colocar a pergunta. Parece ser verdade, é possível recalcular a partir de capturas de ecrã. Não comecei a verificar por alguma razão. A perda é calculada com base no tamanho do lote que conduzirá ao lucro esperado no fecho do take profit. Tudo foi calculado correctamente em EURUSD, mas de repente as perdas não são cobertas em USDJPY... Comecei a verificar a fórmula... e chegou a este bug. Acontece que o visualizador não tem nada a ver com isto.
Sim, contou-a antes de afixar a pergunta. Parece ser verdade, é possível recalcular a partir das capturas de ecrã. Não comecei a verificar por uma razão. A perda é calculada com base no tamanho do lote em que o lucro esperado será fechado no momento da tomada. Tudo foi calculado correctamente em EURUSD, mas de repente as perdas não são cobertas em USDJPY... Comecei a verificar a fórmula... e chegou a este bug. Acontece que o visualizador não tem nada a ver com isto.
Erro na compilação do Script1.mq5
Erro #1. A chamada h é inequívoca por assinatura aqui.
Erro #2. Em A::f1() chamada de h( g ) no sentido de g - pode parecer ambíguo, mas por outro lado em A::f2() compilador por outro lado não faz perguntas desnecessárias sobre g() (e faz correctamente - pelo menos no início os problemas existentes de incluir ficheiro de cabeçalho com declaração de função no módulo com a sua implementação e posterior utilização neste módulo foram resolvidos há muito tempo). E além disso, é difícil reescrever de outra forma, porque Script.mqh é um ficheiro de cabeçalho comum
Lamento, mas não compreendo o seu ponto de vista. Quem acha que está errado - o testador ou o visualizador?
Se mostra valores semelhantes à verdade, mas os calcula utilizando os dados errados, então o problema está em mql5 e não no testador ou visualizador.
Em suma, obrigado pela vossa contribuição, a longo prazo, estarei a vencer o problema. E irá verificar outra moeda hoje em dia, semelhante. Talvez seja o problema das carraças nesse local, hhz?
Porque é que o aviso está em pé de igualdade?