Erreurs, bugs, questions - page 1327

 

Vous ne pouvez pas omettre le paramètre macro dans une certaine combinaison

#define  MACRO1( x )             void x() { Print( __FUNCTION__ ); }
#define  MACRO2( prefix, function )      MACRO1( prefix##function )
#define  MACRO3(         function )      MACRO2(         h2, function )
#define  MACRO4(         function )      MACRO2( /*опущен*/, function )
//---
   void f1() { Print( __FUNCTION__ ); }
MACRO3( f2 )          //нормально
 MACRO4( f2 )          //Ошибка: argument expected for the function-like macro
//---
void OnStart()
{
        MACRO( /*опущен*/, f1 ); //нормально
        h2f2();
        f2();                   
}
 
Karputov Vladimir:
Non. Le fichier n'a pas été modifié par rapport à la livraison standard et le stockage MQL5 n'a pas été utilisé. L'utilisateur est probablement allé dans un autre "Dossier de données" - c'est du moins la version la plus viable jusqu'à présent.
J'ai cherché sur l'ordinateur. Le fichier est mort après tout (( Le système d'exploitation utilisé est Windows Server 2012. Le fichier a été fixé dans le dossier "C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\Scripts" (dernière date - mars 2015). Je ne sais pas comment il se fait qu'il ait été écrasé par un fichier portant le même nom, mais provenant du dossier "C:\Program Files\MetaTrader 5\MQL5\Scripts" (date de dernière modification - août 2014). Le fichier source avec l'extension mq5 a été réécrit, tandis que le fichier compilé est resté dans la dernière version. Je n'ai pas utiliséMQL5 Storage, maintenant je le ferai.
 
kogriv:
J'ai cherché dans l'ordinateur. Le fichier est mort après tout (( Le système d'exploitation utilisé est Windows Server 2012. Le fichier se trouvait dans le dossier "C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\Scripts" (dernière date - mars 2015). Je ne sais pas comment il se fait qu'il ait été écrasé par un fichier portant le même nom, mais provenant du dossier "C:\Program Files\MetaTrader 5\MQL5\Scripts" (date de dernière modification - août 2014). Le fichier source avec l'extension mq5 a été réécrit, le fichier compilé est resté dans la dernière version. Je n'ai pas utiliséMQL5 Storage, maintenant je le ferai.
Il ne devrait pas y avoir vos fichiers (utilisateur) dans le dossier C:\Program Files\MetaTrader 5\MQL5\Scripts ! Si un fichier y est apparu, c'est uniquement en raison d'une intervention manuelle dans le travail de MetaEditor. Toutes les opérations d'édition et de création de fichiers doivent avoir lieu dans le dossier de données C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\.....
 
Karputov Vladimir:
Dans le dossier C:\Program Files\MetaTrader 5\MQL5\Scripts vos fichiers (utilisateur) ne doivent pas exister ! Si un fichier y apparaît, c'est uniquement en raison d'une intervention manuelle dans le travail de MetaEditor. Tout le travail d'édition et de création de fichiers doit être placé dans le dossier de données C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\....
Je l'ai copié au premier endroit (C:\Program Files\MetaTrader 5\MQL5\Scripts), parce que je ne connaissais pas les particularités de l'emplacement des fichiers sur le serveur, et ensuite je l'ai copié dans le bon dossier. Je ne pense pas que ce soit une "interférence avec le travail...".
 
kogriv:
Pourquoi pas ? Je l'ai copié là au début (C:\Program Files\MetaTrader 5\MQL5\Scripts), parce que je ne connaissais pas les particularités de l'emplacement des fichiers sur le serveur, puis j'ai compris et je l'ai copié dans le bon dossier. Je ne pense pas que ce soit "trafiquer...".
Exactement - une intervention manuelle. Vous devez déplacer tous vos fichiers de C:\Program Files\MetaTrader 5\MQL5\... (copier-coller) à son emplacement légitime : C:\Users\Administrator\\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\....
 
Karputov Vladimir:
Exactement - une intervention manuelle. Tous vos fichiers de C:\Program Files\MetaTrader 5\MQL5\... doivent être déplacés (copier-coller) vers leur emplacement légitime : C:\Users\Administrator\\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\....
Et si tu ne l'avais pas supprimé ?
 
kogriv:
Et si tu ne l'avais pas coupé ? Mais que tu l'avais mis...
Dans ce cas, votre situation d'écrasement est sur le point de se reproduire. L'utilisateur dispose d'un dossier de données - C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\.... Si vous voulez écrire des fichiers dans d'autres dossiers, vous le faites à vos propres risques. Après tout, c'est votre argent.
 
Karputov Vladimir:
Dans ce cas, votre situation d'écrasement est sur le point de se reproduire. L'utilisateur dispose d'un dossier de données - C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\.... Si vous voulez écrire des fichiers dans d'autres dossiers, vous le faites à vos propres risques. Après tout, c'est votre argent.

qu'en est-il de la touche /portable ?

et au fait, que sont ces dossiers "sdfgshndyueenerneb673756nr76,.t89.y80.tr76m5nbwb6qw6b3qvqvb6547nw8nme789m" ? Si plusieurs terminaux sont installés, il n'est pas facile de déterminer quel dossier appartient à quel terminal. Bien sûr, vous pouvez les saisir à l'aide d'outils MT, mais dans tous les autres cas, c'est une véritable galère, c'est pourquoi nous avons choisi /portable.

 
Andrey Dik:

qu'en est-il de la touche /portable ?

et au fait, que sont ces dossiers "sdfgshndyueenerneb673756nr76,.t89.y80.tr76m5nbwb6qw6b3qvqvb6547nw8nme789m" ? Si plusieurs terminaux sont installés, il n'est pas facile de déterminer quel dossier appartient à quel terminal. Bien sûr, il est possible de les saisir à l'aide d'outils de TA, mais dans tous les autres cas, c'est une véritable galère.

L'utilisateur a déjà expérimenté une fois et a obtenu des fichiers écrasés. Je pense que la deuxième fois, il ne sera pas brûlé.
 
Karputov Vladimir:
L'utilisateur a déjà expérimenté une fois - les fichiers ont été écrasés. Je ne pense pas qu'il se fera griller une seconde fois.
Sans tête, l'utilisateur corrompra lui-même ses fichiers, aucune aide du terminal n'est nécessaire pour cela.
Raison: