Se o Expert Advisor exigir o carregamento de uma DLL, ele mesmo não marcará essa caixa de seleção? Parece que se trata do expertmode. Não estou vendo a interface. Preciso editar o código ou o modelo por conta própria?
traveller00: Se o Expert Advisor exigir o carregamento de uma DLL, ele mesmo não marcará essa caixa de seleção? Parece que se trata do expertmode. Não estou vendo a interface. Preciso editar o código ou o modelo por conta própria?
Gostaria de esclarecer a semântica do código de retorno do método Parameters. No momento, quando há um erro ao receber uma string com um modelo, o método retorna 0. Isso pressupõe que 0 significa um erro.
Em todos os outros casos, o retorno é uma string:
Res = (int)EXPERT::StringBetween(Str, EXPERT_FLAGS, STRING_END);
ou seja, o valor de expertmode do modelo chega lá, que pode ser igual a 0 de forma bastante legal. O EXPERT é usado dessa forma em outros projetos, especialmente no Tester:
void OnTimerReal()
{
...
if ((this.Symb += BeginTick) && EXPERT::Parameters(0, Params, Names))
{
... открытие рабочего чарта
}
}
Como resultado, se o método retornar 0, o Tester não funcionará. Por quê? Se o sinalizador de negociação real for redefinido, isso não significa que o teste deva ser proibido, na minha opinião. Além disso, o Tester não faz nada silenciosamente nesse caso.
Gostaria de esclarecer a semântica do código de retorno do método Parameters. Atualmente, quando há um erro ao receber uma cadeia de caracteres com um modelo, o método retorna 0. Isso pressupõe que 0 significa um erro.
O valor de retorno foi alterado desde as primeiras publicações. Portanto, historicamente, o valor de retorno acabou não dizendo nada sobre se há um erro ou não.
Em todos os outros casos, o valor de retorno é uma string:
ou seja, o valor de expertmode do modelo chega lá, que pode ser igual a 0 de forma bastante legal. Em outros projetos, especialmente no Tester, o EXPERT é usado dessa forma :
Como resultado, se o método retornar 0, o Tester não funcionará. Por quê? Se o sinalizador de negociação real for redefinido, isso não significa que o teste deva ser proibido, na minha opinião. Especialmente, o Tester não faz nada silenciosamente nesse caso.
De acordo com o código que você citou, de fato, ele não funcionará se a negociação automática estiver desativada. Não me lembro se isso é um erro ou se foi feito de propósito. Provavelmente, foi feito de propósito para que fosse possível conectar DLLs.
ZЫ Terei que atualizar a Bíblia. Há uma forte tendência de compartilhamento com o Sequence. Como somente eu preciso desse recurso, não é uma prioridade atualizá-la.
Eu uso ativamente o Expert.mqh todos os dias, mas essa foi a primeira vez que me deparei com isso. Aparentemente, trata-se de uma situação muito rara. Tenha em mente.
Bom trabalho, mas acho que agora ele carregará o Expert com a predefinição padrão? Também seria bom se você pudesse carregar arquivos SET para o especialista escolhido
staticbool GetInputNames( MqlParam &Parameters[], string &InputNames[] )
{
constint Size = ::ArraySize(Parameters);
bool Res = (Size > 1);
if (Res)
{
::ArrayResize(InputNames, Size - 1);
for (int i = 1; (i < Size) && Res; i++)
{
InputNames[i - 1] = EXPERT::GetInputName(Parameters[i]);
Res &= (InputNames[i - 1] != NULL);
}
}
return(Res);
}
grupo de entrada "【label1】";
Essa situação parece não ter sido considerada. Quando o parâmetro é um grupo, não há um valor específico e o valor recebido será nulo, portanto os parâmetros após o grupo não serão recebidos.
Essa situação parece não ter sido considerada. Quando o parâmetro é um grupo, não há um valor específico e o valor recebido será nulo, portanto os parâmetros após o grupo não serão recebidos.
Se houver algum problema, forneça arquivos mq5 prontos para reprodução.
Se o Expert Advisor exigir o carregamento de uma DLL, ele mesmo não marcará essa caixa de seleção? Parece que se trata do expertmode. Não estou vendo a interface. Preciso editar o código ou o modelo por conta própria?
Havia exemplos com a DLL acima.
Gostaria de esclarecer a semântica do código de retorno do método Parameters. No momento, quando há um erro ao receber uma string com um modelo, o método retorna 0. Isso pressupõe que 0 significa um erro.
Em todos os outros casos, o retorno é uma string:
Res = (int)EXPERT::StringBetween(Str, EXPERT_FLAGS, STRING_END);ou seja, o valor de expertmode do modelo chega lá, que pode ser igual a 0 de forma bastante legal. O EXPERT é usado dessa forma em outros projetos, especialmente no Tester:
Como resultado, se o método retornar 0, o Tester não funcionará. Por quê? Se o sinalizador de negociação real for redefinido, isso não significa que o teste deva ser proibido, na minha opinião. Além disso, o Tester não faz nada silenciosamente nesse caso.
Gostaria de esclarecer a semântica do código de retorno do método Parameters. Atualmente, quando há um erro ao receber uma cadeia de caracteres com um modelo, o método retorna 0. Isso pressupõe que 0 significa um erro.
O valor de retorno foi alterado desde as primeiras publicações. Portanto, historicamente, o valor de retorno acabou não dizendo nada sobre se há um erro ou não.
Em todos os outros casos, o valor de retorno é uma string:
ou seja, o valor de expertmode do modelo chega lá, que pode ser igual a 0 de forma bastante legal. Em outros projetos, especialmente no Tester, o EXPERT é usado dessa forma :
Como resultado, se o método retornar 0, o Tester não funcionará. Por quê? Se o sinalizador de negociação real for redefinido, isso não significa que o teste deva ser proibido, na minha opinião. Especialmente, o Tester não faz nada silenciosamente nesse caso.
De acordo com o código que você citou, de fato, ele não funcionará se a negociação automática estiver desativada. Não me lembro se isso é um erro ou se foi feito de propósito. Provavelmente, foi feito de propósito para que fosse possível conectar DLLs.
ZЫ Terei que atualizar a Bíblia. Há uma forte tendência de compartilhamento com o Sequence. Como somente eu preciso desse recurso, não é uma prioridade atualizá-la.
A única vez que a construção de detecção de loop infinito funcionou.
Isso aconteceu no Expert.mqh nesse momento.
Eu uso ativamente o Expert.mqh todos os dias, mas essa foi a primeira vez que me deparei com isso. Aparentemente, trata-se de uma situação muito rara. Tenha em mente.
Olá, obrigado, o EXPER.mqh é incrível.
1. como posso ativar o "Algo trading" para o EA aberto com EXPERT::Run(....).
2. estou usando a versão 2019. Existe uma versão mais recente?
1) Como posso ativar o "Algo trading" para o EA aberto com EXPERT::Run(....)?
Leia isto.
2. estou usando a versão 2019. Existe uma versão mais recente?
Última versão.
grupo de entrada "【label1】";
Essa situação parece não ter sido considerada. Quando o parâmetro é um grupo, não há um valor específico e o valor recebido será nulo, portanto os parâmetros após o grupo não serão recebidos.
grupo de entrada "【label1】";
Essa situação parece não ter sido considerada. Quando o parâmetro é um grupo, não há um valor específico e o valor recebido será nulo, portanto os parâmetros após o grupo não serão recebidos.
Se houver algum problema, forneça arquivos mq5 prontos para reprodução.