Erros, bugs, perguntas - página 610

 

Olá.

Mudando de 4 para 5. Não consigo entender a seguinte pergunta. Prescrevi a minha aula no ficheiro de inclusão, depois utilizo-a no Expert Advisor. Depois quero criar outro Expert Advisor e preciso da mesma classe. Preciso de criar outro ficheiro ou o terminal irá criar uma cópia do existente e ligá-lo devidamente a outro EA (como bibliotecas de funções em MQL4)? As classes podem ser registadas em bibliotecas e depois utilizadas em conjunto com vários Expert Advisors (como as bibliotecas de funções na MQL4)? Descarreguei o certificado do 5-th, mas não encontrei nenhuma descrição detalhada deste procedimento. Pode ser, há algo para ler que me ajude a compreendê-lo?

Obrigado de antemão.

 

RedFish:

Tenho de criar outro ficheiro ou o terminal irá criar uma cópia do existente e ligá-lo correctamente a outro EA (como bibliotecas de funções em MQL4)?

Ao criar uma classe num ficheiro externo, faça o ficheiro com a extensão mqh em vez de mq5 e depois inclua este ficheiro no seu projecto de qualquer perito/script/indicador

Pode adicionar classes a bibliotecas e utilizá-las simultaneamente com várias EAs (como bibliotecas de funções em MQL4)?

É claro que o faça dessa forma.

 
sergeev:

Ao criar uma classe num ficheiro externo, faça este ficheiro com a extensão mqh em vez de mq5 e ligue este ficheiro a qualquer um dos seus projectos EA/Script/indicador através de incluir.

É claro que o faça dessa forma.

Obrigado pela resposta.

Como ligar bibliotecas com aulas a um Consultor Especialista? Na MQL4, houve a operação #importar - eu listei a função - #importar, fechou-a e tudo funcionou. Na MQL5, como funciona este procedimento? Não consigo encontrar uma descrição deste processo em lado nenhum ...

Mais uma vez, obrigado.

 
RedFish:

Obrigado pela resposta.

Como é que ligo bibliotecas com aulas a um Consultor Especialista? Na MQL4, houve a operação #importar - enumerei as funções - #importar, fechou-a e tudo funcionou. Na MQL5, como funciona este procedimento? Não consigo encontrar uma descrição deste processo em lado nenhum ...

Mais uma vez obrigado.

Estes pontos são descritos em pormenor no Help: https://www.mql5.com/ru/docs/basis/preprosessor
Документация по MQL5: Основы языка / Препроцессор
Документация по MQL5: Основы языка / Препроцессор
  • www.mql5.com
Основы языка / Препроцессор - Документация по MQL5
 
Terminal: При авторизации в журнал терминала выводится информация о времени и адресе предыдущего успешного подключения.

Esta implementação leva a uma quebra de segurança - revela o endereço IP do comerciante se este subitamente decidir dar a palavra-chave Invest a outra pessoa. Verifiquei - o IP é mostrado a todos, independentemente de se e como se ligaram usando a sua palavra-passe de negociação ou palavra-passe de investidor.

Isto significa que o IP da última ligação (independentemente de a última ligação ter sido feita com Investidor ou Palavra-passe de Comércio) é mostrado ao iniciar sessão (independentemente de a última ligação ter sido feita com Investidor ou Palavra-passe de Comércio).

Deve desactivar esta funcionalidade para a palavra-passe do investidor e considerar apenas os logins utilizando a palavra-passe de negociação.

 
notused:

Esta implementação conduz a uma quebra de segurança - revela o endereço IP do comerciante se este subitamente decidir dar a palavra-passe Invest a outra pessoa. Verifiquei - o IP é mostrado a todos, independentemente de se e como se ligaram usando a sua palavra-passe de negociação ou palavra-passe de investidor.

Isto significa que o IP da última ligação (independentemente de a última ligação ter sido feita com Investidor ou Palavra-passe de Comércio) é mostrado ao iniciar sessão (independentemente de a última ligação ter sido feita com Investidor ou Palavra-passe de Comércio).

Deve desactivar esta funcionalidade para a palavra-passe do investidor e considerar apenas os logins utilizando a palavra-passe de negociação.

Sim, isso será corrigido - já visto.
 
      ObjectSetInteger(0,highlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
Como posso preparar antecipadamente uma string com enumeração lógica(?) como: OBJ_PERIOD_M10| OBJ_PERIOD_H4, para depois apenas substituir em ObjectSetInteger () variável pronta sob a forma de string colada? Tentei colá-lo simbolicamente e depois envolvê-lo em StringToInteger(), mas não funcionou... PorqueOBJ_PERIOD_... - é um elemento do tipo enumeral mas tem a bandeira hex-equivalente do tipo int? Esta enumeração parece mais uma operação OR bitwise...
 
x100intraday:
Como posso pré-ender uma string com enumeração booleana(?) como: OBJ_PERIOD_M10| OBJ_PERIOD_H4, para que eu possa simplesmente substituir uma variável pronta em ObjectSetInteger () como uma string colada? Tentei colá-lo simbolicamente e depois envolvê-lo em StringToInteger(), mas não funcionou... PorqueOBJ_PERIOD_... - é um elemento do tipo enumeral mas tem o hex-equivalente da bandeira do tipo int? Esta enumeração parece mais uma operação OR bitwise...

Funcionaria com #define?

Exemplo:

#define Fl_Fnc __FILE__+" -> "+__FUNCTION__+"(): "
 
tol64:

Funcionaria com #define?

Exemplo:

Tenho medo de imaginar como. Na verdade, preciso de uma variante flexível, não preciso de uma corda na sua forma inalterada, mas de várias cordas diferentes para formar, em loop... Se for possível, gostaria de ver um exemplo mais específico...

Na realidade, a questão resume-se a outra coisa. Quero saber se é possível em princípio obter OBJ_PERIOD_M30 real como um elemento enumeral a partir de uma string que contém uma palavra reservada do tipo "OBJ_PERIOD_M30 " e que contém de facto um valor em que se podem realizar operações como |? Este é um caso simples. Mas quero interpretar imediatamente qualquer linha do formulário "OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1" como uma operação bitwise com valores numéricos sem introduzir um conjunto adicional de valores numéricos correspondentes e subsequente "identificação" elemento por elemento com uma lista.

 

Boa tarde, por favor aconselhar, preciso de utilizar este vazio de construção RAssignStringVector(int rhandle, string variable, string &vector[], int size);

Recebo o erro 'vector' - parâmetro inválido para a função de importação mt4R.mqh, como posso passar um ponteiro para um conjunto de cordas, funciona em µl4, não em 5, o que devo fazer nesta situação?