[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 692

 
Ne vous inquiétez pas, c'est essentiellement de l'int.
 
Roger:
Ne vous inquiétez pas, c'est essentiellement int.


Par exemple, si je réassigne le résultat du calcul de TimeCurrent()-OrderOpenTime() à int comme :

int mytime = TimeCurrent()-OrderOpenTime() ;

il n'y aura pas d'incertitudes dans ce formulaire ? Et j'obtiendrai le nombre de secondes dans mon temps ?

 
IgorM:

Merci, mais j'ai peur d'expérimenter avec le type datetime - il n'y a pas de conversions vers d'autres types (j'aimerais que datetime --> int), et il n'est pas réaliste de voir ce qu'est la sortie.

Pourquoi est-ce irréaliste ? Les fonctions de temps renvoient "le nombre de secondes écoulées...", qui est un pur int. En additionnant et en soustrayant "le nombre de secondes", on obtient le décalage temporel par rapport au "point de référence temporel".
 
IgorM:


Par exemple, si je réaffecte le résultat du calcul TimeCurrent()-OrderOpenTime() en int dans le formulaire :

int mytime = TimeCurrent()-OrderOpenTime() ;

il n'y aura pas d'incertitudes dans cette forme ? et j'obtiendrai le nombre de secondes dans mon temps ?


Bien.
 
DDFedor:

Pourquoi est-ce irréaliste ? Les fonctions temporelles renvoient "nombre de secondes écoulées..." et il s'agit d'un pur int. En ajoutant et en soustrayant "nombre de secondes", on obtient un écart de temps par rapport au "point de référence temporel".


Je le sais, c'est juste que parfois l'incertitude de la conversion automatique des types me fait peur - il n'y a pas d'information, c'est à dire

ce qui se passera si

int = double

int = datetime

etc.

Dans d'autres langages de programmation, de telles constructions ne passeront pas le compilateur - l'erreur de conversion de type sera appelée, mais dans mql il n'y aura pas d'erreur, mais cela ne signifie pas que cela fonctionnera correctement - c'est pourquoi j'ai demandé

 
IgorM:


ça a l'air bien, mais personne ne sait quand l'appartement se termine et quand il commence :) - Je suis en train de lutter contre ce phénomène et cela semble fonctionner - nous en discuterons plus tard

Je voudrais contrôler un ordre ouvert selon le principe suivant : si après avoir placé un ordre en fermant N barres, son profit est inférieur à la valeur fixée, alors fermez l'ordre.

comment vérifier/calculer le nombre de barres depuis lequel un ordre a été ouvert à partir d'un EA ?

Il est étrange que vous ne posiez cette question que maintenant... J'utilise la fonction d'Igor Kim depuis longtemps... Je veux l'ajouter à la pile... :)

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает номер бара открытия последней позиции или -1.       |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    op - операция                   (   -1       - любая позиция)           |
//|    mn - MagicNumber                (   -1       - любой магик)             |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) {
  datetime t;
  int      i, k=OrdersTotal();

  if (sy=="" || sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) t=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sy, tf, t, True));
}
 

Salutations, membres du forum

Pouvez-vous me dire s'il existe un indicateur qui pourrait afficher une seule position totale si j'ai les mêmes positions sur une paire particulière.

Par exemple, j'ai 7 positions de vente sur gbp/usd et je voudrais voir une position de vente totale sur cette paire.

Si quelque chose de similaire a déjà été mis en œuvre, veuillez suggérer un nom.

 


Pouvez-vous me dire,

Pourquoi, pendant le test d'un conseiller expert avec le mode de visualisation activé, tout le marquage graphique des opérations réalisées disparaît après la fin du test ?

En même temps, pendant le test, il est là.

 

Bonjour à tous.

Répondez à ma question libre, s'il vous plaît. Ou donnez-moi un lien. Question : Quels serveurs de trading utilisez-vous avec MetaTrader 4 ? Existe-t-il des serveurs de commerce libre où l'on peut s'inscrire ou des noms d'utilisateur et des mots de passe invités ?

Merci pour vos commentaires.

 
Guest77:

Bonjour à tous.

Répondez à ma question sur les loosers, s'il vous plaît. Ou donnez-moi un lien. Question : Quels serveurs commerciaux MetaTrader 4 utilisez-vous ? Existe-t-il des serveurs de commerce libre sur lesquels on peut s'inscrire, ou un login et un mot de passe pour les invités ?

Merci pour vos commentaires.




Sur le marché des changes, presque tous les serveurs sont gratuits.

De plus, presque tous les DC proposent des comptes de démonstration qui vous permettent de négocier avec de l'argent virtuel plutôt qu'avec de l'argent réel.