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

Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
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