É claro que eles são diferentes. Só me pergunto por que um programa em execução no agente deve retornar o TERMINAL_BUILD do terminal local? Se isso acontecer (embora eu duvide), parece ser um bug.
Não, ele retornará sua própria compilação - o agente.
Ela não está disponível, mas você pode fazer isso da seguinte forma
// Relatório com gráfico no MT4#property strict// https://www.mql5.com/pt/docs/standardlibrary/graphics/cgraphic#include <Graphics\Graphic.mqh> // MQL5\Include\Graphics\Graphic.mqh#include <Report.mqh> // comente as linhas 295, 350, 382, 404, 434, 455.voidOnStart()
{
// REPORT::ToChart(); // envia o gráfico para o gráfico
REPORT::ToFile("Report.htm"); // salva o relatório junto com o gráfico
}
No compilador MT4, a biblioteca do MT5"Graphic.mqh", bem como "Curve.mqh", que é usada em "Graphic.mqh", não é compilada - incompatibilidade de plataforma.
Sergey Kolemanov: No compilador MT4, a biblioteca do MT5"Graphic.mqh", bem como "Curve.mqh", que é usada em "Graphic.mqh", não é compilada - incompatibilidade de plataforma.
'Test.mq4' Test.mq4 11'Graphic.mqh' Graphic.mqh 11'ArrayObj.mqh' ArrayObj.mqh 11'Array.mqh' Array.mqh 11'Object.mqh' Object.mqh 11'StdLibErr.mqh' StdLibErr.mqh 11'Curve.mqh' Curve.mqh 11'Canvas.mqh' Canvas.mqh 11'FileBin.mqh' FileBin.mqh 11'File.mqh' File.mqh 11'Rect.mqh' Rect.mqh 11'Axis.mqh' Axis.mqh 11'ColorGenerator.mqh' ColorGenerator.mqh 11
check operator precedence for possible error; use parentheses to clarify precedence Canvas.mqh 432932
check operator precedence for possible error; use parentheses to clarify precedence Canvas.mqh 432934
check operator precedence for possible error; use parentheses to clarify precedence Canvas.mqh 432937
check operator precedence for possible error; use parentheses to clarify precedence Canvas.mqh 432939
check operator precedence for possible error; use parentheses to clarify precedence Canvas.mqh 432942
check operator precedence for possible error; use parentheses to clarify precedence Canvas.mqh 4329460 error(s), 6 warning(s), compile time: 132 msec 17
Atualmente, a única coisa que está faltando são os dados de compilação do agente no relatório em que o cálculo foi feito.
A compilação do agente foi adicionada ao relatório.
Adicione estas linhas ao Expert Advisor
#include <TypeToBytes.mqh> // https://www.mql5.com/pt/code/16280#define REPORT_TESTER // O testador registrará automaticamente os relatórios#include <Report.mqh>
e, logo durante a otimização do Expert Advisor, obteremos relatórios para cada passagem calculada.
Se você notar que uma única execução não coincide com a otimizada, compare a compilação do relatório com a compilação do terminal. Se eles não coincidirem, é muito provável que esse seja o motivo dos resultados diferentes.
Dei uma olhada nos seus links, mas não entendi o que preciso fazer para usar o "Graphic.mqh" no MT4. Você poderia ser mais detalhista?
Instale o MT5 e copie todo o conteúdo (com subpastas) do catálogo MQL5\Include para o MQL4\Include de seu terminal MT4.
Mais uma coisa: no relatório HTML criado no MT4 (não verifiquei no MT5), o símbolo NZDUSD é exibido incorretamente:
Sim, isso é um bug, cuja natureza é clara. Tentei fazer com que o moderador atualizasse a biblioteca hoje. Não quero abusar dela, portanto, postarei a versão corrigida mais tarde.
Instale o MT5 e copie todo o conteúdo (com subpastas) do catálogo MQL5\Include para o MQL4\Include de seu terminal MT4.
Obrigado por sua ajuda, eu resolvi o problema). Tenho o MT5 instalado, apenas copiei não o diretório MQL5/Include, mas apenas uma subpasta MQL5/Include/ Graphics.
Ela está sob moderação. Ao mesmo tempo, adicionei o nome do símbolo do testador, as configurações de otimização para cada parâmetro de entrada, o nome do servidor (para entender em quais cotações o teste está, se não for um símbolo personalizado) e a moeda da conta.
No momento, o testador MT5 não menciona em nenhum lugar o sinalizador de símbolo personalizado dos símbolos que testa ao compilar os relatórios de teste. Os relatórios da biblioteca contêm essas informações.
É claro que eles são diferentes. Só me pergunto por que um programa em execução no agente deve retornar o TERMINAL_BUILD do terminal local? Se isso acontecer (embora eu duvide), parece ser um bug.
Não, ele retornará sua própria compilação - o agente.
Não, ela vai recuperar a construção de seus agentes.
Bem, o que você queria? Não o build de agente?
Bem, do que você precisava? Não de uma construção de agente?
Talvez tenhamos entendido mal um ao outro.
Ela não está disponível, mas você pode fazer isso da seguinte forma
No compilador MT4, a biblioteca do MT5"Graphic.mqh", bem como "Curve.mqh", que é usada em "Graphic.mqh", não é compilada - incompatibilidade de plataforma.
Ela é compilada
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
Recursos da linguagem mql4, sutilezas e técnicas de trabalho
fxsaber, 2017.07.23 12:46 pm.
Na continuação do tópico de lançamento de bibliotecas MQL5 sob MT4
Como se viu, a biblioteca pode ser útil ao lidar com situações de "Execução única não corresponde ao resultado da otimização".
Atualmente, a única coisa que está faltando são os dados de compilação do agente no relatório em que o cálculo foi feito.
A compilação do agente foi adicionada ao relatório.
Adicione estas linhas ao Expert Advisor
e, logo durante a otimização do Expert Advisor, obteremos relatórios para cada passagem calculada.
Se você notar que uma única execução não coincide com a otimizada, compare a compilação do relatório com a compilação do terminal. Se eles não coincidirem, é muito provável que esse seja o motivo dos resultados diferentes.
Compilado
Dei uma olhada nos seus links, mas não entendi o que preciso fazer para usar o "Graphic.mqh" no MT4.
E mais uma coisa: no relatório HTML criado no MT4 (não verificado no MT5), há uma exibição incorreta do símbolo NZDUSD:
Dei uma olhada nos seus links, mas não entendi o que preciso fazer para usar o "Graphic.mqh" no MT4. Você poderia ser mais detalhista?
Instale o MT5 e copie todo o conteúdo (com subpastas) do catálogo MQL5\Include para o MQL4\Include de seu terminal MT4.
Mais uma coisa: no relatório HTML criado no MT4 (não verifiquei no MT5), o símbolo NZDUSD é exibido incorretamente:
Sim, isso é um bug, cuja natureza é clara. Tentei fazer com que o moderador atualizasse a biblioteca hoje. Não quero abusar dela, portanto, postarei a versão corrigida mais tarde.
Instale o MT5 e copie todo o conteúdo (com subpastas) do catálogo MQL5\Include para o MQL4\Include de seu terminal MT4.
Publicarei a versão corrigida mais tarde.
Ela está sob moderação. Ao mesmo tempo, adicionei o nome do símbolo do testador, as configurações de otimização para cada parâmetro de entrada, o nome do servidor (para entender em quais cotações o teste está, se não for um símbolo personalizado) e a moeda da conta.
No momento, o testador MT5 não menciona em nenhum lugar o sinalizador de símbolo personalizado dos símbolos que testa ao compilar os relatórios de teste. Os relatórios da biblioteca contêm essas informações.