Erros, bugs, perguntas - página 1655

 
coderex:
talvez seja o construtor da estrutura? está lá de qualquer maneira
Porquê tão inseguro? É claro que é :)
 
Andrey Barinov:
Porquê tão inseguro? É claro que é :)
Não tenho tanta certeza porque não sei o que esperar, actualizei o terminal para 1395 e agora não sei como recuar para 1375 porque o robô deixou de fazer o que era suposto fazer...
 
Andrey Barinov:
Porquê tão inseguro? É claro que é :)
OK, onde está o destruidor?
 
Vladimir Pastushak:
OK, onde está o destruidor?
Mais importante ainda, onde está tudo o resto?
 

O testador offline não regressa ao seu estado inicial após premir "Start" - o botão "Stop" está permanentemente aceso. Isto acontece quando o intervalo do teste vai além do histórico disponível.

2016.08.28 10:19:48     Core 1  RTS-9.16: read container failed
2016.08.28 10:19:48     Core 1  RTS-9.16: ticks synchronization started
2016.08.28 10:19:48     Core 1  RTS-9.16: history synchronized from 2015.06.22 to 2016.08.25
2016.08.28 10:19:48     Core 1  RTS-9.16: load 2651 bytes of history data to synchronize in 0:00:00.016
2016.08.28 10:19:48     Core 1  RTS-9.16: symbol synchronized, 3224 bytes of symbol info received
2016.08.28 10:19:48     Core 1  RTS-9.16: symbol to be synchronized
....
2016.08.28 10:19:41     Tester  RTS-9.16,M1 (BCS-MetaTrader5): testing of Experts\Test.ex5 from 2016.08.01 00:00 to 2016.08.28 00:00

 
Por favor explique porque não pode utilizar a construção que está no código? E como mudar (aparentemente, um novo tipo de indicações para a MQL) para fazer funcionar uma tal construção? E irá abrandar?
void f1( int i1, int i2, int i3, int i4, int i5 ) {}
void f2( int i1, int i2, int i3, int i4, int i5 ) {}

void OnStart()
{  
  bool Condition = true;
  
//  (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5); // 'f1', 'f2' - expression of 'void' type is illegal

  if (Condition)
    f1(1, 2, 3, 4, 5);
  else
    f2(1, 2, 3, 4, 5);
  
  (Condition ? f1 : f2)(1, 2, 3, 4, 5); // Почему так нельзя? Как сделать, чтобы можно было?
}
 
fxsaber:
Por favor explique porque não pode utilizar a construção que está no código? E como mudar (aparentemente, um novo tipo de indicações para a MQL) para fazer funcionar uma tal construção? E irá causar desfasamentos?

Experimente isto

int b = (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5);
 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Insectos, insectos, perguntas

A100, 2016.08.25 14:49

Erro ao executar

Numa versão mais complexa reproduzida como: EX5 carregamento falhou

Na construção 1398 o erro 'EX5 carregamento falhou' permanece (aparentemente não relacionado com esse exemplo)

//Script1.mq5
typedef void (*fn)();
#import "Script2.ex5"
        void g( fn );
#import "Script3.ex5"
        void h();
#import
void OnStart() { g( h ); }
//Script2.mq5
#property library
typedef void (*fn)();
void g( fn f ) export { f(); }
//Script3.mq5
#property library
void h() export {}
 
Vladimir Pastushak:
Utiliza você mesmo Storage?

Respondendo em quatro dias. Mas como se costuma dizer, mais vale tarde do que nunca.

Raramente, mas utilizo o cofre. Principalmente para salvar o trabalho que fiz da perda. Transfiro de computador para computador, também, através do armazenamento. Usei o disco Yandex há pouco. Mas para transferir isto há que fazer quantas manipulações.

No primeiro computador, abrir Yandex, seleccionar o ficheiro, carregá-lo.

No segundo computador, o receptor: abrir o Yad, escolher um ficheiro, descarregar, criar um novo código no editor, copiar o código descarregado, andompile.

E não há confusão adicional com as versões alojadas por JD.

Tenho esta pergunta. trabalhos de armazenamento. Se ligar computadores diferentes, o código é transferido. Mas não o posso ver da minha conta. Não há botão de "Pré-visualização". Existem ficheiros na pasta Projectos.

 

Olá, utilizo a função ChartSetInteger (construção MT5 1395) para alterar a altura da janela indicadora:

 if(!ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS, 1, subWindowPixels))
    {
        Print(__FUNCTION__+", Error Code = ",GetLastError());
        return;
    } 
Após redimensionar a janela desta forma, a janela indicadora é bloqueada e não pode ser redimensionada manualmente.
No próximo tópico https://www.mql5.com/en/forum/59754, a solução deste problema para o MT4 foi definir o tamanho da janela indicadora para 0 pixels, mas no MT5 este método não funciona. Por favor, aconselhe se de alguma forma pode resolver este problema... Obrigado.