Forex programozás › Fórum › Egyéb › MT4 build 950 kifagy › Válasz erre: MT4 build 950 kifagy
A legelső pillanatban, amikor a külön tömbbe gyűjtés lezajlik, az idő alatt OrdersTotal() értéke nem fog megváltozni. Ennek az az oka, hogy ez tick-en belül – kivéve ha a programfutás nem extrém lassú vagy szándékosan nem provokáljuk – az OrdersTotal() értéke nem fog automatikusan frissülni. Ez kizárólag az adott tick-hez tartozó futás befejeztével történik csak meg.
Én emiatt teljesen feleslegesnek gondolom, amit leírsz, mert az OrdersTotal() -t rengeteg esetben használom for ciklusban – ahogy a cikk végén le van írva, kizárólag az elején. Zárni nem a for ciluson belül, hanem a kigyűjtött tömb elemszámai alapján iterált for ciklusban zárok.
A javaslatoddal az a probléma, hogy – ha feltételezzük, hogy az OrdersTotal() értéke változik a ciklus elején érvényes értéktől egy más értékre – hiába tárolod el az OrdersTotal értékét, hiszen maguk az indexek is keveredhetnek attól függően, hogy hány pozíció szűnik meg és jön létre egyszerre.
Tehát: az OrdersTotal() for cikluson belül én kizárólag kiválasztást és szűrést végzek, minden más feladatot a kigyűjtött ticket számokkal feltöltött egy- vagy kétdimenziós tömbök iterálásával végzek. Ebben az esetben pedig már ticket számokkal dolgozok, azok pedig nem fognak változni.