Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 184

 
Taras Slobodyanik:

Merci !

Si je peux me permettre, pourriez-vous faire fonctionner le résultat comme une somme de pips pour toutes les positions ouvertes? J'utilise une bibliothèque pour travailler avec les commandes et je ne peux pas effectuer d'opérations de commande sans elle :(

 

Salutations.

Tu peux me dire quelque chose ?

OrderSend a

datetimeexpiration=0,// date d'expiration


Comment puis-je configurer l'ordre pour qu'il soit supprimé après son ouverture, par exemple après 3 heures ou 3 bougies du graphique actuel ?

 
Andrey Sokolov:

Salutations.

Tu peux me dire quelque chose ?

OrderSend a

datetimeexpiration=0,// date d'expiration


Comment puis-je spécifier que l'ordre est supprimé après son ouverture, par exemple, après 3 heures ou 3 bougies du graphique actuel ?


Période()*3*60

Period()- nombre de minutes de la période

3 - nombre chandeliers dont vous avez besoin

60 secondes en une minute

Puis nous l'ajoutons à Time[0].

C'est tout.

 
Cпасиб
 
Alekseu Fedotov:


Période()*3*60

Period()- nombre de minutes de la période.

3 - nombre les bougies que vous voulez

60 secondes en une minute

Ajoutez à Time[0] ce que vous obtenez.

C'est tout.

Il est depuis longtemps possible d'écrire PeriodSeconds() avec le délai requis au lieu de Period()*60

Au total, il se présente comme suit :

time_expiratonn=Time_set_order+PeriodSeconds(PERIOD_CURRENT)*number_of_words ;

Ou, au lieu de la période actuelle, utilisez le nombre requis de bougies d'une période donnée : PeriodSeconds(PERIOD_M15)*3 est la durée de vie de l'ordre de trois bougies de quinze minutes.

 
Andrey Sokolov:

Salutations.

Tu peux me dire quelque chose ?

OrderSend a

datetimeexpiration=0,// date d'expiration


Comment puis-je spécifier que l'ordre doit être supprimé après 3 heures ou 3 bougies du graphique actuel ?

en termes généraux - pas du tout. Parce que les limites sont inconnues. Il y a un délai minimum, un délai maximum, des restrictions sur les types de commande. Ils ne sont pas communiqués au client, vous ne pouvez donc pas les utiliser.

Évidemment, l'action dépend de l'humeur du DC en question. Contrôlez donc vos propres commandes :-)

 
Artyom Trishkin:

Il est depuis longtemps possible d'écrire PeriodSeconds() avec le délai requis au lieu de Period()*60

Le résultat total est le suivant :

time_expiratonn=Time_set_order+PeriodSeconds(PERIOD_CURRENT)*nombre_de_chandelles ;

Ou, au lieu de la période actuelle, nous pouvons utiliser le nombre de bougies d'une période donnée : PeriodSeconds(PERIOD_M15)*3 est la durée de vie de l'ordre de trois bougies de quinze minutes.


Merci !
 

Le sujet a été abordé à de nombreuses reprises, mais je vais demander une explication.


J'ai décidé d'écrire un indicateur, je l'ai fait et exécuté sur m5, il fonctionne même et montre quelque chose.

Mes problèmes ont commencé lorsque j'ai décidé d'installer en parallèle sur la M5 un cliquet provenant d'un autre TF.

Comment faire pour qu'il affiche les données de différentes TF dans une seule fenêtre ?

 

Bonjour ...


La fonction OrderSelect() copie les données de la commande dans l'environnement logiciel ...Lorsque les ordres sont sélectionnés séquentiellement à l'aide du paramètre SELECT_BY_POS, les informations sont données dans l'ordre dans lequel elles ont été reçues du serveur de négociation ...= J'ai entendu dire que les ordres peuvent également être recherchés dans l'ordre inverse, pouvez-vous dire à un "dummie" comment afficher cela dans le code MQL4 ...

 
Yaroslav Nykula:

Bonjour ...


La fonction OrderSelect() copie les données de la commande dans l'environnement logiciel ...Lorsque les ordres sont sélectionnés séquentiellement à l'aide du paramètre SELECT_BY_POS, les informations sont données dans l'ordre dans lequel elles ont été reçues du serveur de négociation ...= J'ai entendu dire que les ordres peuvent également être recherchés dans l'ordre inverse, pourriez-vous dire à un "imbécile" comment afficher cela dans le code MQL4 ...

Recherche par ouverture

  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

Recherche de l'inverse par fermeture

 for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
Raison: