[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 249

 
artmedia70:
Ne demandez pas, vérifiez avec un testeur... :)
Après la compilation, le conseiller expert fonctionne de la même manière qu'avant les modifications. C'est-à-dire qu'il dessine une seule ligne.
 
globad:
l'expert trace une ligne.
si le code dit "dessinez la ligne 1 si elle n'est pas dessinée ; dessinez la ligne 2 si elle n'est pas dessinée" - elles ne peuvent pas ne pas être dessinées :)
 
eddy: artmedia70:
si le code dit "dessiner la ligne 1 si elle n'est pas dessinée ; dessiner la ligne 2 si elle n'est pas dessinée" - elles ne peuvent pas ne pas être dessinées :)
Les gars, j'ai trouvé ! Ça marche !
 

Pouvez-vous me dire pourquoi tous les pourcentages sont à 0 dans le rapport d'essai ? C'est-à-dire le drawdown relatif, le drawdown maximum, etc.

 
artmedia70:

Par exemple, comme ceci :

Appelez comme ça :

J'espère que vous pourrez transformer les minutes en heures... :)





J'ai essayé de l'écrire comme vous l'avez dit, mais ça ne fonctionne pas... il ouvre toujours les positions à la clôture de la précédente...(((

peut-être que vous ne comprenez pas ce que je veux dire, je veux qu'il ouvre une position au plus tôt 1 heure après la fermeture de la précédente ... et dans votre cas, il exclut la possibilité de réouverture, mais dès qu'il ferme, il ouvre immédiatement la suivante.

 if (SecondsAfterOpenLastPos(NULL, OP_SELL, MAGIC)>=(Period()*Interval)*60) {
        OpenSell();  
           } 
 
aide des gars : nous avons besoin qu'une transaction soit ouverte si un certain temps s'est écoulé après que la précédente ait été fermée....help
 
Vovo4ka:
Les gars, aidez moi : J'ai besoin qu'une transaction soit ouverte si un certain temps s'est écoulé après que la précédente ait été fermée....help


for (int i=0 ; i<OrdersTotal() ; i++)
{ si(OrderSelect(i, SELECT_BY_POS)==true)
{
TC = TimeCurrent() ;
OM = OrderMagicNumber() ;
if (TC-OM>86400 && (OrderType()==OP_SELL)){
CLOSEORDER("Sell") ;
}
if (TC-OM>86400 && (OrderType()==OP_BUY)){
CLOSEORDER("Buy") ;
}
}
}

Dans OrderMagicNumber(), lors de l'ouverture d'un ordre, il est écrit : Magic = TimeCurrent() ;

 
ILL:


for (int i=0 ; i<OrdersTotal() ; i++)
{ si (OrderSelect(i, SELECT_BY_POS)==true)
{
TC = TimeCurrent() ;
OM = OrderMagicNumber() ;
if (TC-OM>86400 && (OrderType()==OP_SELL)){
CLOSEORDER("Sell") ;
}
if (TC-OM>86400 && (OrderType()==OP_BUY)){
CLOSEORDER("Buy") ;
}
}
}

Dans OrderMagicNumber(), lors de l'ouverture d'un ordre, il est écrit : Magic = TimeCurrent() ;


J'ai oublié =) 86400 - c'est le nombre de secondes après lequel la position est fermée
 
ILL:

Pouvez-vous me dire pourquoi tous les pourcentages sont à 0 dans le rapport de test ? C'est-à-dire le drawdown relatif, le drawdown maximum, etc.


Tout s'est arrangé - le dépôt était trop important)
 
Vovo4ka:


J'ai essayé de l'écrire comme vous l'avez dit, cela fonctionne... mais il ouvre toujours une position à la clôture de la précédente...(

Peut-être que vous ne comprenez pas ce que je veux dire, il faut ouvrir une transaction au plus tôt 1 heure après que la précédente ait été fermée... et dans votre cas, cela exclut la possibilité d'ouvrir une transaction répétée, mais dès qu'elle est fermée, la suivante est ouverte immédiatement...

Et pensez au code de fonction ? Trouvez quatre différences :) :

//+----------------------------------------------------------------------------+
datetime SecondsAfterCloseLastPos(string sy, int op, int mn) 
{
   datetime t;
   int      i, k=OrdersHistoryTotal();

   if (sy=="0") sy=Symbol();
   for (i=0; i<k; i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=sy)        continue;
         if (OrderType()!=op)          continue; 
         if (OrderMagicNumber()!=mn)   continue; 
         if (t<OrderCloseTime()) t=OrderCloseTime();
         }
      }
  return(TimeCurrent()-t);
}
//+----------------------------------------------------------------------------+
Raison: