Comment mettre en place la fermeture des positions une par une après N minutes ? - page 3

 
Ihor Herasko:

Excusez-moi. La ligne :

doit être réécrit comme ceci :


(OrderCloseTime()> 0) fonctionne, je le laisse comme ça alors

Merci encore))

Renat Akhtyamov:

закрытие по тикету, переделайте под свой

Il se ferme également sans problème, mais après la fermeture, l'erreur 4108"Numéro de ticket non valide" s'affiche.


 
Natalya Dzerzhinskaya:

(OrderCloseTime()> 0) fonctionne, je le laisserai comme ça alors

Merci encore))))


Il se ferme également sans problème, mais après la fermeture, le message d'erreur 4108"Numéro de ticket erroné" s'affiche.


Donc c'est vraiment mal, je ne mentirai pas.

Regardez dans la logique de votre code.

Et vous faites une commande pour fermer ou deux ?

Si vous l'avez fermé une fois, il n'y a rien à faire pour le second, et le ticket précédent sera déjà invalide.

 
Renat Akhtyamov:

Donc c'est vraiment faux, ça ne ment pas.

Regardez dans la logique de votre code.

Exécutez-vous une seule commande de fermeture ou deux ?

Si vous fermez une fois, il n'y a rien à faire pour la deuxième, et le ticket précédent sera déjà incorrect.


La variable"close" de votre code ne sera jamais inférieure à zéro, lisez l'aide.

 
Ihor Herasko:

Points justes ci-dessus. Pourquoi repasser par toutes les commandes si le billet est déjà connu ?

Il est possible de fermer les ordres immédiatement, en cas de dépassement.
Pourquoi chercher le temps ? Comparer - Fermer - Suivant.
 
Taras Slobodyanik:

la variable "close" de votre code ne sera jamais inférieure à zéro, lisez l'aide

Lisez-le vous-même...

-----------

Valeur de retour

Retourne vrai si la fonction s'est déroulée avec succès ou faux s'il y a eu une erreur. Pour obtenir les informations sur les erreurs, vous devez appeler GetLastError().

Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
GetLastError() - функция, возвращающая коды ошибок. Кодовые константы ошибок определены в файле stderror.mqh. Для вывода текстовых сообщений следует использовать функцию ErrorDescription(), определенную в файле stdlib.mqh.
 
Renat Akhtyamov:

Lisez par vous-même...

-----------

Valeur retournée

Retourne vrai si la fonction s'est déroulée avec succès ou faux en cas d'erreur. Pour obtenir des informations sur l'erreur, appelez GetLastError().


vous ne connaissez même pas la différence entre les types de variables)

que vous devez apprendre.

 
Taras Slobodyanik:

donc vous ne connaissez même pas les types de variables)

Vous devez apprendre.


Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Comment mettre en place des positions de fermeture une par une après N-minutes ?

Natalya Dzerzhinskaya, 2017.11.22 19:17


(OrderCloseTime()> 0) fonctionne, je vais donc le laisser comme ça.

Merci encore))))


La fermeture se fait également sans problème, mais après la fermeture, l'erreur 4108"Numéro de ticket non valide" s'affiche.


Ça vient du ciel ou quoi ?

)

Bonne chance dans vos études !
 
Renat Akhtyamov:

Ça tombe du ciel ou quoi ?

)

Bonne chance dans vos études !

Dans quelles conditions cela pourrait-il fonctionner, même une fois tous les 100 ans ?

                  if(OrderSelect(MyTicketBuy, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketBuy,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }
                  if(OrderSelect(MyTicketSell, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketSell,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,clrBlue);
                     if(close<0){if(Fu n_Error(GetLastError())==1)return;}
                  }
 
Vitaly Muzichenko:

Dans quelles conditions cela pourrait-il fonctionner, même une fois tous les 100 ans ?

Eh bien Vitaly, je ne sais pas ................

Vous l'avez dans votre poste de travail.......

Attention, la fonction est sur la page précédente.
 
Renat Akhtyamov:

Eh bien Vitaly, je ne sais pas ................

Vous l'avez dans votre poste......

Attention, la fonction est sur la page précédente.

Ce que je veux dire, c'est que lafermeture ne peut être que 0 (faux) ou 1 (vrai), il n'y a pas d'autre possibilité.

De même, pour la fiabilité, il est préférable d'écrire :

close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
Raison: