[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 406

 
Merci ! Mais cela n'a pas non plus fonctionné avec tous les exemples donnés dans le lien...
 
int start()
  {
   int i, limit;
   int counted_bars=IndicatorCounted();
//---- 
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
//---- 
   for( i= limit; i>=0; i--) 

      if (Close[ i+1]>0) 

         Buffer0[ i]=Close[ i]/Close[ i+1];

   for( i= limit; i>=0; i--) 

      double StdDev=iStdDevOnArray( Buffer0,Bars,16,0,MODE_SMA, i);

      Buffer1[ i]= StdDev;
      

   return(0);
  }
Il ne fonctionne pas pour une raison quelconque, aidez-moi à comprendre quel est le problème ! Merci !
 
Mr-Franklyn >>:
Почему-то не работает, помогите разобраться в чём проблема! Спасибо!

les parenthèses sont manquantes

 

J'essaie de faire un tour d'équité pour le réparer avant que les commandes supplémentaires n'arrivent :


a écrit ce code :

int init(){
      //Наиль - фиксируем сумму средств на начало работы советника
       EquityStart=AccountEquity();
       StartBalance=AccountBalance();
       if(GlobalVariableSet("EquityStart", EquityStart)==0)
       if(GlobalVariableSet("StartBalance", StartBalance)==0)
       return(false);
       //---- продолжение обработки
//===============

//трал у  меня выведен в отдельную функцию:
bool fPrEquity(){
   if(! PrEquity)return(true);
   static bool ClAllFlag=false;
   double Pr2=0;

      StartBalance=GlobalVariableGet("StartBalance");
      Pr2=AccountEquity()- StartBalance;
      
       if( Pr2>= ProcentToclose/100.0*AccountEquity()){
      Print ("Средстава возросли. Закрываем все!!!");
         ClAllFlag=true;
            StartBalance=AccountEquity();
            GlobalVariableSet("StartBalans", StartBalance);
         
       }
      if( ClAllFlag){
         if( fOrderCloseMarket(true,true)==0){
            ClAllFlag=false;

            return(true);
         }
         else{
            return(false);
         }
      } 
   return(true);           
}

Mais l'EA commence à fonctionner comme ça :


Qui peut me dire quel est le problème ?

 
Nail_Saby >>:

Пытаюсь сделать трал Эквити, чтобы зафиксировать его раньше, чем наберет лишние ордера:


написал такой код:

Но советник начинает работать так:


Кто подскажет, в чем проблема?

Vous semblez faire la mauvaise comparaison :

if(Pr2>=ProcentToclose/100.0*AccountEquity())
et vous devriez
if(Pr2>=ProcentToclose/100.0*StartBalance)
 
alsu >>:

Вы, кажется, не с тем сравниваете:

Je l'ai corrigé, mais ça n'a pas aidé...

Au fait, le journal indique toujours que

Средстава возросли. Закрываем все!!!

et écrit le montant des fonds propres.

Peut-être que ça a un rapport avec les cycles ?

 
Nail_Saby писал(а) >>

J'essaie de faire un tour d'équité pour le réparer avant que les commandes supplémentaires n'arrivent :

a écrit ce code :

Mais l'EA commence à fonctionner comme ça :

Qui peut me dire quel est le problème ?

Après la première exécution de la fonction, la valeur de la variable ClAllFlag prend la valeur true et ne change pas de valeur. Le type de variable doit être simplement bool.

 

Expliquez-moi ce que je fais mal



J'obtiens l'erreur qu'il n'y a pas de répertoire sur le serveur ftp, mais je suis sûr qu'il est là, où est-ce que je me suis trompé ?

 
Vinin >>:

После первого запуска функции значение переменной ClAllFlag принимает значение true и больше не меняет своего значения. Надо бы тип переменной сделать просто bool.

vous voulez supprimer le statique avant le bool ClAllFlag ?

Mais cette variable est utilisée à d'autres endroits dans le code... où tous les ordres sont fermés.

J'ai essayé - ça ne sert à rien.

Confus par les messages constants dans le journal...Peut-être quelque part

return
est-il sans valeur ?
 
Nail_Saby писал(а) >>

vous voulez dire supprimer la statique avant le bool ClAllFlag ?

Mais cette variable est utilisée à d'autres endroits dans le code... où tous les ordres sont fermés.

J'ai essayé ça - ça n'aide pas.

Je suis confus par les messages constants dans le journal... Peut-être que c'est quelque part

>> est-il sans valeur ?

Quelle est la valeur de Pr2 ?

Il est probable que vous deviez simplement réimprimer les valeurs.