Erros, bugs, perguntas - página 1490

 
Vladislav Andruschenko:

em geral, os resultados são ambíguos, o teste é rude - um teste rápido..:

o guião mostra simplesmente o tempo e o preço no provador:

..................

está a memória virtual em uso? tente desactivá-la. (apenas se o Windows estiver em SSD)

No Windows 7 clique com o botão direito do rato em "O meu computador", depois em "Propriedades", depois na lista da esquerda "Propriedades Avançadas do Sistema" e da esquerda para a direita em sequência:

Estou em HDD, por isso a memória virtual é utilizada

 
tudo está desligado
 
Vladislav Andruschenko:
tudo está desligado.
Um agente é compreensível. As tarefas mais complexas em todo o mundo são resolvidas por agentes.
 
Cavalheiros, administradores e utilizadores experientes do Metatrader4, por favor ajudem-me mais uma vez.
Tenho trabalhado com muitos utilizadores de MetaTrader4 e tenho trabalhado com muitos utilizadores de MetaTrader4 durante muito tempo. O que deve fazer no seu terminal para evitar um tal cenário no futuro?
 
Artem Prischepa:
Cavalheiros, administradores e utilizadores experientes do Metatrader4, por favor ajudem-me mais uma vez.
Tenho trabalhado com muitos utilizadores de MetaTrader4 e tenho trabalhado com muitos utilizadores de MetaTrader4 durante muito tempo. O que devo ajustar no meu terminal para evitar um tal cenário no futuro?
No lado do assinante, a abertura de dois terminais resulta na duplicação do sinal recebido.
 
lilita bogachkova:
No lado do assinante, a abertura de dois terminais resulta numa duplicação do sinal recebido.
Se possível, explicar isto com mais detalhe. Se apenas 1 terminal é subscrito ao sinal, como pode um 2º terminal aberto duplicar a abertura de uma posição?
 
Maxim Khrolenko:
Gostaria de saber mais sobre o assunto. Se apenas 1 terminal for subscrito ao sinal, como pode a presença de um 2º terminal aberto duplicar a abertura de uma posição?

Houve algum sinal livre, inscrevi-me. Deixei o meu computador a funcionar e abri um terminal noutro computador para testar estratégias (mesma conta), ambos os terminais funcionam com portáteis. Olho para a conta um negócio aberto, depois outro, depois outro, e o lado do sinal está meio desligado. Fechei um terminal e os negócios pararam de duplicar.

 

MT4. Quero chamar a atenção para a diferença na ordem de inicialização das variáveis globais e das variáveis externas. Não é mencionado na documentação.

A variável externa está localizada em âmbito global e pelo tipo de variável (global ou local) refere-se ao global, como está escrito na documentação e no tutorial de Kovalev.

Uma vez que a documentação nada diz sobre a ordem de inicialização do exterior, é lógico concluir que a ordem de inicialização do exterior é a mesma que a da própria variável global.

De facto, as diferenças são significativas. As variáveis globais a e b são inicializadas uma vez antes da execução da primeira função init; elas mantêm os seus valores iniciais (ou alterados no código), se o período de tempo ou símbolo no gráfico tiver mudado.

A variável externa int c não guarda o valor alterado no código e, se o prazo ou instrumento no gráfico tiver sido alterado, toma o valor inicial especificado. O código abaixo mostra isto.

Isto é importante de saber para compreender por que razão, tudo o resto sendo igual, os resultados do código correndo da janela "Propriedades" ou recompilação diferem dos resultados do código correndo alterando o período de tempo ou símbolo.

Abaixo está o código que mostra isto. Ao alterar várias vezes o prazo ou o instrumento, podemos ver que a e b crescem, enquanto c mantém o seu valor original.

extern int c=1;
int a=1,b=1;
void  OnInit()
  {Print(" a=",a," b=",b," c=",c);
  a++;b++;c++;
  }


 
Yuri Evseenkov:

MT4. Quero chamar a atenção para a diferença na ordem de inicialização das variáveis globais e das variáveis externas. Não é mencionado na documentação.

Sim, é verdade.

#property strict
extern int c=1;
int a=1,b=1;
int OnInit()
  {
   Print(" a=",a," b=",b," c=",c); a++;b++;c++;
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason) { }
void OnTick() { }


 
Existe alguma opção no servidor MT4 para desactivar a função CloseBy?
Razão: