Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 966

 
evillive:
s'il y a des erreurs pendant la compilation, il n'apparaîtra pas.
Non, il n'y a pas d'erreurs ! !!
 
PozitiF:

Merci pour la réponse. J'ai moi-même trouvé (Googling sait presque tout) une telle solution :

      int       timeframe;          // временной период графика
      double    or_op_time;         // время открытия последнего ордера
      int MaxBar = 3;               // через сколько свечей закрыть ордер
      or_op_time = Last_OrderOpTime(asset);
      
                          //  КРИТЕРИЙ ЗАКРЫТИЯ БАЙ
       
       if(!ClsB && OrderType()==OP_BUY && iBarShift( asset, timeframe, or_op_time) > MaxBar)    ClsB = true;

Cela semble fonctionner clairement, mais je ne suis pas encore bon avec les variables statiques.

Et une question connexe - quelqu'un peut-il expliquer à un débutant la logique du fragment suivant :

if(lastsignal==Signal)Signal=0; 
else                            
lastsignal=Signal;              

Et alors que la variable locale Signal se voit attribuer les valeurs 1 ou 2 par les conditions, la variable globale Lastignal ne se voit attribuer de valeurs nulle part.

Autre chose : je ne comprends pas comment une variable dont la valeur n'est pas encore définie peut être comparée à quoi que ce soit ?

   if(timeCheckSignal!=Time[0])        //МОЙ КОММЕНТ: если время открытия позиции (КОТОРОЕ ЕЩЕ НЕ ОПРЕДЕЛЕНО)...
                                       //...не равно времени открытия текущего бара, то...

Aidez-moi à comprendre. Merci.

ZS : Mais le plus intéressant, et pour moi pas du tout compréhensible, est le commentaire du développeur du modèle à ce fragment :

//+------------------------------------------------------------------+
// Если время торговли не истекло и мы не открывали позицию на этом баре: 
//+------------------------------------------------------------------+
 
Je ne sais pas comment organiser la comparaison des barres en boucle. Ce sera une boucle dans une boucle.
int start()
  {

   int i,counted_bars=IndicatorCounted();
   int limit=Bars-1;
   if(limit>1) limit=Bars-N;
   if(limit==0) limit=counted_bars;
   if(IsTesting() || IsVisualMode()) limit=N+10;
   for(i=limit;i>=0;i--)
     {
     if(Close[i]>Open[i] && High[i]>High[i+1] && Low[i]>Low[i+1] && High[i+1]>High[i+2] && Low[i+1]>Low[i+2] && High[i+2]>High[i+3] && Low[i+2]>Low[i+3] && High[i+3]>High[i+4] && Low[i+3]>Low[i+4]) buybars++;
      //-------

     if(Open[i]>Close[i] && High[i]<High[i+1] && Low[i]<Low[i+1] && High[i+1]<High[i+2] && Low[i+1]<Low[i+2] && High[i+2]<High[i+3] && Low[i+2]<Low[i+3] && High[i+3]<High[i+4] && Low[i+3]<Low[i+4]) buybars--;

      //-------
      BuyBuffer[i]=buybars;
      }
   return(0);
  }
 
Je suis en train d'écrire un Expert Advisor, de le compiler, sans erreur, mais il est introuvable dans le Navigateur, il n'y a qu'un fichier mq4 dans MetaEditor. Je l'ai essayé dans différents terminaux, tous identiques, alors que tout allait bien avant.
 
antonovff:
Je suis en train d'écrire un EA, de le compiler, sans erreur, mais il est introuvable dans le navigateur, il n'y a qu'un fichier mq4 dans MetaEditor. Je l'ai essayé dans différents terminaux, mais tout était OK avant.
J'ai perdu mon EA une fois aussi, après la compilation, il s'est avéré que j'ai accidentellement corrompu le répertoire lors de la création de Eperts\MoySovetnik et il a été placé dans je ne sais plus où, à mon avis, le dossier racine.
 

Salutations

MT4 dispose-t-il d'une fonction ou d'un dispositif permettant d'envoyer des messages internes du terminal à ou à sms, (par exemple pour recevoir des messages de redémarrage du serveur, etc.)

 
PozitiF:
J'ai également perdu mon EA après la compilation, il s'est avéré que j'ai accidentellement effacé le répertoire lors de la création de Eperts\MoySovetnik et qu'il a été placé dans le dossier racine lors de la compilation, je ne me souviens plus où.
J'ai déjà téléchargé un nouveau terminal et créé un EA avec une variable déclarée dans son code. Cet EA n'apparaît que dans le navigateur MetaEditor, tout en bas, après tous les répertoires, comme un fichier séparé comme mq4 et c'est tout, il n'est nulle part ailleurs, je ne peux pas l'attacher au graphique.
 
J'ai testé mon EA non-syndicateur le plus simple au cours des trois derniers mois, depuis le mois de septembre de cette année, et quelque chose ne me convient pas : est-il possible qu'avec un volume fixe de 0,1 lot, le bénéfice sur trois mois soit de 29 112 centimes et qu'il n'y ait pas une seule transaction perdante ? Quel est le piège, quelqu'un le sait-il ?
 
rapid_minus:
J'ai testé mon EA non-syndicateur le plus simple au cours des trois derniers mois, depuis le mois de septembre de cette année, et quelque chose ne me convient pas : est-il possible qu'avec un volume fixe de 0,1 lot, le bénéfice sur trois mois soit de 29 112 cents et qu'il n'y ait pas une seule transaction perdante ? Quel est le piège, quelqu'un le sait-il ?
Il y a beaucoup de nuances dans les tests, à commencer par le nombre de barres dans l'historique, l'archive des cotations, etc. Trois mois ne suffisent pas, au moins un an. Si vous n'y connaissez pas grand-chose, il existe de bonnes sources sur YouTube.
 
antonovff:
J'ai déjà téléchargé un nouveau terminal, créé une EA dans le code de laquelle une variable est déclarée, la compilation ne donne pas d'erreurs. Cet EA n'apparaît que dans MetaEditor, tout en bas, après tous les répertoires, comme un fichier séparé comme mq4 et c'est tout, il n'apparaît nulle part ailleurs et je ne peux pas l'attacher au graphique.

C'est pourquoi il apparaît en bas parce que vous effacez le nom du répertoire. N'effacez pas le mot "Experts" lorsque vous écrivez un nouveau nom.