wyłączenie, a zmiana TFu

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1521
Rejestracja: 09 sie 2009, 21:27

wyłączenie, a zmiana TFu

Nieprzeczytany post autor: personov »

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ć.
Solą życia jest kasa.

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: wyłączenie, a zmiana TFu

Nieprzeczytany post autor: Pierz Andrzej »

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

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1521
Rejestracja: 09 sie 2009, 21:27

Re: wyłączenie, a zmiana TFu

Nieprzeczytany post autor: personov »

No dobra, ale gdzie mam użyć np. REASON_PROGRAM ?
Teraz daję w OnDeinit :

Kod: Zaznacz cały

void OnDeinit(const int reason){if(reason==REASON_PROGRAM)ObjectsDeleteAll();}
ale nie kasuje mi obiektów po wyłączeniu pliku.
Solą życia jest kasa.

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: wyłączenie, a zmiana TFu

Nieprzeczytany post autor: Pierz Andrzej »

REASON_PROGRAM działa w sytuacji gdy ea usuwane jest z wykresu funkcja mql ExpertRemoved()


skorzystaj z REASON_REMOVE
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1521
Rejestracja: 09 sie 2009, 21:27

Re: wyłączenie, a zmiana TFu

Nieprzeczytany post autor: personov »

Tak. Teraz działa. Dziękuję za pomoc.
Solą życia jest kasa.

ODPOWIEDZ