Questions des débutants MQL4 MT4 MetaTrader 4 - page 92

 

Bonjour, chers collègues. Aidez-moi, s'il vous plaît. J'ai MT4 Version 4.00 build 1080 et ME4 Version 5.00 build 1562.

Questions d'avertissement :

1. ME4 ne crée pas de nouveaux fichiers Expert Advisor (aucun fichier n'est trouvé via la recherche dans le menu démarrer). Que dois-je faire ?

2. lors de la compilation d'un fichier, même standard (par exemple Alligator Simple.mq4), l'erreur suivante s'affiche

Erreur d'écriture EX4. Comment puis-je le réparer ?

3. Lorsque je teste un EA dans MT4, il s'arrête instantanément, sans afficher de résultats.

Veuillez préciser ce qu'il faut faire et comment améliorer la situation. Je voudrais vous demander de suivre cette instruction étape par étape.

Je voudrais utiliser mon compte de trading à cette fin.


 
Youri Lazurenko:

Bonjour à tous, j'ai encore besoin d'aide. Je n'arrive pas à comprendre quelle est l'erreur. Chalutage à nouveau. Chalut par MA. Je dois passer en revue plusieurs commandes. Il peut y avoir des boucles. Tant qu'il y a un ordre ouvert, tout fonctionne parfaitement. Dès qu'un ordre supplémentaire est ouvert, la bacchanale commence - modification constante (avec un seul et même paramètre) du premier ordre (l'erreur 1 n'est pas montrée). Dans ce cas, le second ordre est modifié comme il se doit - lorsque les conditions appropriées sont réunies (le premier ordre, lorsque les conditions changent, modifie ses paramètres et poursuit sa modification constante avec de nouveaux paramètres). Je ne trouve pas la raison. Qui serait en mesure de me donner un indice ?


Faites deux cycles distincts : un pour l'achat et un pour la vente.
 

Bonjour à tous.

Je suis un débutant dans MQL4. D'après ce que j'ai lu, j'ai compris que l'ordre des chandeliers est écrit comme suit : 0-chandelier actuel, puis 1,2, etc. Est-il possible d'interagir avec une bougie future par une logique (-1) ?

 
BROXIV: Je suis toujours un imbécile dans MQL4. D'après ce que j'ai lu, l'ordre des chandeliers est écrit comme suit : 0-chandelier actuel, puis 1, 2, etc. Est-il possible d'interagir avec une bougie future par une logique (-1) ?

Être fier d'une théière n'est pas bon pour vous. Essayez d'écrire un script et de le vérifier. Utilisez la fonction GetLastError() en même temps.

Le lien indique : Après l'appel de la fonction, la variable _LastError n'est pas effacée.

Aide MetaEditir : Après l'appel de la fonction, la variable _LastError est effacée.

//+-------------------------------------------------------+
//| Свеча с номером -1 есть?                     PROBA.mq4|
//+-------------------------------------------------------+
void OnStart()
{
   Alert("Бар 0     ",TimeToStr(Time[0]));
   Alert(GetLastError());
   Alert("Будущий Бар     ",Time[-1]);
   Alert(GetLastError());
}
}

Le bar est là, mais il est vide !

 

L'appel d'un indicateur depuis une ressource via iCustom est plus de 10 fois plus lent que l'appel du même indicateur en externe. Est-ce le cas pour tout le monde ?

Je reconnais que le déballage de la ressource prend du temps, mais en théorie, il ne devrait être effectué qu'une seule fois.

 
Здравствуйте! Не могу разобраться почему в тестере MQL4 проходит только одну итерацию и останавливается? TimeCurrent() что-ли не обновляется? 
Как его обновить? Нужно чтобы мультивалютный советник работал не по тикам, а каждую секунду  или лучше 5 раз в секунду.

  int start()                                     // Спец. функция start   {     while(!IsStopped())      {       RefreshRates();       if(RefreshRates()==true||MyTimer(1))         {          код советника         }        }     return(0);   } bool MyTimer(int Delay) //функция для работы советника по заданому интервалу времени, а не по тикам {   RefreshRates();   static datetime Time1, Time2;   bool Result = False;      if(MathMod(TimeSeconds(TimeCurrent()), Delay) == 0.0)   {     Time1 = TimeCurrent();     if(Time1 != Time2)     {         Time2 = Time1;       Result = True;     }   }   return(Result); }
 
Bon après-midi. J'ai un problème avec mt4. Je vais décrire plus en détail lors de la mise à niveau par le net, j'ai jeté dans le plateau mt4, mais n'a pas éteint mt4. après le redémarrage de l'ordinateur, j'ai dû entrer un mot de passe sur le terminal lors de la connexion à mt4, eh bien j'ai tout fait, je suis allé dans le terminal, mais j'ai perdu dans le dossier MQL navigator tous les induks téléchargés.J'ai supprimé mt4 de mon ordinateur et j'ai téléchargé à nouveau le terminal via un bureau privé. Je ne trouve pas le dossier MQL et je ne sais pas où je vais trouver ce dossier et je ne sais pas comment l'installer. Je ne peux pas installer un autre programmeur dans ce dossier.
 
07091971da:
Bon après-midi. J'ai un problème avec mt4. Je vais décrire plus en détail lors de la mise à niveau par le net, j'ai jeté dans le plateau mt4, mais n'a pas éteint mt4. après le redémarrage de l'ordinateur, j'ai dû entrer un mot de passe sur le terminal lors de la connexion à mt4, eh bien j'ai tout fait, je suis allé dans le terminal, mais j'ai perdu dans le dossier MQL navigator tous les induks téléchargés.J'ai supprimé mt4 de mon ordinateur et j'ai téléchargé à nouveau le terminal depuis le bureau privé. Je ne trouve pas le dossier MQL et je ne sais pas où je vais trouver ce dossier et je ne sais pas comment l'installer. je ne peux pas installer de dindes dans ce dossier.

1. Quel est le nom du dossier dans lequel vous avez installé le terminal ? 2. Quel est le nom de ce dossier ?

 

Salutations.

Il y a deux mt4s en cours d'exécution. Le premier est connecté à realstandard.mt4, le second àdemo.pro.ecn.mt4. Le même conseiller expert, avec les mêmes paramètres, fonctionne sur les deux. Le seul problème est que sur le terminal, qui est connecté àstandard.mt4 l'EA montre que le jour actuel est le lundi, alors qu'en fait il est le vendredi. Mais sur leterminal connecté àdemo.pro.ecn.mt4 il montre vendredi comme il est.

Pourquoi en est-il ainsi ? Comment le réparer ?

 

Aidez-moi, voici un exemple

Ça marche comme ça...

while(i>=0)

   {   

   double k;

   k=Volume[i]/10;

   buf0[i]=Open[i]/Volume[i]/10;

   i--;

   }

mais pas comme ça...

while(i>=0)

   {   

   double k;

   k=Volume[i]/10;

   buf0[i]=Open[i]/k;

   i--;

   }

comment écrire dans le tampon via la variable k ?

Raison: