Qu'est-ce qu'il y a de mal à ça ? - page 6

 
Comment ouvrir deux ordres en même temps ? Il existe des EA qui ouvrent deux ordres simultanément dans des directions différentes.
 
sss2019:
Que diriez-vous d'ouvrir deux commandes en même temps ?
Par exemple, dans des comptes ou des terminaux différents.
 
sss2019:
Comment ouvrir deux ordres en même temps ? Il existe des EA qui ouvrent deux ordres simultanément dans des directions différentes.
Il n'existe pas de mitrailleuses qui tirent du même canon en même temps. Les balles sortent une par une.
 
Comment faire pour qu'un ordre en attente soit supprimé au bon moment s'il ne fonctionne pas. Comment régler correctement la date, de sorte que les ordres ouverts chaque jour soient fermés à 5 heures ? Pouvez-vous me dire.
 

Soit h_time l'heure de clôture de la commande en heures. Le code pourrait alors ressembler à ceci :

extern   int h_time = 17;    // время указано по серверу
..........

   datetime c_time = TimeCurrent(); 
   int HourCurrent = TimeHour(c_time);

   // установим c_time в 00:00:00 текущего дня
   c_time = c_time - HourCurrent*60*60 - TimeMinute(c_time)*60 - TimeSeconds(c_time);
   // теперь установим c_time на указанный час
   if (h_time > HourCurrent) //время можем установить, если оно еще не наступило
     c_time = c_time + h_time*60*60;
   else
     c_time = 0;

En outre, nous devons garder à l'esprit les nuances suivantes : la session est plus courte le vendredi ; il y a des jours fériés ; l'heure d'expiration de l'ordre en suspens ne peut pas être fixée près de l'heure du serveur (la proximité dépend de la société de courtage).

 
sss2019:
Donc, une fois qu'un ordre a assigné son numéro à la variable Ticket, il n'est pas nécessaire de le sortir avec le retour, la variable ne sera plus supprimée au prochain tick ?
Dans ce cas, il ne sera pas supprimé car il est déclaré globalement
 
granit77:
Il n'existe pas de mitrailleuses qui tirent du même canon en même temps. Les balles sortent une par une.

Des mots d'or.
 

Aidez-moi, s'il vous plaît.

   if(TimeHour(TimeCurrent()) == 9 && TimeMinute(TimeCurrent()) == 28 && OrdersTotal() == 0)
     {
     if(OrderSend(Symbol(),OP_BUYLIMIT,Lot,Open[0] - 10 * MyPoint,Slippage,0,0,MyComment,16523,0,Green) == true)
       {
       Alert("Ордер открыт");
       }
       else
          {
          Alert("Ошибка ",GetLastError());
          }
     }

En fait, un ordre est ouvert, mais le signal Alert("Order is open") ne se déclenche pas ; au lieu de cela, le signal Alert("Error ",GetLastError ()) se déclenche ; mais il me semble que cela se fera sur le prochain tick.

 
sss2019:

Aidez-moi, s'il vous plaît.

En fait, un ordre est ouvert, mais le signal Alert("Order is open") ne se déclenche pas ; au lieu de cela, le signal Alert("Error ",GetLastError ()) se déclenche ; mais il me semble que c'est au prochain tick.


Depuis quand OrderSend retourne-t-il vrai ?
 
Ah je vois, mais quelque part j'ai vu une condition comme la mienne, ou similaire. Et comment faire en sorte que la condition soit remplie après l'ouverture d'une commande ?