Cosa c'è di sbagliato in questo? - pagina 6

 
Come posso aprire due ordini allo stesso tempo? Ci sono EA che aprono due ordini simultaneamente in direzioni diverse.
 
sss2019:
Che ne dite di aprire due ordini allo stesso tempo?
Per esempio, in conti o terminali diversi.
 
sss2019:
Come posso aprire due ordini allo stesso tempo? Ci sono EA che aprono due ordini simultaneamente in direzioni diverse.
Non ci sono mitragliatrici che sparano dalla stessa canna allo stesso tempo. I proiettili escono uno alla volta.
 
Come faccio a far sì che un ordine in sospeso venga cancellato al momento giusto se non funziona. Come impostare correttamente la data, in modo che gli ordini aperti ogni giorno siano chiusi alle 5? Per favore, potete dirmi.
 

Sia h_time il tempo di chiusura dell'ordine in ore. Allora il codice potrebbe assomigliare a questo:

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;

Inoltre, dobbiamo tenere a mente le seguenti sfumature: la sessione è più breve il venerdì; ci sono alcune festività; il tempo di scadenza dell'ordine pendente non può essere impostato vicino all'ora del server (quanto vicino dipende dalla società di brokeraggio).

 
sss2019:
Quindi una volta che un ordine ha assegnato il suo numero alla variabile Ticket, non c'è bisogno di emetterlo con il ritorno, la variabile non sarà cancellata ulteriormente al prossimo tick?
In questo caso non sarà cancellato perché è dichiarato globalmente
 
granit77:
Non ci sono mitragliatrici che sparano dalla stessa canna allo stesso tempo. I proiettili escono uno alla volta.

Parole d'oro.
 

Per favore, aiutatemi qui.

   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());
          }
     }

In realtà, un ordine è aperto, ma il segnale Alert("Order is open") non scatta; invece, scatta Alert("Error ",GetLastError ()); ma questo mi sembra essere sul prossimo tick

 
sss2019:

Per favore, aiutatemi qui.

In realtà, un ordine è aperto, ma il segnale Alert("Order is open") non scatta; invece, scatta Alert("Error ",GetLastError ()); ma questo mi sembra essere sul prossimo tick


Da quando OrderSend restituisce true?
 
Ah capisco, ma da qualche parte ho visto una condizione come la mia, o simile. E come fare in modo che la condizione sia soddisfatta dopo aver aperto un ordine?
Motivazione: