Errori, bug, domande - pagina 1824

 
Artyom Trishkin:
Eseguirlo come amministratore non aiuta?
 
Комбинатор:
Eseguirlo come amministratore non aiuta?
Non l'ho provato. Non è mai successo prima, prima della build 1045. E non è nemmeno tutto il tempo ora. Può funzionare per mezza giornata e poi incontrare questo errore.

Stavo per riavviare windows, ho chiuso l'editor mql5, ho chiuso l'editor mql4 e ho chiuso i terminali MT5 e MT4. Ma avevo bisogno di guardare qualcosa nell'editor di mql4. L'ho aperto di nuovo e, oh mio Dio, il file è stato compilato. Ora penso che due editor, mql4 e mql5, stiano lavorando contemporaneamente. È strano che gli stessi file da diverse directory non vengano aperti in esse.

Ma li guarderò lavorare insieme.
 
fxsaber:

Selezionato. Lo zero avviene solo dopo la prima corsa e non necessariamente sui simboli SGD.

SGDJPY è entrato nella fonte per caso. Il risultato è già mostrato per la versione corretta, dove "SGDJPY" è sostituito da _Symbol.

È stato in grado di riprodurlo?

È lo stesso al 4. Ho anche un commento per non dimenticarlo. Ora ho aggiornato MT4 al 1052 - il bug non viene rimosso. Eseguirlo sotto amministratore non aiuta (risposta a Combinator)

Ecco il codice della funzione per MQL4, la uso nell'indicatore, viene chiamata in OnCalculate. Se aggiungo l'indicatore al grafico - tutto è OK. Ma se riavvio il terminale - diversi valori nulli, vedi output alla fine del post.

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);
  }


Uscita dopo il riavvio del terminale:

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: inizializzato

2017.03.01 00:31:41.080 Indicatore personalizzato ShowImportantParams EURUSD.e,M5: caricato con successo


 
Alexey Volchanskiy:

È lo stesso sul quattro. Ho anche un commento in piedi per essere sicuro di non dimenticarlo.

Ti consiglio di ricordare tutti i problemi e di postarli qui. Se non li segnalate, ci saranno ancora dei buchi.
 
Artyom Trishkin:
Non l'ho provato. Non succedeva mai prima della build 1045. E non succede sempre neanche adesso. Si può lavorare per mezza giornata e poi incappare in questo errore.

Stavo per riavviare windows, ho chiuso l'editor mql5, ho chiuso l'editor mql4 e ho chiuso i terminali MT5 e MT4. Ma avevo bisogno di guardare qualcosa nell'editor di mql4. L'ho aperto di nuovo e, oh mio Dio, il file è stato compilato. Ora penso che due editor, mql4 e mql5, stiano lavorando contemporaneamente. È strano che gli stessi file da diverse directory non vengano aperti in esse.

Ma li guarderò lavorare insieme.
Non fa differenza - di tanto in tanto si verifica un errore, non importa se uno o due editor sono in esecuzione:

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
L'epopea degli errori continua:
EX4 write error         0       0
Riavviare costantemente Windows per poter continuare a lavorare rende il lavoro insopportabile.
 
Artyom Trishkin:
Nessuna differenza - l'errore salta fuori di tanto in tanto, indipendentemente dal fatto che uno o due editor siano in esecuzione:

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
L'epopea degli errori continua:
EX4 write error         0       0
Il costante riavvio di Windows per poter continuare a lavorare rende il lavoro insopportabile.
Il problema si verifica anche in modalità /portable?
 
Andrey Dik:
Anche la modalità /portable causa un problema?
Questa è la modalità /portable:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
 
Artyom Trishkin:
Questa è la modalità /portable:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
devi guardare gli utenti delle relative cartelle, non credo che MT4 sia da biasimare per qualcosa, sembra un problema di accesso alle cartelle. forse qualche processo nascosto sta bloccando l'accesso.
 
Andrey Dik:
devi guardare gli utenti delle relative cartelle, non credo che sia colpa di MT4, sembra che ci sia un problema di accesso alle cartelle. forse qualche processo nascosto sta bloccando l'accesso.
Cosa fare con loro?

 
Artyom Trishkin:
Questa è la modalità /portable:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
Artem, qual è stata la risposta della SD? O non l'ha nemmeno affrontato?