Erros, bugs, perguntas - página 676

 

costy_,

tentar reinicializar após uma inicialização falhada e entrar num loop infinito?

I em Oninite rubricar variáveis (atribuir valores a variáveis) relacionadas com o nível global do programa. Poder utilizar um código de retorno não zero permite-me imprimir a causa da falha e parar o programa de uma forma decente (ou seja, parar através do OnDeinit). Isto é bastante satisfatório.

 

Não perpétuo, até à conclusão bem sucedida do aviso initio. poiticovo (como um indicador) na ajuda.

Verificam as variáveis glob. após a inicialização para ver se são inicializadas correctamente?

Quer tentar rubricá-los mais algumas vezes se a inicialização falhar?

 

Graças a todos os que responderam. Este código acabou por ser um corte da EA multimoeda - descobriu-se que o testador não o quer comer.

Novos detalhes: a queda ocorre apenas em 7-8 de Março de 2011, apenas em Alpha forex

 

costy_

 Не вечный, до удачного завершения иниц. потиково (т.к. индикатор) предупредив в справке.

Aparentemente, não compreendo a sua intenção, nomeadamente, não compreendo o que é "inicialização em Oninit() po-tikovo", e o que é" inicializaçãobem sucedida em Oninit() po-tikovo".

Verificam as variáveis globais após a inicialização para se certificarem de que são inicializadas correctamente?

Outro conceito que é novo para mim: "verificar as variáveis globais de um programa após a inicialização para verificar a consistência com a inicialização".

Mas eu posso responder à pergunta. A verificação do sucesso na atribuição de valores a variáveis globais de um programa (por exemplo, handles) ocorre dentro da função Oninit(). Em caso de falha, eu faço o loop final lá (em Oninit), se necessário. No caso de uma falha final ao atribuir valores à variável dentro do Oninit(), envio uma mensagem à impressora. Depois, ou encontro o meu erro no código ou denuncio-o no fórum.

Não verifico o tipo "correspondência de inicialização" após a cessação da função Oninit(), porque não faz sentido quando a função Oninit() termina com sucesso.

E o seu exemplo: um erro de bool variável local é aí declarado. Está a planear inicializar de alguma forma a variável local da função Oninit()?

Gostaria de tentar inicializá-los mais algumas vezes se falharem?

Faço-o a toda a hora dentro da função Oninit(), até que ela termine.

Deixem-me acrescentar. Por "inicialização" dentro deste tópico, entendo a atribuição de valores a variáveis globais dentro da função Oninit (ou seja, utilizando gírias). Acrescento, porque o terminal do cliente inicia o seu próprio processo de inicialização de variáveis globais antes de enviar o Init.

 

ilunga

Na verdade, melhores condições de código e de teste estão no servicedesk.

 

Na funçãotrali_vali_for_indicator() sincronizando múltiplasMqlRates EURUSD[],AUDUSD[],GBPUSD[],NZDUSD[],USDCAD[],USDCHF[],USDJPY[];

não há maneira de o fazer na primeira tentativa, em teoria uma vez sincronizadas existem estruturas exemplares com xxxxxx[0].time == yyyyy[0].time== ..... zzzzzzzz[0] sincronização posterior por tempo > xxxxxxxx[0].tempo.

Criei a minha função init(), mas é sobre oOnInit()!

Seo OnInit() falhar, o arranque não acontecerá (se o motor de arranque não arrancar >> virar a cambota à mão), então o utilizador necessita

  • lista de indicadores >> reiniciar o ind.
  • remover ind. >> ligar ind.
  • pedido de apoio >>
  • outros

No ticko é >> " na conclusão mal sucedida de f.OnInit()gera um eventoDeinit com o código de causaREASON_INITFAILED"+ com reinicialização subsequente no tick seguinte até à reinicialização bem sucedida. +

(Porquê interromper - deinit se o indicador vai mostrar porcos-espinhos de qualquer maneira).

Esta é antes uma questão para os criadores...

 
abolk:
E o problema com a incapacidade de operar o botão "Responder" no fórum? Vão repará-lo? Algum tipo de silêncio do apoio. Pelo menos uma tranquilidade como "fazer/não fazer".
Fixo, graças a todos os que prestaram atenção.
 

costy_:

Eu próprio evito o problema da sincronização, pelo que não posso aconselhá-lo em nada. Mas o problema em si tem sido discutido no fórum muitas vezes. Procure-o com uma pesquisa por palavra-chave.

 
Yedelkin:

Eu próprio evito o problema da sincronização, pelo que não posso aconselhá-lo em nada. Mas o problema em si tem sido discutido no fórum muitas vezes. Procure a pesquisa por palavra-chave.

Obrigado, vou dar outra vista de olhos.

 

Olá, poderia por favor aconselhar-me?

Estou a tentar adicionar um indicador ADX para o módulo de negociação. Estou a tentar fazer um sinal de duas médias móveis com confirmação do ADX. Copiei este código de outro módulo, na versão original tudo funciona naturalmente, descarreguei-o deste site e o código em si não deve dar erros.

//+------------------------------------------------------------------+
//| Create ADX indicator.                                            |
//| INPUT:  indicators -pointer of indicator collection.             |
//| OUTPUT: true-if successful, false otherwise.                     |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CSignalMY_MA_ADX::InitADX(CIndicators* indicators)
  {
//--- create ADX indicator
   if(m_ADX==NULL)
      if((m_ADX=new CiADX)==NULL)
        {
         printf(__FUNCTION__+": error creating object of the ADX");
         return(false);
        }
//--- add ADX indicator to collection
   if(!indicators.Add(m_ADX))
     {
      printf(__FUNCTION__+": error adding object of the ADX");
      delete m_ADX;
      return(false);
     }
//--- initialize ADX indicator
   if(!m_ADX.Create(m_symbol.Name(),m_period,m_period_ADX))
     {
      printf(__FUNCTION__+": error initializing object of the ADX");
      return(false);
     }
//--- ok
   return(true);
  }

Mas eu devo ter feito algo de errado e cometido erros como estes:

'==' - utilização de operação ilegal SignalADX-MA.mqh 183 12

'CiADX' - tipo mismatch SignalADX-MA.mqh 184 21

'=' - utilização de operação ilegal SignalADX-MA.mqh 184 16

'm_ADX' - conversão de parâmetros não permitida SignalADX-MA.mqh 190 23

'm_ADX' - apontador de objectos esperado SignalADX-MA.mqh 193 14

Por favor, ajudem-me, ficarei muito grato. Posso anexar o ficheiro aqui se precisar, não se importe que seja uma confusão, estou apenas a aprender e todo o processo consistiu em eu cortar e colar de volta alguns módulos de comércio diferentes para a EA.


Razão: