Especialistas: 5_8 MACross - página 4

 
Shara1:

Ou seja, preciso que após esta linha - int OnInit()

Inserir isto -

Será assim...

Obrigado, senhor.

Não é bem assim. Você precisa comparar os parâmetros "mafastperiod" e "maslowperiod".

 
Vladimir Karputov:

Não exatamente. Você precisa comparar os parâmetros "mafastperiod" e "maslowperiod".

Então, eu só preciso adicionar uma linha? Assim:

//+------------------------------------------------------------------+

//| Função de inicialização especializada|

//+------------------------------------------------------------------+

int OnInit()

{

se(Inpmaslowperiod>=Inpmafastperiod)

{

 

OnInit() em que não são permitidos casos em que "fast" seja maior ou igual a "slow":

//+------------------------------------------------------------------+
//| Função de inicialização de especialista|
//+------------------------------------------------------------------+
int OnInit()
  {
   if(mafastperiod>=maslowperiod)
     {
      Print("\"MA fast: averaging period\" can not be greater and equal to \"MA slow: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }
   SetMarginMode();
 
Vladimir Karputov:

OnInit() em que não são permitidos casos em que "fast" seja maior ou igual a "slow":

Obrigado, parece funcionar, o código foi compilado.


//+------------------------------------------------------------------+
//| Função de inicialização de especialista|
//+------------------------------------------------------------------+
int OnInit()
  {
   if(mafastperiod>=maslowperiod)
     {
      Print("\"MA fast: averaging period\" can not be greater and equal to \"MA slow: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }
   SetMarginMode();
   SetMarginMode();

Mas essas duas linhas são as mesmas, é assim que deve ser?

 
Shara1:

Obrigado, parece funcionar, o código foi compilado.


Mas essas duas linhas são iguais, deveriam ser?

Não. Você copiou uma linha extra. Retire uma linha.

 
Vladimir Karputov:

Não. Você copiou a linha extra. Retire uma linha.

Muito obrigado. É possível adicionar isso a qualquer EA com dois muves?

 
Shara1:

Muito obrigado. Então, você pode adicioná-lo a qualquer EA com dois muves?

Sim, o principal é escrever os nomes das variáveis corretamente.

 
Vladimir tester escreve um erro. Por favor, veja qual é o meu erro.
Arquivos anexados:
20180221.log  11 kb
 
Shara1:
Vladimir tester escreve um erro. Veja qual é o meu erro.

Tudo está normal.

"parâmetros de entrada incorretos" é apenas o acionamento do código

   if(mafastperiod>=maslowperiod)
     {
      Print("\"MA fast: averaging period\" can not be greater and equal to \"MA slow: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }

no processo de otimização genética

 
Vladimir Karputov:

Está tudo bem.

"parâmetros de entrada incorretos" é apenas um acionador de código.

durante o processo de otimização genética.

Obrigado, mas na janela de otimização, algumas linhas estão vermelhas por causa disso?