Forex programozás › Fórum › Egyéb › MT4 build 950 kifagy › Válasz erre: MT4 build 950 kifagy
Időközben kivettem az OrdersTotal()-t For ciklusból.
Most így csinálom:
int oT=OrdersTotal();
for (int i=0; i<oT; i++)
{
if (OrderSelect(i,SELECT_BY_POS))
{ ... }
}
és megszűnt a fagyás.
Tudom még ez sem tökéletes, mert ha időközben zárul egy megbízás egy másik charton, akkor az ‘Order-sorrend’
változás miatt kimaradhat a ciklusban egy-egy pozíció, de esetemben ez nem kritikus.
Ha mégis nagyon kritikus lenne az időzítés akkor meg beteszem az egészet egy do while ciklusba és a végén összehasonlítom újra oT!= OrdersTotal() [esetleg: oT-closedposCount!=OrdersTotal()] értékét.
A lényeg, hogy már nem fagy.
————————————————-
Még egy dolog amit tapasztaltam:
Egy másik ciklusban ahol egy saját tömböt járok végig, rosszul adtam meg a feltétel és minuszba futtattam a tömbindexet.
Azonkívül, hogy megállt az expert és kaptam egy kövér hibaüzenetet a naplóba, az MT4 lecsatolta az expert minden példányát az összes chartról. Kézzel vissza kellet helyeznem a chartok-ra és újra megadni a paramétereket. Érdekes.