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

 
anton777:

comme ça ? Parce que je ne connais pas les cycles.


for(int i=OrdersTotal()-1; i>=0;i--)
  {
     if(OrderSelect(i, SELECT_BY_POS)==true)
       {
          if(i==2)
            {
               int Ord_ticket=OrderTicket();
               Comment("Ord_ticket = ",Ord_ticket);
            }
       }
  }
 
Vinin:


maintenant il ne veut pas se fermer.

voici la fonction où vous pouvez mettre OrderClose() ?

//+-------------------------------------------------------------------------------------------+
//|  Описание : Возвращает цену открытия предпоследней открытой позиции или -1                |
//+-------------------------------------------------------------------------------------------+
//|  Параметры:                                                                               |
//|    sy - наименование инструмента   (""   - любой символ, NULL - текущий символ)           |
//|    op - операция                   (-1   - любая позиция)                                 |
//|    mn - MagicNumber                (-1   - любой магик)                                   |
//+-------------------------------------------------------------------------------------------+
double GetPrePricePos(string sy="", int op=-1, int mn=-1) {
  datetime o;
  double   l=-1;
  int      i, k=OrdersTotal()-1;

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


// Utilisez le bouton SRC //

 
Est-il possible de faire en sorte que l'indicateur effectue une nouvelle exécution sans l'arrivée d'un autre tick ?
 

D'après ce que je comprends, s'il y a plus de 8 décimales, les calculs seront automatiquement arrondis à ces 8 décimales ! Est-il possible d'augmenter cette valeur ?

 

En fait, il y a 15 chiffres décimaux significatifs. Mais un tel nombre occupe 8 octets de mémoire.
Pourquoi avez-vous besoin d'une telle précision de calcul (plus de 8 chiffres) ?

 
MikeM:
Est-il possible de faire en sorte que l'indicateur effectue une nouvelle exécution sans l'arrivée d'un autre tick ?
Scripts de service pour MT4.
 
Lians:

J'ai une question :

Je sais qu'avec les EA et les scripts, vous ne pouvez créer et modifier des fichiers que dans le dossier experts/files.

1. Puis-je travailler avec des fichiers dans des sous-dossiers de ce dossier ?

2. Si oui, pouvez-vous montrer un exemple de la façon dont cela est fait dans le code ?

Ou peut-être que quelqu'un a une dll-case qui vous permet de travailler avec des fichiers qui ne sont pas dans ce répertoire ?

4. ou peut-être que quelqu'un connaît un logiciel externe pour synchroniser en permanence le dossier de fichiers à partir d'un autre dossier sur l'ordinateur ?

1. Oui, vous pouvez.

2. Ajoutez un autre nom de dossier au dossier des fichiers avec une barre oblique : fichiers\mydirectory\myfile.dat

3. J'ai une DLL, mais je ne l'ai pas encore testée. Il existe une telle bibliothèque.

4) Cela peut et doit être fait avec des liens symboliques ou des liens matériels et logiciels. C'est plus facile que la synchronisation.

 
MikeM:

En fait, les chiffres décimaux significatifs sont au nombre de 15. Mais un tel nombre occupe 8 octets en mémoire.
Pourquoi avez-vous besoin d'une telle précision de calcul (plus de 8 chiffres) ?

J'essaie de travailler avec des matrices... J'ai essayé de contourner le problème, mais il se présente toujours. Il est un peu difficile de le contourner, car les explications logiques des actions commencent à se perdre.

En ce qui concerne les 15 chiffres - vérifié, normalement seulement 8 décimales, donc je me demande s'il est possible d'étendre.

 
dzhini:

À propos des 15 chiffres - j'ai vérifié, seulement 8 décimales, donc je me demande s'il est possible de les étendre.

Comment avez-vous vérifié ? Je reçois 15.

MikeM:
Est-il possible de forcer l'indicateur à se redessiner sans l'arrivée d'un autre tick ?
Redessiner quoi ? Objets graphiques ou mises à jour de graphiques ?

 
Zhunko:

Redessiner quoi ? Des objets graphiques ou une mise à jour graphique ?

Nous parlons de la mise à jour des tampons d'indicateurs et du redessin des graphiques d'indicateurs, pas des objets.