[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 289

 
Excusez-moi, quelqu'un peut-il m'aider ? ))
 
Vous devez déterminer s'il y a une valeur sur le tampon de l'indicateur autre que IndicatorEmptyValue(), qui pour les flèches dans 90% == 0, il y aura votre flèche. et supprimer "true" de l'appel.
 

Il n'y aura pas de montagne si :

int start(){
 if(Depth>Bars-1) Depth=Bars-1;
 double RVI=0;// Обратите внимание - нет нужды объявлять переменную на каждой итерации цикла!
        for(int i=1; i<Depth; i++){
                RVI = iRVI(NULL,0,ExtRVIPeriod,MODE_MAIN,i); 
                if(RVI < mini){
                        mini=RVI;
                        Alert("На свече ",i," mini = ",mini);
                }
                if(RVI > maxi){
                        maxi=RVI;
                        Alert("На свече ",i," maxi = ",maxi);
                }
        }
return(0);
}// Автору ведь нужно всего лишь небольшой период, а не все барсы :)
 
Manuel, veuillez régler la taille des tabulations dans les paramètres du forum sur 2-3 espaces. Vous insérez le code et les parenthèses vont Dieu sait où...
 
L'auteur doit obtenir les valeurs maximales et minimales à la sortie de sa boucle, et dans l'EA. Mieux vaut un code redondant qu'un gemor redondant.
 

La fonction deinit() peut-elle être appelée à partir de la fonction start() ? Par exemple, je veux que le conseiller expert se décharge lui-même lorsque certaines conditions sont remplies.

 
FAQ:
L'auteur doit obtenir les valeurs du maximum et du minimum à la sortie de sa boucle, et dans l'EA. Mieux vaut un code redondant qu'une douleur redondante.


Je vois. Peut-être que j'en ai trop fait et que j'ai lu la tâche de manière inattentive - la journée a été longue - la fatigue fait son effet.

L'auteur doit obtenir les valeurs du maximum et du minimum dans la sortie de sa boucle, mieux vaut un code redondant qu'un désordre redondant.

 
skyjet:
Excusez-moi, quelqu'un peut-il m'aider ? ))
Voici un extrait de code de l'EA d'Integer, qui montre le travail avec l'indicateur de flèche.
         double bv=iCustom(NULL,0,"MaSignalFunction",0,1);//стрелка "Вверх" в буфере №0
         double sv=iCustom(NULL,0,"MaSignalFunction",1,1);//стрелка "Вниз"  в буфере №1
         bool BuySignal=false;
         bool SellSignal=false;
            if(bv!=0 && bv!=EMPTY_VALUE){
               BuySignal=true;
            }
            if(sv!=0 && sv!=EMPTY_VALUE){
               SellSignal=true;
            }
            
            if(BuySignal || SellSignal){
               //если разрешено обратное закрытие, вызывается ф-ия закрытия встречных ордеров 
               if(CloseOnRev)fOrderCloseMarket(SellSignal,BuySignal);
               int BuyCount,SellCount;
               int Total=fMarketOrdersTotal(BuyCount,SellCount);
                  if(Total==-1){
                     return(0);
                  }
                  if(Total<MaxCount || MaxCount==-1){
                     if(BuySignal){
                        if(BuyCount<MaxBuyCount || MaxBuyCount==-1){
                           if(LastBuyTime!=iTime(NULL,TimeFrame,0)){
                              Print("BuySignal ",CommentOrder);                          
                              fOrderOpenBuy();//вызывается ф-ия открытия buy
                           }  
                        }
                     }
                     if(SellSignal){
                        if(SellCount<MaxSellCount || MaxSellCount==-1){
                           if(LastSellTime!=iTime(NULL,TimeFrame,0)){
                              Print("SellSignal ",CommentOrder);
                              fOrderOpenSell();//вызывается ф-ия открытия sell                           }
                        }
                     }
                  }
                  
            }
            
  
 
silhouette:

La fonction deinit() peut-elle être appelée à partir de la fonction start() ? Par exemple, je veux que l'Expert Advisor se décharge lui-même lorsque certaines conditions sont remplies.


Vous ne pouvez pas appeler la désinitialisation depuis le début de l'EA, mais vous pouvez donner une commande d'arrêt en utilisant return
 
granit77:
Voici l'extrait de code de l'EA d'Integer qui montre le travail avec l'indicateur de flèche.



Merci beaucoup ! Tout est devenu plus clair.

Si je comprends bien, après avoir créé une fonction d'indicateur et l'avoir mentionnée dans l'Expert Advisor, j'accède aux tampons de l'indicateur en utilisant iCustom ?