Lista trade aperti in MT5 non funziona

 

Ciao a tutti,

premetto che mi sono affacciato da poco alla programmazione in MQL5 quindi sicuramente il mio problema è dovuto alla mia inesperienza.

Sto cercando di leggere i trade aperti in un EA ma mi legge sempre solo il primo, nonostante il loop for incrementi regolarmente.

Il codice è molto basilare:

void UpdateTable()

  {

   int totalTrades = PositionsTotal(); // => Legge correttamente il numero di trade aperti

   for(int i=0; i<totalTrades; i++)

     {

      if(PositionSelect(PositionGetSymbol(i)))

        {

         double profit = PositionGetDouble(POSITION_PROFIT); // => Legge sempre solo il primo trade

...

...

        }

    }     

   ChartRedraw();  // Aggiorna il grafico

  }


Se uso PositionSelectByTicket(index)  legge correttamente i 6 ticket aperti ma quando cerco di leggere ad es. il profit, mi segnala Error Code: 4753

Quello che mi lascia molti dubbi è che anche il codice al link https://www.mql5.com/it/articles/639, se si imposta All Symbols in input, legge 6 volte sempre solo la prima posizione ma i 6 trade sono tuttora aperti. Posso avere io qualche problema di impostazione in MT5?

Grazie per i vostri consigli

Marco

Manuale MQL5: Ottenere Proprietà di Posizione
Manuale MQL5: Ottenere Proprietà di Posizione
  • www.mql5.com
In questo articolo, creeremo uno script che ottiene tutte le proprietà di posizione e le mostra all'utente in una finestra di dialogo. Durante l'esecuzione dello script, sarà possibile selezionare tra due modalità disponibili nell'elenco a discesa nei parametri esterni: visualizzare le proprietà di posizione solo sul simbolo corrente o visualizzare le proprietà di posizione su tutti i simboli.
 



Ciao,

io ragionerei meglio su come usi " PositionSelect" se fossi in te....