Erros, bugs, perguntas - página 2240

 
A100:
Além disso, não é um utilizador comum, mas as suas obras são utilizadas por muitas, muitas pessoas.

Colocá-lo-ia desta forma:

Ao ler um ficheiro, este erro pode ocorrer 1 vez em 100 leituras (leitura de um ficheiro, por exemplo, a 10 vezes por segundo)

Além disso, tal erro ocorre, depois desaparece e o Expert Advisor continua a trabalhar.

 
Vladislav Andruschenko:

Colocá-lo-ia desta forma:

Ao ler um ficheiro, este erro pode ocorrer 1 vez em 100 leituras (leitura de um ficheiro, por exemplo, a 10 vezes por segundo)

E este erro ocorre, depois desaparece e o Expert Advisor continua a trabalhar.

A este respeito, existe uma proposta simples e honesta para os programadores: pegue num computador nessa configuração(*), que é especificado como os requisitos mínimos do sistema para o MetaTrader, e utilize-o para testes (incluindo ServiceDesk)

(*) Em comparação com esta configuração, a minha tábua é um meteoro e não há nada carregado excepto MetaTrader

 
A100:

Neste contexto, existe uma proposta simples e honesta para os Desenvolvedores: levar um computador nessa configuração(*), que é especificado como os requisitos mínimos para o MetaTrader e realizar testes sobre ele (inclusive no ServiceDesk)

(*) o meu tablet é um meteoro em comparação com esta configuração


talvez se trate de travões (mesmo o meu não fraco já está 90% carregado) e depois este erro ocorre? como mostrou na explicação acima?

Obrigado pela referência, vou tentar descobrir.

 
A100:

Assim, a pedido #1530548 ServiceDesk não pode reproduzir o erro https://www.mql5.com/ru/forum/1111/page1628#comment_2702870 mesmo que eu tenha uma reprodução estável mesmo agora (na construção 1881). Com um pouco de reflexão, descobri porquê! A resposta é: porque tenho um computador lento (tablet)

Situação semelhante estava em aplicação #1952509 sobre este problema https://www.mql5.com/ru/forum/1111/page2124#comment_6518537

O ServiceDesk também informou no início que não conseguia reproduzir o erro. Foi preciso um grande esforço para me convencer de que afinal houve um erro. no final:

Equipa de Apoio 2018.02.10 22:35
Parece ter reproduzido o seu problema na sexta-feira, numa máquina fraca com 39 gráficos.
Ficaremos atentos a isso. Solicitará dados adicionais, se necessário. Obrigado.

Isto levanta a questão: será necessário preocupar-se com tais erros? Ou apenas deixá-los viver em paz... talvez não voltem a aparecer - basta ter um computador rápido, certo?

Estas questões surgem no contexto de uma dúzia de outros gráficos com vários EAs/indicadores poderem transformar um computador rápido num computador lento (e um comerciante médio utiliza exactamente muitos EAs - por exemplo https://www.mql5.com/ru/forum/267154/page5#comment_8164924 - 82 EAs estão em execução)... Ou mesmo um computador lento pode ficar lento por um curto período de tempo devido a outras circunstâncias (antivírus... outros programas... ou o próprio sistema tomou temporariamente conta de quase todos os recursos).

E então exactamente esse inexplicável fracasso 1 em cada 100 irá acontecer (e pelas leis da natureza ocorre naturalmente no momento mais inoportuno).

Qual é o problema de transferir a estratégia de trabalho para fora do MT5, deixando o MT5 como conector? penso que gastar tempo em tais danças é bom, se a estratégia for boa, e não como de costume ))

 
Konstantin:

Qual é o problema de tirar a estratégia de trabalho do MT5 deixando o MT5 como conector? Penso que não há problema em gastar tempo neste tipo de dança se a estratégia valer a pena e não como é habitual ))

O problema é a organização de um feedback completo ... e mesmo os conectores precisam por vezes de abrir os ficheiros eles próprios
 

Alguém pode explicar porque é que na MQL5 o tempo da série cronológica[] não corresponde ao tempo do servidor?

aqui está um indicador que calcula a mudança dos preços de fecho em relação ao início do dia:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot Label1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2
//--- indicator buffers
double         DB[];

static int lastdayclose=-1;
static double F0=1.0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexBuffer(0,DB,INDICATOR_DATA);
   lastdayclose=-1;
   F0=1;
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i,limit;
   MqlDateTime tmpdate;
   if(prev_calculated==0)
     {
      limit=rates_total-1;
      lastdayclose=-1;
      F0=1;
     }
   else limit=rates_total-prev_calculated;
   ArraySetAsSeries(time,true);
   ArraySetAsSeries(close,true);
   for(i=limit;i>=0;i--)
     {
      TimeToStruct(time[i],tmpdate);
      if(tmpdate.day!=lastdayclose)
        {
         F0=close[i];
         lastdayclose=tmpdate.day;
        }
      DB[i]=F0-close[i];
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+

o indicador é desenhado:

https://www.mql5.com/ru/charts/8940511/eurusd-m5-alpari-international-limited

pode ver que a hora do início do dia é deslocada para a esquerda por 2 horas

 
Igor Makanu:

pode ver que o início do dia é deslocado para a esquerda por 2 horas

Consegue ver onde?

Capturas de ecrã da plataforma de negociação MetaTrader

EURUSD, M5, 2018.07.25

Alpari International Limited, MetaTrader 5, Demonstração

EURUSD, M5, 2018.07.25, Alpari International Limited, MetaTrader 5, Demonstração


 
Alexey Viktorov:

Ver onde?

vê as linhas separadoras do período? - é o início do dia, corresponde à hora do servidor 0:00

a lógica do indicador é clara? - salpicos verticais da linha vermelha é o preço de fecho da primeira barra no início do dia, memorizamo-lo e depois desenhamos o incremento dos preços de fecho relativos ao preço de fecho da primeira barra na abertura do dia - este "espigão vermelho" deve estar na linha separadora do período, ou seja, no início do dia

 
A100:
O problema é organizar um feedback completo... e mesmo conectores precisam por vezes de abrir os ficheiros eles próprios

Porque é que os conectores precisam de abrir os ficheiros eles próprios, se toda a lógica está fora, chamar a funcionalidade necessária do OnInit num programa externo para rubricar

 
Igor Makanu:

vê as linhas separadoras do período? - é o início do dia, corresponde à hora do servidor 0:00

a lógica do indicador é clara? - salpicos verticais da linha vermelha é o preço de fecho da primeira barra no início do dia, memorizamo-lo e depois desenhamos os aumentos de preços de fecho relativos ao preço de fecho da primeira barra na abertura do dia - este "espigão vermelho" deve estar na linha de separação, ou seja, no início do dia

Acha que podemos dizer algo com base nisso? Sim...

Razão: