Erros, bugs, perguntas - página 582

 
ivandurak:

Abaixo está um guião que deve emitir as etiquetas para o carácter seleccionado, independentemente do carácter em que é atirado. No entanto, só emite as etiquetas quando atirado sobre o mesmo carácter. Plz precisa de um empurrão.


Em vez de:

   CopyRates(Symbol(),0,0,10,price);

necessidade

   CopyRates("EURUSD",0,0,10,price);
 
uncleVic:

Em vez de:

necessidade

Porque não funciona com Symbol()?
 
tol64:
Porque não funciona com Symbol()?

emite as etiquetas no símbolo seleccionado, independentemente do símbolo em que é atirado.

com Symbol() levará o que for atirado.

 

Porque é que a enumeração ENUM_APPLIED_PRICE começa com 1?

   ENUM_APPLIED_PRICE enm;
   for(int i=0;i<10;i++)
     {
      enm=i;
      Print(EnumToString(enm));
     }

resultado:

        ENUM_APPLIED_PRICE::9
        ENUM_APPLIED_PRICE::8
        PRICE_WEIGHTED
        PRICE_TYPICAL
        PRICE_MEDIAN
        PRICE_LOW
        PRICE_HIGH
        PRICE_OPEN
        PRICE_CLOSE
        ENUM_APPLIED_PRICE::0
 

Qual é o tempo devolvido pela função TimeCurrent( )?

A ajuda lê-se:

Devolve a última hora conhecida do servidor, a hora de chegada da última cotação por um dos símbolos seleccionados no Market Watch. No manipulador OnTick() esta função devolverá o tempo do tick recebido para ser processado. Noutros casos (por exemplo, nos manipuladores OnInit(), OnDeinit(), OnTimer() e assim por diante) esta é a hora da última cotação para qualquer símbolo disponível na janela "Market Watch", ao mesmo tempo que é mostrado no cabeçalho desta janela. O valor de tempo é gerado no servidor de negociação e não depende das definições de tempo do PC de um utilizador.

A hora de chegada da última citação para qualquer símbolo - pode ser significativamente diferente para símbolos diferentes de- especialmente para aqueles, para os quais os ofícios estão fechados))

Se olhar para a visão geral do mercado - servidor MQL (a imagem é tirada hoje):


Vemos a hora 15:22:42 - não corresponde a nenhum dos símbolos. Talvez algo precise de ser afinado no servidor?

 

Gentlemen MQ tem uma pequena sugestão:

Ao optimizar uma EA, pode fechar acidentalmente o terminal. É possível fazer uma confirmação para fechar.

Para aqueles que não precisam dela, faça uma bandeira nas definições do testador.

Espero que outros utilizadores de MT me apoiem. É uma pena quando alguns dias de trabalho vão por água abaixo e se tem de começar tudo de novo.

 
vdv2001:

Gentlemen MQ tem uma pequena sugestão:

Ao optimizar uma EA, pode fechar acidentalmente o terminal. É possível fazê-lo de modo a que seja necessária a confirmação do encerramento.

Para aqueles que não precisam dela, faça uma bandeira nas definições do testador.

Espero que outros utilizadores de MT me apoiem. É uma pena quando alguns dias de trabalho vão por água abaixo e se tem de começar tudo de novo.

E há também uma perda de contacto no interruptor de rede (nunca se sabe quais são os problemas do utilizador final). Em geral, o problema tem de ser ampliado,

Fazer uma autosave intermédia dos dados internos do testador (sabes, a última população),

para que ele (o testador) pudesse continuar a procurar desde o último ponto guardado num novo começo.

HZZ Esta característica tem sido testada há muito tempo em jogos (jogo raro pode ser passado regularmente sem poupar) e justifica-se bastante bem. Portanto, não seria um novo modelo da bicicleta.

 

Com todo o respeito, por favor explique o problema. Imho, o problema não está no esquiador e não no asfalto, os esquis permanecem. Como é possível que o ciclo se torne infinito? Ou pontapé na direcção do esqui.

class proba
  {
   private:
      int   Nambe;
   public:
       void     Init(){Nambe=10 ;};
       void     Vedenie() {Nambe--  ;};
       bool     Start(){if (Nambe >0) return(true); return(false) ;};        
  };
//=========================================================================
proba cikl;
void OnStart()
  {
      cikl.Init();
      while(cikl.Start())
        {
         cikl.Vedenie() ;
         Print(" Функция старт вернула ",cikl.Start());
        }
  }
 

Se corrigir o texto da aula desta forma:

class proba
  {
   private:
      int   Nambe;
   public:
       void     Init(){Nambe=10 ;};
       void     Vedenie() {Nambe--  ;};
       bool     Start(){
         if (Nambe >0)return(true);
         return(false) ;
       };        
  };

então tudo funciona:

2011.11.27 11:06:13 proba (EURUSD,M30) A função de início retornou falsa

2011.11.27 11:06:12 proba (EURUSD,M30) A função de início voltou a ser verdadeira

2011.11.27 11:06:12 proba (EURUSD,M30) Função Start devolvida verdadeira

2011.11.27 11:06:12 proba (EURUSD,M30) Função Start devolvida verdadeira

2011.11.27 11:06:11 proba (EURUSD,M30) Função Start devolvida verdadeira

2011.11.27 11:06:10 proba (EURUSD,M30) Função Start devolvida verdadeira

2011.11.27 11:06:09 proba (EURUSD,M30) Função Start devolvida verdadeira

2011.11.27 11:06:07 proba (EURUSD,M30) Função Start devolvida verdadeira

2011.11.27 11:05:59 proba (EURUSD,M30) Função Start devolvida verdadeira

2011.11.27 11:05:44 proba (EURUSD,M30) Função Start devolvida verdadeira

Maravilhas.

 
gdtt:

Se fixar o texto da aula desta forma:

funciona.

maravilhas.

Ctrl-C Ctrl-V não funciona plz explica qual é o truque, e que versão tem. Tenho construído 540 a partir de 11 de Novembro de 2011.