Erros, bugs, perguntas - página 2234

 
Stanislav Korotky:

Neste script simples, correr primeiro com escrita = verdadeiro e depois noutro gráfico com escrita = falso, recebo um erro.

Obviamente é um bug, porque as aplicações de terceiros lêem o ficheiro com as mesmas bandeiras sem qualquer problema.

 
Stanislav Korotky:

PS. Talvez alguém já tenha escrito para o RS? Quais são as respostas?

Escrevi há dois anos - aplicação sem movimento. Por favor, escreva novamente
 
A100:
Escrevi há dois anos - aplicação sem movimento. Por favor, escreva novamente.

Qual é o número de candidatura?

 
Spammed
Result.retcode = 10026
Result.comment = AutoTrading disabled by server 0.035 ms
OrderCheck retorna verdadeiro.
 
Alexander:

Qual é o número de candidatura?

Aberto, Início: 2016.08.04 02:13, #1530548


A propósito... porque é que as ligações deixaram de funcionar?

Descrição do problema

aqui https://www.mql5.com/ru/forum/1111/page1648#comment_2702870 com fotos

E agora esta ligação parece-se com isto:

https://www.mql5.com/ru/forum/1111/page1628#comment_2702870

Agora começou a verificar - todas as ligações nas aplicações não levam a lado nenhum... estava bem antes... As ligações eram absolutas. Agora entendi apenas pela data em que a ligação se refere a esta requisição

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2016.08.24
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
A100:

A propósito... porque é que as ligações deixaram de funcionar?

Descrição do problema

aqui https://www.mql5.com/ru/forum/1111/page1648#comment_2702870 com fotos

e agora a ligação é semelhante a esta:

https://www.mql5.com/ru/forum/1111/page1628#comment_2702870

Agora verifiquei - todas as ligações nas aplicações não levam a lado nenhum... estava bem antes... As ligações eram absolutas. Agora entendo apenas pela data em que a ligação se refere a este pedido

Há muito tempo que estão 20 páginas neste tópico.

 
fxsaber:

Já dura há 20 páginas neste tópico.

No passado também funcionou, mas as ligações funcionaram (o final continua a ser o mesmo)... pelo menos pude facilmente encontrar mensagens de há um ano atrás, mas agora as ligações de Março estão quebradas
 
Stanislav Korotky:

Neste guião simples, correr com escrita = verdadeiro e depois noutro gráfico com escrita = falso, recebo um erro.

Resultado da execução do guião:

2018.07.23 19:44:15.224 !00 (EURUSD,M1) handle=1
2018.07.23 19:44:17.824 !00 (EURUSD,M1) Closing
2018.07.23 19:44:34.874 !00 (EURUSD,M1) handle=1
2018.07.23 19:44:40.874 !00 (EURUSD,M1) Closing
2018.07.23 19:45:12.844 !00 (GBPJPY,H4) handle=1
2018.07.23 19:45:16.354 !00 (GBPJPY,H4) Closing

1. Com escrita = verdadeiro

2. No mesmo gráfico com escrita = falso

3. noutra carta com escrita = falso

A única mudança

void OnStart()
como deve ser...

Assim, em vez de

    return INIT_FAILED;

esquerda

    return;

e apagado.

  return 0;

como sendo desnecessário.


O que é que está errado?

 

Percebi que tinha feito a experiência de forma errada.

Eis o resultado da sua repetição:

2018.07.23 20:07:52.316 !00 (EURUSD,M1) handle=1
2018.07.23 20:07:52.316 !00 (EURUSD,M1) writing=true
2018.07.23 20:08:13.216 !00 (GBPJPY,H4) handle=1
2018.07.23 20:08:13.216 !00 (GBPJPY,H4) writing=false
2018.07.23 20:08:20.316 !00 (EURUSD,M1) Closing
2018.07.23 20:08:25.416 !00 (GBPJPY,H4) Closing

O seu erro é que depois de escrever num ficheiro, os dados só chegam ao disco depois de FileClose OU depois de repor à força os dados no disco através de FileFlush

Caso contrário, como se pode ler um ficheiro que não existe???

E ainda acrescentei uma bandeira

void OnStart()
{
  int handle = FileOpen("xyz.foo", FILE_READ|FILE_SHARE_WRITE|FILE_BIN|FILE_SHARE_READ|(writing?FILE_WRITE:0));
  if(handle == INVALID_HANDLE)
  {
    Print("FileOpen failed: ", GetLastError());
    return;
  }
  
  if(writing)
   {
    FileWriteInteger(handle, 0);
    FileFlush(handle);
   }
  
  Print("handle=", handle);
  Print("writing=", writing);
  
  while(!IsStopped())
  {
    Sleep(1000);
  }

  Print("Closing");
  FileClose(handle);

}/*******************************************************************/
Документация по MQL5: Файловые операции / FileFlush
Документация по MQL5: Файловые операции / FileFlush
  • www.mql5.com
При выполнении операции записи в файл физически данные могут оказаться в нем только через некоторое время. Для того чтобы данные сразу же сохранились в файле, нужно использовать функцию FileFlush(). Если не использовать функцию, то часть данных, еще не попавших на диск, принудительно записывается туда только при закрытии файла функцией...
 

Como é que o preço pode não ser um múltiplo de TickSize?

SymbolInfoDouble(Symb,SYMBOL_TRADE_TICK_SIZE) = 0.05
Tick.last = 14.16