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

 
Lisez attentivement la question. Il s'agit de calculer le bénéfice, à un certain moment, et non le bénéfice actuel.
 
hedger:

C'est possible.

Mais si la raison est que la question concerne MT5 et non MT4, alors je me suis laissé guider par cette liste :


Il ne fait que nous attirer vers un cinquième avec ses publicités... :-) Pour en savoir plus - Voir Treugi à venir.
 
FAQ:
Lisez attentivement la question. Il s'agit de calculer le bénéfice, à un certain moment, et non le bénéfice actuel.
Mm-hmm. Bien. Désolé, je ne l'ai pas bien compris.
 

Il semble que oui... malheureusement, c'est problématique de le vérifier sur le testeur (ou alors je suis tellement endormi que je n'arrive pas à trouver comment), vérifiez ?

double AcountProfitEx (double Price) {
   double PipsPrice = MarketInfo(Symbol(),MODE_TICKVALUE)/(MarketInfo(Symbol(),MODE_TICKSIZE)/MarketInfo(Symbol(),MODE_POINT));
   double ProfitSum = 0;
   for (int i = OrdersTotal(); i > 0; i--) {
      OrderSelect(i, SELECT_BY_POS);
      if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL)) {
         ProfitSum += (OrderOpenPrice()-Price)*PipsPrice*OrderLots();
      }
   }
   return (ProfitSum);
}
 

Bon après-midi.

Comment puis-je vérifier si un nombre est un nombre entier ?

par exemple, le résultat de la division d'un nombre par un autre.

 
Stells:

Bon après-midi.

Comment puis-je vérifier si un nombre est un nombre entier ?

Par exemple, le résultat de la division d'un nombre par un autre ?


bool CheckInt(double Value, double Delta){
   if (MathAbs(Value-MathRound(Value))<Delta) 
       return(true);
   return(false);
}

Vous pouvez faire comme ceci

Delta - Erreur de réglage

 
if(MathMod(input,1.0)==0){
    // значит input целое
}
 
Vinin:

Je veux engager 2 transactions dans l'historique et effectuer une action sur la troisième, puis-je le faire ?

int Orders=HistoryTotal() ; // total des ordres historiques
int Kol_Orders=0 ; // nombre de transactions

for(int s=Orders-1;s>=0;s--)
{
if(OrderSelect(s,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("History error !") ;
break ;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL || OrderMagicNumber()!=MAGIC)
continue ;
Kol_Orders++ ;

}
bool CheckInt(double Value, double Delta){

Valeur=Kol_Ordres/2 ;

delta =0,001 ;
if (MathAbs(Value-MathRound(Value))<Delta)
return(true) ;
return(false) ;
}

 
FAQ:

Est-ce que ça va ?

int Orders=HistoryTotal() ; // total des commandes historiques
int Kol_Orders=0 ; // nombre de commandes

for(int s=Ordres-1;s>=0;s--)
{
if(OrderSelect(s,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Erreur d'historique !") ;
pause ;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL || OrderMagicNumber()!=MAGIC)
continuer ;
Kol_Ordres++ ;

}

if(MathMod(Kol_Orders/2,1.0)==0){
// entrée d'un entier
}

 
Bonjour, chers professionnels, veuillez nous indiquer comment vous testez vos EAs ? Nous avions l'habitude d'utiliser le script Patch de Birt et obtenions des résultats de 99%, mais depuis la première date, il a cessé de fonctionner parce que le terminal ne supporte plus les anciens builds... donc je ne suis pas sûr de ce que je dois faire si je fais confiance aux résultats des tests habituels du terminal ? Comment s'en sortir ? Ou peut-être que quelqu'un peut jeter un coup d'œil au script et l'adapter à la dernière version ?
Dossiers :