Erros, bugs, perguntas - página 1824

 
Artyom Trishkin:
Executá-lo como administrador não ajuda?
 
Комбинатор:
Executá-lo como administrador não ajuda?
Ainda não o experimentei. Nunca tinha acontecido antes, antes de construir 1045. E também não é o tempo todo agora. Pode correr durante meio dia e depois deparar-se com este erro.

Estava prestes a reiniciar janelas, fecho o editor mql5, fecho o editor mql4 e fecho os terminais MT5 e MT4. Mas eu precisava de procurar algo no editor mql4. Abri-o novamente e, oh meu Deus, o ficheiro compilado. Agora estou a pensar que dois editores, mql4 e mql5, estão a trabalhar simultaneamente. É estranho que os mesmos ficheiros de diferentes directórios não sejam abertos neles.

Mas, vou vê-los a trabalhar em conjunto.
 
fxsaber:

Seleccionado. Zero só acontece após a primeira corrida e não necessariamente nos símbolos SGD.

A SGDJPY entrou na fonte por acidente. O resultado já é mostrado para a versão corrigida, onde "SGDJPY" é substituído por _Symbol.

Foi capaz de a reproduzir?

É o mesmo em 4. Tenho até um comentário a fazer para não o esquecer. Agora actualizei o MT4 para 1052 - o bug não é removido. A sua execução sob administração não ajuda (resposta ao Combinator)

Aqui está o código de função para MQL4, eu utilizo-o em indicador, é chamado em OnCalculate. Se eu adicionar o indicador ao gráfico - tudo está OK. Mas se eu reiniciar o terminal - vários valores nulos, ver saída no final do posto.

bool Quote2Price(double diff,double &price4lot,string symbol="EURUSD")
  {
   int dig=(int)MarketInfo(symbol,MODE_DIGITS);
   if(dig == 0)
      return(false); // symbol is none
   double tickSizeMarketInfo = MarketInfo(symbol, MODE_TICKSIZE);   // пункт в валюте котировки (0,00001 для EURUSD на 5-знаке)
   double tickValue, tickSize2;
   if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE, tickValue)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке)
      Print(__FUNCTION__, "  SymbolInfoDouble(...SYMBOL_TRADE_TICK_VALUE) returns false");
   if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE, tickSize2)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке)
      Print(__FUNCTION__, "  SymbolInfoDouble(...SYMBOL_TRADE_TICK_SIZE) returns false");
      
   Print("tickSizeMarketInfo= ", tickSizeMarketInfo, "  tickSize2= ", tickSize2, "  tickValue= ", tickValue);
   if(tickSizeMarketInfo == 0 || tickSize2 == 0 || tickValue == 0.0)
      return false;
   double price=diff/(tickSize2/tickValue);
   price4lot=NormalizeDouble(price,2);
   return (true);
  }


Saída após reiniciar o terminal:

2017.03.01 00:31:43.588 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:43.460 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:43.351 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:42.961 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:42.910 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:42.866 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:42.301 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:41.116 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0.0

2017.03.01 00:31:41.116 ShowImportantParams EURUSD.e,M5: inicializado

2017.03.01 00:31:41.080 Indicador personalizado ShowImportantParams EURUSD.e,M5: carregado com sucesso


 
Alexey Volchanskiy:

O mesmo se passa com os quatro. Tenho até um comentário de pé para garantir que não o esqueço.

Sugiro que se lembre de todos os problemas e os afixe aqui. Se não os denunciar, ainda haverá buracos.
 
Artyom Trishkin:
Ainda não o experimentei. Nunca tinha acontecido antes de construir 1045. E também não está sempre a acontecer agora. Pode trabalhar durante meio dia, e depois depara-se com este erro.

Estava prestes a reiniciar janelas, fecho o editor mql5, fecho o editor mql4 e fecho os terminais MT5 e MT4. Mas eu precisava de procurar algo no editor mql4. Abri-o novamente e, oh meu Deus, o ficheiro compilado. Agora penso que dois editores, mql4 e mql5, estão a trabalhar simultaneamente. É estranho que os mesmos ficheiros de diferentes directórios não sejam abertos neles.

Mas, vou vê-los a trabalhar em conjunto.
Não faz diferença - de vez em quando ocorre um erro, independentemente de um ou dois editores estarem em funcionamento:

2017.03.01 01:43:30.843 MetaTrader 4 build 1052 started (MetaQuotes Software Corp.)
2017.03.01 01:43:30.844 Windows 10 Home (x64 based PC), IE 11.00, UAC, 4 x Intel Core i3-3217 U  @ 1.80 GHz, RAM: 1540 / 5005 Mb, HDD: 10397 / 260234 Mb, GMT+07:00
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
O épico de erro continua:
EX4 write error         0       0
O reinício constante do Windows para poder continuar a trabalhar torna o trabalho insuportável.
 
Artyom Trishkin:
Sem diferença - o erro aparece de vez em quando, independentemente de um ou dois editores estarem a correr:

2017.03.01 01:43:30.843 MetaTrader 4 build 1052 started (MetaQuotes Software Corp.)
2017.03.01 01:43:30.844 Windows 10 Home (x64 based PC), IE 11.00, UAC, 4 x Intel Core i3-3217 U  @ 1.80 GHz, RAM: 1540 / 5005 Mb, HDD: 10397 / 260234 Mb, GMT+07:00
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
O épico de erro continua:
EX4 write error         0       0
O reinício constante do Windows para poder continuar a trabalhar torna o trabalho simplesmente insuportável.
O problema ocorre também no modo /portável?
 
Andrey Dik:
Será que o modo /portável também causa um problema?
Este é o modo /portátil:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
 
Artyom Trishkin:
Este modo é /portável:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
é necessário olhar para os utilizadores das pastas relevantes, não creio que o MT4 seja culpado de nada, parece ser um problema de acesso às pastas. talvez algum processo oculto esteja a bloquear o acesso.
 
Andrey Dik:
é preciso olhar para os utilizadores das pastas relevantes, não creio que a culpa seja do MT4, parece haver um problema de acesso às pastas. talvez algum processo oculto esteja a bloquear o acesso.
O que fazer em relação a eles?

 
Artyom Trishkin:
Este é o modo /portátil:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
Artem, qual foi a resposta do SD? Ou nem sequer o abordou?