Errori, bug, domande - pagina 1824
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Eseguirlo come amministratore non aiuta?
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.
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.
{
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
È lo stesso sul quattro. Ho anche un commento in piedi per essere sicuro di non dimenticarlo.
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.
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
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.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
Anche la modalità /portable causa un problema?
Questa è la modalità /portable:
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.
Questa è la modalità /portable: