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

 

Désolé pour la question idiote : pourquoi l'indicateur n'affiche-t-il pas les valeurs inférieures à 0,0001 ?

Pendant que j'écrivais l'indicateur, j'ai décidé de vérifier un des composants à travers le tampon. Je ne comprends pas quelque chose, mais il semble que les nombres avec 5 chiffres après le point ne sont pas dessinés (corrigez-moi si je me trompe), ok, laissez-les ne pas être dessinés, mais seront-ils comptés dans l'indicateur alors ?

 
ask:

Désolé pour la question idiote : pourquoi l'indicateur n'affiche-t-il pas les valeurs inférieures à 0,0001 ?

Pendant que j'écrivais l'indicateur, j'ai décidé de vérifier un des composants à travers le tampon. Je ne comprends pas quelque chose, mais il semble que les nombres avec 5 chiffres après le point ne sont pas dessinés (corrigez-moi si je me trompe), ok, laissez-les ne pas être dessinés, mais seront-ils comptés dans l'indicateur alors ?

https://docs.mql4.com/ru/convert/DoubleToStr
 
 
Shniperson:
Pouvez-vous suggérer un "Expert Advisor" ou un script... qui afficherait en gros chiffres le nombre de pips et la perte d'argent/le profit de la transaction en cours (ouverte) et quel est le solde... car je ne le trouve pas moi-même.

Voir ici : https://docs.mql4.com/ru/common/Comment.
 
sergeev:

voir GetTickCount... ou se référer à la fonction Windows

Merci pour la réponse. Mais je ne comprends pas vraiment comment l'utiliser, il renvoie le temps depuis le début du système (c'est-à-dire depuis son appel comme je le comprends)...

Ou faut-il l'appeler avant le tick, puis soustraire le résultat ?

FileSeek(ExtHandle,0,SEEK_END) ;

time=GetTickCount() ;

FileWrite(ExtHandle, TimeToStr(TimeCurrent(), TIME_DATE | TIME_SECONDS),time - GetTickCount(),Bid, Ask, iVolume(Symbol(), NULL, 0)) ;

 

Bonjour à tous les membres du Forum !

J'ai des difficultés avec cela, quelqu'un peut-il m'aider ? Merci d'avance. Le problème est le suivant. Si je veux placer un nouvel ordre en attente, dans mon conseiller expert, je dois spécifier la condition. La condition est le moment de la transformation de l'ordre en attente en ordre de marché, c'est-à-dire que si nous avons un ordre SellStop, dès qu'il devient un ordre de marché, nous devons ouvrir un nouvel ordre SellStop à une certaine distance, etc.

Merci de votre attention.

P.S. peut-être pouvez-vous me conseiller où chercher.

 
Gerkl:

Bonjour à tous les membres du Forum !

J'ai des difficultés avec cela, quelqu'un peut-il m'aider ? Merci d'avance. Le problème est le suivant. Si je veux placer un nouvel ordre en attente, je dois l'indiquer dans un conseiller expert. La condition est le moment de la transformation de l'ordre en attente en ordre de marché, c'est-à-dire, supposons que nous avons un ordre SellStop, dès qu'il devient un ordre de marché, nous devrions ouvrir un nouvel ordre SellStop à une certaine distance, etc.

Merci de votre attention.

P.S. peut-être que vous pouvez me dire où chercher.

par exemple de cette façon :

lorsque vous passez une commande, vous la stockez dans une variable globale :

int ticket = 0;

ticket = OrderSend(...);

puis vérifiez si elle s'est ouverte ou non :

if (ticket > 0)
{
   if (OrderSelect(ticket, SELECT_BY_TICKET);        // выбираем ордер
      if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))     // проверяем его тип
      {
         // действия которые нужно выполнить после открытия ордера
      }
}
 
Merci pour le conseil, nous allons faire un essai.
ilunga:

comme ça :

Lorsque vous passez une commande, vous stockez la commande dans une variable globale :

et ensuite vérifier si elle s'est ouverte ou non :

 
Gerkl:

Bonjour à tous les membres du Forum !

J'ai du mal à comprendre, quelqu'un peut-il m'aider ? Merci d'avance. Le problème est le suivant. Si je veux placer un nouvel ordre en attente, dans mon conseiller expert, je dois spécifier la condition. La condition est le moment de la transformation de l'ordre en attente en ordre de marché, c'est-à-dire, supposons que nous avons un ordre SellStop, dès qu'il devient un ordre de marché, nous devrions ouvrir un nouvel ordre SellStop à une certaine distance, etc.

Merci de votre attention.

P.S. peut-être pouvez-vous me conseiller où chercher.


Si vous ne pouvez avoir qu'un seul ordre SellStop ouvert, alors passez en revue tous les ordres ouverts.

while (N<=OrdersTotal())
 {
 SelectOrder(OrdersTotal()-1+N,Select by pos, mode_trades);
 if (OrderType==OP_SELLLIMIT)
  {
  M=0;//типа SELLLIMIT найден
  }else
  {
  M=1;//selllimit не найден
  }
 N++;
 }
if M==1
 {
 OrderSend(...OP_SELLLIMIT...);
 }

Comme quoi, il y a beaucoup d'erreurs - je suis pressé, j'espère que vous comprenez l'essentiel.

 
Pouvez-vous me dire comment simuler l'appui sur la touche Home pour charger rapidement des données historiques?
Raison: