Erros, bugs, perguntas - página 730

 

Pode aconselhar como resolver o problema?
Após a primeira execução do Expert Advisor no testador (Read=false), é criado um ficheiro csv com estatísticas.
Em int OnInit() o seguinte código:

  ResetLastError();
  if(Read)
  {
    filehandle=FileOpen(FileName,FILE_READ|FILE_CSV);
  }
  else
  {
    filehandle=FileOpen("razdvigka.csv",FILE_WRITE|FILE_CSV);
  }
O ficheiro criado é armazenado no directório: tester\Agente\MQL5\Files

No entanto, na segunda corrida (Read=true). Precisamos de ler os dados deste ficheiro, mas o ficheiro é apagado.

 
Vitya:

Pode aconselhar como resolver o problema?
Após a primeira execução do Expert Advisor no testador (Read=false), é criado um ficheiro csv com estatísticas.
Em int OnInit() o seguinte código:

O ficheiro criado é armazenado no directório: tester\Agente\MQL5\Files

No entanto, na segunda corrida (Read=true). Precisamos de ler os dados deste ficheiro, mas o ficheiro é apagado.

Neste caso, é necessário criar um ficheiro com a bandeira FILE_COMMON. O ficheiro será criado na pasta partilhada do terminal.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
tol64:
Neste caso, é necessário criar um ficheiro com a bandeira FILE_COMMON. O ficheiro será criado na pasta partilhada do terminal.
filehandle=FileOpen(FileName,FILE_READ|FILE_CSV|FILE_COMMON);
Obrigado.
Já o descobrimos.
 
Obrigado!
 
Servicedesk, a aplicação #359447 é apalpadela ou já tentou em vão?
 
x100intraday:
Servicedesk, a aplicação #359447 está a ser apalpada ou já tentou por nada?
Há muita discussão em curso. Mas nenhuma resposta está ainda pronta.
 

Se assumirmos que este é o indicador), a primeira vez a data será exibida, mas as definições seguintes no gráfico (segunda, terceira cópia) não exibirão a data.

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
    Print(TimeCurrent());
   
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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 &TickVolume[],
                const long &Volume[],
                const int &Spread[])
{
  
  
  
  return(rates_total);
  
}
 
Karlson:

Se assumirmos que este é o indicador), exibirá a data pela primeira vez, mas as definições seguintes no gráfico (segunda, terceira cópia) não exibirão a data.

Agora a parte de cálculo do indicador é eliminada do espaço mql com um atraso.

se aplicar o mesmo indicador (com os mesmos parâmetros) a gráficos diferentes (mas com o mesmo símbolo/linha de tempo) - não haverá reinicialização.

Se após a eliminação da última cópia for fumar - então haverá reinicialização no arranque.

Tal efeito secundário de optimização. :)

Nota: Fumar é mau para a SUA SAÚDE !

;)

 

Caros programadores,

Diga-me, o que no código do programa mql5 afecta acima de tudo a velocidade? A questão é que enquanto criava o meu próprio programa e aumentava o volume do código, deparei-me com o facto de a sua velocidade ter diminuído significativamente. Embora, os Expert Advisors standard mais codificados da pasta Advisors and Examples sejam muito mais rápidos.

Em geral, existe algum artigo ou explicação de como formatar melhor a estrutura do código no fórum? Dar um conselho a um programador novato. Obrigado!

 
Alex5757000:

Caros programadores,

Diga-me, o que no código do programa mql5 afecta acima de tudo a velocidade? A questão é que ao criar o meu próprio programa e ao aumentar o volume do código, enfrentei o facto de a sua velocidade ter diminuído significativamente. Embora, os Expert Advisors standard mais codificados da pasta Advisors and Examples sejam muito mais rápidos.

Em geral, existe algum artigo ou explicação de como formatar melhor a estrutura do código no fórum? Dar um conselho a um programador novato. Obrigado!

IMHO, os laços aninhados são os que mais afectam a velocidade. Os laços aninhados até à terceira profundidade é praticamente um limite, para além do qual é necessário ter muito cuidado com o tamanho dos laços. Vou tomar o meu P4 por exemplo: está a funcionar a 3Hz, estou a receber ~10k operações por segundo.

Este número significa que os ciclos triplos agrupados 1000x1000x10 serão executados em 1 segundo, se compreender, se o 3º ciclo for aumentado para 100 recebe 10 segundos.

Razão: