Erros, bugs, perguntas - página 617

 

Onde estão as primeiras oito horas de segunda-feira?

 
Discoteca:

+ Se minimizar o terminal durante o teste e depois maximizá-lo, obtenho algo como (colapsa a janela de cotação):

Build 567, terminal - Alpari (desde 565 foram estas falhas), WinXP SP3 (32bit), conta demo em Alpari - rublo.

 

construir 567

Informação constante sobre a falta de memória. Este não era o caso antes.

Os calendários de queda (início e fim do período de testes) fecham 0,5 segundos após a abertura.

O depósito inicial é constantemente redefinido para 10000.

 
notused:
Discoteca:

Bild 567, terminal Alpari (houve estas falhas com 565), WinXP SP3 (32bit), conta de demonstração Alpari - rublo.

Além disso, no momento em que as linhas ficam vazias, SymbolInfoTick(Symbol(), tick) devolve zeros em tick.bid e tick.ask.

+ zeros são exibidos na janela para abrir/fechar/modificar ordens e posições.

Aparentemente o problema está na conta rublo da Alpari (ou talvez seja por causa do vidro), porque abri o terminal de Broco e entrei no servidor de demonstração da Alpari - abri a conta rublo de demonstração - a "discoteca" repetiu-se

 

Olá!

Talvez alguém tenha tido este problema na MQL5. Por vezes (em cerca de um caso em cada cem) a EA não pode apagar uma ordem pendente até eu próprio apagar manualmente todas as ordens pendentes. Neste caso, nenhum erro é simplesmente apagado. Ou talvez outra pessoa os remova? Se alguém estiver disposto a ajudar, se necessário, enviar-lhe-ei o login e senha e número de conta com "encomendas apanhadas". Obrigado de antemão.

nulo OnTick()
{
Pedido MqlTradeRequest;
Resultado MqlTradeResult;
MqlTradeCheckResultadoConhequeResultado;
//------ eliminar encomenda ------
request.action=TRADE_ACTION_REMOVE;
//request.order=OrderGetTicket(0);
request.order=8273050; // especificar explicitamente para não apagar tudo
if(OrderCheck(pedido,checkResultado))
{
Alerta(pedido.ordem);
Alerta(request.action);
OrderSend(pedido,resultado);
}
senão
{
Alert("Error: ",checkResult.retcode);
}
}

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса - Документация по MQL5
 

Tenho a cabeça toda desarrumada! Este desenho simples não funciona. O ficheiro existe, mas não pode ser encontrado nem aberto. Porquê?!

   string terminal_data_path = TerminalInfoString(TERMINAL_PATH);
   string SymbolsFileName = terminal_data_path + "\\MQL5\\Files\\" + "symbols.txt";
   if(FileIsExist(SymbolsFileName,0)==false) Print("Файл не найден: ",SymbolsFileName);
   int hFile=FileOpen(SymbolsFileName,FILE_READ|FILE_TXT|FILE_ANSI);
   if(hFile < 0)
   {
      Print("Ошибка при открытии файла: ",SymbolsFileName," - ",GetLastError());
      return;
   }
 
Doozer2:

Tenho a cabeça toda desarrumada! Este desenho simples não funciona. O ficheiro existe, mas não pode ser encontrado nem aberto. Porquê?!


string SymbolsFileName = "symbols.txt";
 
stringo:

Obrigado! O ficheiro é agora encontrado, mas ainda não abre. Erro ao abrir o ficheiro: 5004. O que pode ser?

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
 
Doozer2:
Obrigado! O ficheiro é agora encontrado, mas ainda não abre. Erro ao abrir o ficheiro: 5004. O que pode ser?

O ficheiro é provavelmente aberto por outro programa e está, portanto, actualmente bloqueado.
 
Rosh:
Muito provavelmente este ficheiro é aberto por outro programa e, portanto, está actualmente bloqueado.

Não, é um simples ficheiro de texto com uma linha no interior, não aberto em qualquer outro lugar.

Quero apenas ler uma linha do ficheiro como exemplo. Mas não funciona!

O que é interessante, se eu colocar a bandeiraFILE_READ, o erro é 5004,

e se FILE_READ|FILE_WRITE, o ficheiro abre sem erros (mas ainda assim nenhuma linha pode ser lida a partir dele).

Eu não entendo nada...

Aqui está o código completo:

   string SymbolsFileName = "123.txt";
   if(FileIsExist(SymbolsFileName,FILE_COMMON)==false) { Print("Файл не найден: ",SymbolsFileName," - ",GetLastError()); return; } else Print("Файл найден: ",SymbolsFileName);
   ResetLastError();
   int hFile=FileOpen(SymbolsFileName,FILE_TXT|FILE_ANSI|FILE_READ|FILE_WRITE);
   if(hFile==INVALID_HANDLE)
   {
      Print("Ошибка при открытии файла: ",SymbolsFileName," - ",GetLastError());
      return;
   }
   else Print("Файл открыт успешно: ",SymbolsFileName);
   FileSeek(hFile,0,SEEK_SET);
   Print(FileReadString(hFile));
   FileClose(hFile);
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5