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

 
bergkamp.:
voici un exemple ... si vous mettez simplement sleep à la fin du code, comment cela fonctionnera-t-il ?

Si vous ne vous souciez pas du fait que la fonction de démarrage ne démarrera pas après la fonction de démarrage pendant 30 secondes (et donc que EA n'effectuera aucune action pendant ce temps), alors mettez en veille.

 

L'Expert Advisor se teste bien dans le testeur en mode visuel, mais l'optimisation est complètement lente, bien qu'il n'y ait que deux paramètres d'optimisation et une petite période de temps, quelle en est la raison ?

 
vadynik:

L'Expert Advisor se teste bien dans le testeur en mode visuel, mais dans l'optimisation est complètement lent, bien qu'il n'y ait que deux paramètres pour l'optimisation et une petite période de temps, quelle est la raison de cela ?

L'optimisation prend beaucoup plus de temps qu'un seul essai, même en mode visuel. Essayez d'augmenter le pas des changements de paramètres. Ou passer aux tests aux prix d'ouverture.
 
khorosh:

Si vous ne vous souciez pas du fait que la fonction de démarrage ne démarrera pas après 30 secondes (et donc que l'EA n'entreprendra aucune action pendant ce temps), alors mettez en veilleuse.

donc après 30 sec la fonction de démarrage et toutes les fonctions séquentielles vont redémarrer avec l'arrivée d'un tick ? et vont se remettre en sommeil pendant 30 sec .... Je me trompe ? et l'expert fera toutes ses actions dans le même tic-tac ?
 
bergkamp.:
donc après 30 sec. la fonction de démarrage et toutes les fonctions séquentielles redémarreront avec l'arrivée d'un seul tick ? et se remettront en sommeil pendant 30 sec... Ai-je tort ?
Oui, pendant que sleep est en cours, la fonction start() ne se termine pas et ne redémarre donc pas.
 
vadynik:


L'optimiseur peut-il être ralenti par des objets graphiques ?

Et pourquoi les balises apparaissent-elles toujours si CLR_NONE est défini ?

Il n'y a pas de graphiques lors de l'optimisation. Question : "Où, alors, les marques apparaissent-elles ? ??"
 
vadynik:


L'optimiseur peut-il être ralenti par des objets graphiques ?

Et pourquoi, si CLR_NONE est défini, les balises apparaissent-elles toujours ?


Il semble que si des objets graphiques sont créés dans une EA, l'optimisation de cette EA est totalement impossible. Cependant, je ne peux pas l'affirmer avec certitude. En tout cas, mon conseiller expert qui utilise les lignes de tendance n'est pas optimisé. Je ne peux rien dire sur les étiquettes, j'ai besoin d'avoir le code entier.
 
khorosh:
Oui, tant que sleep est en cours, start() ne se termine pas et ne redémarre donc pas.
La fonction start() est-elle nécessaire de toute façon ?
 
bergkamp.:
Un démarrage est-il nécessaire de toute façon ?
Cela dépend de vous si vous en avez besoin pour un travail d'expert ou non, je ne peux pas voir votre code d'expert. Si c'est un pipsqueak avec des objectifs à un centime, ça pourrait être nécessaire.
 

Il y a une fonction pour fermer tous les ordres, elle ferme à partir de la dernière ouverture, veuillez me conseiller comment la refaire pour qu'elle commence à fermer à partir de la première ouverture et se termine avec la dernière.


//+------------------------------------------------------------------+
//|                 Закрыть все ордера                               |
//+------------------------------------------------------------------+


double ClossAllOrders ()

{
  int total = OrdersTotal();
  for(int i=total-1;i>=0;i--)
  {
    OrderSelect(i, SELECT_BY_POS);
    int type   = OrderType();

    bool result = false;
    
    switch(type)
    {
      //Close opened long positions
      case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage, Lime );
                          break;
      
      //Close opened short positions
      case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Lime );
                          break;

      //Close pending orders
      case OP_BUYLIMIT  :
      case OP_BUYSTOP   :
      case OP_SELLLIMIT :
      case OP_SELLSTOP  : result = OrderDelete( OrderTicket() );
    }
    
    if(result == false)
    {
      Print("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
      Sleep(500);
    }  
  }
}

// End