Bonjour,
ça fait 3 jours que je bataille sur un EA pour au final m'apercevoir que l'erreur vient d'une valeur d'un tableau qui est figée :
trade.op[ trade.idx ] = op; ne modifie pas la valeur trade.op[ trade.idx ] ! Pourtant l'index lui est incrémenté correctement, je m'y arrache les cheveux, y aurait il une subtilité du langage qui provoque ça ?
En fait le but ici est de référencer tous les trades avec leurs données dans un tableau, si quelqu'un a une autre solution je suis preneur.
ça fait 3 jours que je bataille sur un EA pour au final m'apercevoir que l'erreur vient d'une valeur d'un tableau qui est figée :
Code
int trade.idx = 0; // Index du dernier trade qui sert aussi de compteur de trade dans le référentiel
int trade.magicNumber[]; // MagicNumber du trade
int trade.tickets[]; // Tickets des trades
int trade.op[]; // Type d'opération OP_BUY, OP_SELL ... http://docs.mql4.com/constants/trading
int addRefTrade(string type, int ticket, int op = -1)
{
if(ticket < 1 || op == -1)
return (-1);
trade.idx++;
ArrayResize(trade.tickets, trade.idx);
ArrayResize(trade.op, trade.idx);
ArrayResize(trade.type, trade.idx);
ArrayResize(trade.status, trade.idx);
ArrayResize(trade.magicNumber, trade.idx);
trade.tickets[ trade.idx ] = ticket;
trade.op[ trade.idx ] = op;
trade.type[ trade.idx ] = type;
trade.magicNumber[ trade.idx ] = MagicNumber;
// Affiche : idx=2, op param=1, op array=0
Print("idx="+trade.idx+", op param="+op+", op array="+trade.op[ trade.idx ]);
return (trade.idx);
}
trade.op[ trade.idx ] = op; ne modifie pas la valeur trade.op[ trade.idx ] ! Pourtant l'index lui est incrémenté correctement, je m'y arrache les cheveux, y aurait il une subtilité du langage qui provoque ça ?
En fait le but ici est de référencer tous les trades avec leurs données dans un tableau, si quelqu'un a une autre solution je suis preneur.