Комбинатор: L'exécuter en tant qu'administrateur n'aide pas ?
Je ne l'ai pas essayé. Ce n'est jamais arrivé avant, avant la version 1045. Et ce n'est pas tout le temps maintenant non plus. Il peut fonctionner pendant une demi-journée, puis rencontrer cette erreur.
J'étais sur le point de redémarrer les fenêtres, de fermer l'éditeur mql5, de fermer l'éditeur mql4 et de fermer les terminaux MT5 et MT4. Mais j'avais besoin de regarder quelque chose dans l'éditeur mql4. Je l'ai ouvert à nouveau et, oh mon dieu, le fichier s'est compilé. Maintenant je pense que deux éditeurs, mql4 et mql5, travaillent simultanément. Il est étrange que les mêmes fichiers provenant de différents répertoires ne soient pas ouverts dans ces derniers.
Sélectionné. Le zéro ne se produit qu'après le premier passage et pas nécessairement sur les symboles SGD.
SGDJPY est entré dans la source par accident. Le résultat est déjà affiché pour la version corrigée, où "SGDJPY" est remplacé par _Symbol.
A-t-il pu le reproduire ?
C'est la même chose sur la 4. J'ai même mis un commentaire dessus pour ne pas l'oublier. Maintenant, j'ai mis à jour MT4 à 1052 - le bug n'est pas supprimé. L'exécuter sous administrateur n'aide pas (réponse à Combinator)
Voici le code de la fonction pour MQL4, je l'utilise dans un indicateur, elle est appelée dans OnCalculate. Si j'ajoute l'indicateur au graphique, tout est OK. Mais si je redémarre le terminal - plusieurs valeurs nulles, voir la sortie à la fin du 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");
Artyom Trishkin: Je ne l'ai pas essayé. Cela n'arrivait jamais avant la version 1045. Et ça n'arrive pas tout le temps maintenant non plus. Vous pouvez travailler pendant une demi-journée, puis tomber sur cette erreur.
J'étais sur le point de redémarrer les fenêtres, de fermer l'éditeur mql5, de fermer l'éditeur mql4 et de fermer les terminaux MT5 et MT4. Mais j'avais besoin de regarder quelque chose dans l'éditeur mql4. Je l'ai ouvert à nouveau et, oh mon dieu, le fichier s'est compilé. Maintenant je pense que deux éditeurs, mql4 et mql5, travaillent simultanément. Il est étrange que les mêmes fichiers provenant de différents répertoires ne soient pas ouverts dans ces derniers.
Mais, je les regarderai travailler ensemble.
Cela ne fait aucune différence - de temps en temps, une erreur se produit, qu'un ou deux éditeurs soient en cours d'exécution :
2017.03.0101:43:30.843 MetaTrader 4 build 1052 started (MetaQuotes Software Corp.) 2017.03.0101: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.0101:43:30.844 Data Folder: D:\New MT4
L'épopée des erreurs continue :
EX4 write error 00
Redémarrer constamment Windows pour pouvoir continuer à travailler rend le travail tout simplement insupportable.
vous devez regarder les utilisateurs des dossiers concernés, je ne pense pas que MT4 soit à blâmer pour quoi que ce soit, cela ressemble à un problème d'accès aux dossiers. peut-être qu'un processus caché bloque l'accès.
Andrey Dik: vous devez regarder les utilisateurs des dossiers concernés, je ne pense pas que ce soit la faute de MT4, il semble qu'il y ait un problème d'accès aux dossiers. peut-être qu'un processus caché bloque l'accès.
L'exécuter en tant qu'administrateur n'aide pas ?
J'étais sur le point de redémarrer les fenêtres, de fermer l'éditeur mql5, de fermer l'éditeur mql4 et de fermer les terminaux MT5 et MT4. Mais j'avais besoin de regarder quelque chose dans l'éditeur mql4. Je l'ai ouvert à nouveau et, oh mon dieu, le fichier s'est compilé. Maintenant je pense que deux éditeurs, mql4 et mql5, travaillent simultanément. Il est étrange que les mêmes fichiers provenant de différents répertoires ne soient pas ouverts dans ces derniers.
Mais, je vais les regarder travailler ensemble.
Sélectionné. Le zéro ne se produit qu'après le premier passage et pas nécessairement sur les symboles SGD.
SGDJPY est entré dans la source par accident. Le résultat est déjà affiché pour la version corrigée, où "SGDJPY" est remplacé par _Symbol.
A-t-il pu le reproduire ?
C'est la même chose sur la 4. J'ai même mis un commentaire dessus pour ne pas l'oublier. Maintenant, j'ai mis à jour MT4 à 1052 - le bug n'est pas supprimé. L'exécuter sous administrateur n'aide pas (réponse à Combinator)
Voici le code de la fonction pour MQL4, je l'utilise dans un indicateur, elle est appelée dans OnCalculate. Si j'ajoute l'indicateur au graphique, tout est OK. Mais si je redémarre le terminal - plusieurs valeurs nulles, voir la sortie à la fin du 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);
}
Sortie après le redémarrage du 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 : initialisé
2017.03.01 00:31:41.080 Indicateur personnalisé ShowImportantParams EURUSD.e,M5 : chargé avec succès
C'est la même chose sur le quatre. J'ai même un commentaire permanent pour m'assurer de ne pas l'oublier.
Je ne l'ai pas essayé. Cela n'arrivait jamais avant la version 1045. Et ça n'arrive pas tout le temps maintenant non plus. Vous pouvez travailler pendant une demi-journée, puis tomber sur cette erreur.
J'étais sur le point de redémarrer les fenêtres, de fermer l'éditeur mql5, de fermer l'éditeur mql4 et de fermer les terminaux MT5 et MT4. Mais j'avais besoin de regarder quelque chose dans l'éditeur mql4. Je l'ai ouvert à nouveau et, oh mon dieu, le fichier s'est compilé. Maintenant je pense que deux éditeurs, mql4 et mql5, travaillent simultanément. Il est étrange que les mêmes fichiers provenant de différents répertoires ne soient pas ouverts dans ces derniers.
Mais, je les regarderai travailler ensemble.
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
Aucune différence - l'erreur apparaît de temps en temps, qu'un ou deux éditeurs soient en cours d'exécution :
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
Le mode /portable pose-t-il également un problème ?
C'est le mode /portable :
vous devez regarder les utilisateurs des dossiers concernés, je ne pense pas que ce soit la faute de MT4, il semble qu'il y ait un problème d'accès aux dossiers. peut-être qu'un processus caché bloque l'accès.
C'est le mode /portable :
Artyom, quelle a été la réponse du SR ? Ou vous ne les avez même pas contactés ?