Erreurs, bugs, questions - page 582

 
ivandurak:

Voici un script qui devrait afficher les étiquettes du caractère sélectionné, quel que soit le caractère sur lequel il est lancé, mais qui ne les affiche que lorsqu'il est lancé sur le même caractère. J'ai besoin d'un coup de pouce.


Au lieu de :

   CopyRates(Symbol(),0,0,10,price);

besoin de

   CopyRates("EURUSD",0,0,10,price);
 
uncleVic:

Au lieu de :

besoin de

Pourquoi cela ne fonctionne-t-il pas avec Symbol()?
 
tol64:
Pourquoi cela ne fonctionne-t-il pas avec Symbol()?

édite les étiquettes sur le symbole sélectionné, quel que soit le symbole sur lequel il est lancé.

avec Symbol() prendra celle qui est lancée.

 

Pourquoi l'énumération ENUM_APPLIED_PRICE commence-t-elle par 1 ?

   ENUM_APPLIED_PRICE enm;
   for(int i=0;i<10;i++)
     {
      enm=i;
      Print(EnumToString(enm));
     }

résultat :

        ENUM_APPLIED_PRICE::9
        ENUM_APPLIED_PRICE::8
        PRICE_WEIGHTED
        PRICE_TYPICAL
        PRICE_MEDIAN
        PRICE_LOW
        PRICE_HIGH
        PRICE_OPEN
        PRICE_CLOSE
        ENUM_APPLIED_PRICE::0
 

Quelle est l'heure renvoyée par la fonction TimeCurrent( ) ?

L'aide se lit :

Renvoie la dernière heure connue du serveur, l'heure d'arrivée de la dernière cotation par l'un des symboles sélectionnés dans Market Watch. Dans le gestionnaire OnTick(), cette fonction renvoie l'heure du tick entrant à traiter. Dans d'autres cas (par exemple, dans les gestionnaires OnInit(), OnDeinit(), OnTimer() et ainsi de suite), il s'agit de l'heure de la dernière arrivée de cotation pour tout symbole disponible dans la fenêtre "Market Watch", la même heure que celle indiquée dans l'en-tête de cette fenêtre. La valeur de l'heure est générée sur le serveur commercial et ne dépend pas des paramètres de l'heure du PC de l'utilisateur.

L'heure d'arrivée de la dernière cotation pour n'importe quel symbole - elle peut être sensiblement différente pour différents symboles de- surtout pour ceux dont les transactions sont fermées))

Si vous regardez l'aperçu du marché - serveur MQL (l'image est prise aujourd'hui) :


Nous voyons l'heure 15:22:42 - elle ne correspond à aucun des symboles. Peut-être que quelque chose doit être modifié sur le serveur ?

 

Messieurs, MQ a une petite suggestion :

Lors de l'optimisation d'un EA, vous pouvez accidentellement fermer le terminal. Est-il possible de faire une confirmation pour fermer.

Pour ceux qui n'en ont pas besoin, faites un drapeau dans les paramètres du testeur.

J'espère que d'autres utilisateurs de MT me soutiendront. Il est dommage que quelques jours de travail soient réduits à néant et qu'il faille tout recommencer.

 
vdv2001:

Messieurs, MQ a une petite suggestion :

Lors de l'optimisation d'un EA, vous pouvez accidentellement fermer le terminal. Est-il possible de faire en sorte que la confirmation de la fermeture soit requise ?

Pour ceux qui n'en ont pas besoin, faites un drapeau dans les paramètres du testeur.

J'espère que d'autres utilisateurs de MT me soutiendront. Il est dommage que quelques jours de travail soient réduits à néant et qu'il faille tout recommencer.

Et il y a aussi une perte de contact dans l'interrupteur secteur (on ne sait jamais combien de problèmes l'utilisateur final a). En général, le problème doit être élargi,

Faire une sauvegarde automatique intermédiaire des données internes du testeur (vous savez, la dernière population),

afin qu'il (le testeur) puisse poursuivre la recherche à partir du dernier point sauvegardé sur un nouveau départ.

HZZ Cette fonctionnalité a été testée depuis longtemps sur des jeux (de rares jeux peuvent être passés régulièrement sans sauvegarde) et se justifie assez bien. Il ne s'agirait donc pas d'un nouveau modèle de la moto.

 

Avec tout le respect que je vous dois, veuillez expliquer le problème. Imho, le problème n'est pas dans le skieur et pas dans l'asphalte, les skis restent. Comment est-il possible que le cycle devienne infini ? Ou donnez un coup de pied dans la direction du ski.

class proba
  {
   private:
      int   Nambe;
   public:
       void     Init(){Nambe=10 ;};
       void     Vedenie() {Nambe--  ;};
       bool     Start(){if (Nambe >0) return(true); return(false) ;};        
  };
//=========================================================================
proba cikl;
void OnStart()
  {
      cikl.Init();
      while(cikl.Start())
        {
         cikl.Vedenie() ;
         Print(" Функция старт вернула ",cikl.Start());
        }
  }
 

Si vous corrigez le texte de la classe comme ceci :

class proba
  {
   private:
      int   Nambe;
   public:
       void     Init(){Nambe=10 ;};
       void     Vedenie() {Nambe--  ;};
       bool     Start(){
         if (Nambe >0)return(true);
         return(false) ;
       };        
  };

alors tout fonctionne :

2011.11.27 11:06:13 proba (EURUSD,M30) La fonction de démarrage a retourné false

2011.11.27 11:06:12 proba (EURUSD,M30) La fonction de démarrage a retourné vrai.

2011.11.27 11:06:12 proba (EURUSD,M30) La fonction de démarrage est retournée vraie.

2011.11.27 11:06:12 proba (EURUSD,M30) La fonction de démarrage est retournée vraie.

2011.11.27 11:06:11 proba (EURUSD,M30) La fonction de démarrage est retournée vraie.

2011.11.27 11:06:10 proba (EURUSD,M30) La fonction de démarrage est retournée vraie.

2011.11.27 11:06:09 proba (EURUSD,M30) La fonction de démarrage est retournée vraie.

2011.11.27 11:06:07 proba (EURUSD,M30) La fonction de démarrage est retournée vraie.

2011.11.27 11:05:59 proba (EURUSD,M30) La fonction de démarrage est retournée vraie.

2011.11.27 11:05:44 proba (EURUSD,M30) La fonction de démarrage est retournée vraie.

Merveilles.

 
gdtt:

Si vous fixez le texte de la classe comme ceci :

ça marche.

des merveilles.

Ctrl-C Ctrl-V ne fonctionne pas plz expliquer quel est le truc, et quelle version vous avez. J'ai la construction 540 du 11 novembre 2011.