[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 464

 
Mepkypuu писал(а) >>
Potete dirmi perché questa funzione non funziona? Dovrebbe restituire il numero di ordini in sospeso dall'ultimo ordine riuscito.

Supponendo che non ci sia più di una posizione aperta alla volta, si può fare quanto segue

  int GetLosses ()
   {  
      int Out       = 0;
      int Counter;
      for ( Counter=OrdersHistoryTotal()-1; Counter >=0 ; Counter--)
      {
         OrderSelect( Counter, SELECT_BY_POS, MODE_TRADES);
         if (OrderProfit() > 0)  break;
         Out++;
      }  
      return ( Out);
   }
 
Vinin >>:

Если предположить что одновременно открыто не более одной позиции, то можно сделать так


Purtroppo non funziona: conta solo gli ordini aperti. Non so quale sia il problema, ma probabilmente non è nel codice.
 
Mepkypuu писал(а) >>

Purtroppo non funziona: conta solo gli ordini aperti. Non sono sicuro di quale sia il problema, ma probabilmente non è nel codice.

Scusa

  int GetLosses ()
   {  
      int Out       = 0;
      int Counter;
      for ( Counter=OrdersHistoryTotal()-1; Counter >=0 ; Counter--)
      {
         OrderSelect( Counter, SELECT_BY_POS, MODE_HISTORY);
         if (OrderProfit() > 0)  break;
         Out++;
      }  
      return ( Out);
   }
 
Quando la cronologia delle operazioni è scomparsa mi è stato offerto di impostare *mostrare tutta la cronologia* ma non c'è una tale impostazione, il terminale è il 4° metatrader, utilizzato da diversi DT.
 
kraizislot писал(а) >>
Quando la cronologia delle transazioni scompare, mi hanno suggerito di impostare *show all history* ma non c'è una tale impostazione, il terminale è il 4° metatrader, usato da diversi DT.

Nella finestra della cronologia dell'account fai clic con il tasto destro del mouse e seleziona tutta la cronologia

 
Buon pomeriggio, ho la seguente domanda. La funzione start() di EA viene eseguita dopo ogni tick. Cosa succede se ho inviato una richiesta di OrderSend(), ma la risposta è arrivata due minuti dopo, e alcuni tick sono arrivati nel frattempo? Immagino che l'esecuzione non ricomincerà, per esempio in un altro thread, ecc., finché la funzione start() non finisce? Voglio dire, non ci sarà una situazione in cui manderò altre dieci richieste durante questi 2 minuti? O non sarà possibile eseguire OrderSend() più volte, perché il thread commerciale sarà occupato o qualcosa del genere? Grazie
 
Maxim_M писал(а) >>
Ciao, ho la seguente domanda. La funzione start() in Expert Advisor viene eseguita dopo ogni tick. Cosa succede se ho inviato una richiesta OrderSend(), ma la risposta arriva due minuti dopo, e durante questo tempo ci sono diversi tick? Immagino che l'esecuzione non ricomincerà, per esempio in un altro thread, ecc., finché la funzione start() non finisce? Voglio dire, non ci sarà una situazione in cui manderò altre dieci richieste durante questi 2 minuti? O non sarà possibile eseguire OrderSend() più volte, perché il thread commerciale sarà occupato o qualcosa del genere? Grazie

finché la funzione di avvio non è terminata, l'Expert Advisor non aspetterà i tick, quindi i nuovi tick mancanti prima che la richiesta corrente sia terminata non saranno processati.

 
Vinin >>:

Сорри

  int GetLosses ()
   {  
      int Out       = 0;
      int Counter;
      for ( Counter=OrdersHistoryTotal()-1; Counter >=0 ; Counter--)
      {
         OrderSelect( Counter, SELECT_BY_POS, MODE_HISTORY);
         if (OrderProfit() > 0)  break;
         Out++;
      }  
      return ( Out);
   }



Aah! Giusto! Grazie mille! Ora funziona.

 
Nell'indicatore Fractals i frattali sono visualizzati a una certa distanza dagli estremi, come si può fare in un indicatore personalizzato?
 
sanyooooook писал(а) >>
Nell'indicatore Fractals i frattali sono disegnati a una certa distanza dagli estremi, come farlo in un indicatore personalizzato?

Sulla 3a o 4a candela si mette un frattale nel buffer dell'indicatore, se le condizioni sono soddisfatte