Válasz erre: Market is closed! 2016-01-30T20:34:15+00:00
Radulovic Attila
Tag
Bejegyzések száma: 638

A 4 darab GetLastError + AccountFreeMarginCheck ellenőrzés felesleges, egy OnTick-ben elég egyszer lekérdezni. Az eredményt eltárolod és utána azt ellenőrzöd a további feltételekben. (Természetesen más a helyzet, ha egymás után esetlegesen több pozíciót nyitsz egy ticken belül – akkor jó, amit írsz.)

Hibát (hibás feltétel teljesüléseket) akkor tapasztalhatsz, ha nem veszed figyelembe amit korábban írtam (vagyis hogy egy GetLastError() függvény futtatás kinullázza a hibát).

A zárás és a nyitás folyamán pedig igen is muszáj ellenőrizned a GetLastError() -t, minden kísérlet után. A kardinális hibák (nincs pénz, nincs kereskedési jog, stb.) esetén le kell állítanod a próbálkozást, mert valószínűtlen hogy ezek megváltoznak a próbálkozások egzakt pillanatában.

Hibát ezerféle módon tudsz generálni szándékosan: az AccountFreeMarginCheck kapcsán pl. túl nagy lotméretet adsz meg nyitáshoz kicsi egyenleghez, pozíciónyitási hibához pedig BUY pozíció nyitása során Bid értéket használj. Ez utóbbi jellemzően azonnal hibát okoz, amellyel már tudsz tesztelni.