Jak rozróżnić wyłączenie EA od zmiany TFu podczas pracy EA ?
Jeśli EA działa i w trakcie pracy EA zmienimy TF to kod przelatuje przez deinit i dalej init i znowu start.
Ale ja mam funkcję kasowania obiektów na wykresie ( zawarta w deinit ) i nie chcę kasować podczas zmiany TFu.
Dopiero po wyłączeniu EA chciałbym je kasować.
wyłączenie, a zmiana TFu
wyłączenie, a zmiana TFu
Solą życia jest kasa.
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
Re: wyłączenie, a zmiana TFu
Kod: Zaznacz cały
void OnDeinit(const int reason);
Kod: Zaznacz cały
REASON_PROGRAM Expert Advisor terminated its operation by calling the ExpertRemove() function
REASON_REMOVE Program has been deleted from the chart
REASON_RECOMPILE Program has been recompiled
REASON_CHARTCHANGE Symbol or chart period has been changed
REASON_CHARTCLOSE Chart has been closed
REASON_PARAMETERS Input parameters have been changed by a user
REASON_ACCOUNT Another account has been activated or reconnection to the trade server has occurred due to changes in the account settings
REASON_TEMPLATE A new template has been applied
REASON_INITFAILED This value means that OnInit() handler has returned a nonzero value
REASON_CLOSE Terminal has been closed
z poważaniem
Andrzej Pierz
FOREX-SERVICE
Andrzej Pierz
FOREX-SERVICE
Re: wyłączenie, a zmiana TFu
No dobra, ale gdzie mam użyć np. REASON_PROGRAM ?
Teraz daję w OnDeinit :
ale nie kasuje mi obiektów po wyłączeniu pliku.
Teraz daję w OnDeinit :
Kod: Zaznacz cały
void OnDeinit(const int reason){if(reason==REASON_PROGRAM)ObjectsDeleteAll();}
Solą życia jest kasa.
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
Re: wyłączenie, a zmiana TFu
REASON_PROGRAM działa w sytuacji gdy ea usuwane jest z wykresu funkcja mql ExpertRemoved()
skorzystaj z REASON_REMOVE
skorzystaj z REASON_REMOVE
z poważaniem
Andrzej Pierz
FOREX-SERVICE
Andrzej Pierz
FOREX-SERVICE