Erreurs, bugs, questions - page 1824
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
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 ?