MT4 509 - chwilowy brak połączenia może nieźle namieszać

ODPOWIEDZ
Awatar użytkownika
alx
Maniak Forex
Posty: 7292
Rejestracja: czwartek 15 sie 2013, 09:56
Lat na Forex: 5
Lokalizacja: Itokawa

MT4 509 - chwilowy brak połączenia może nieźle namieszać

niedziela 15 wrz 2013, 23:28

Witam,

Właśnie trafiłem na coś takiego:

- na jednym komputerze mam terminal MT4 podłączony do konta real.
- na drugim komputerze mam drugi terminal podłączony do tego samego konta real.

Na pierwszym chodzi EA, drugi to mój podgląd.

I teraz: wszystko szło ok., pierwszy otworzył nowe zlecenie tak jak EA ma napisane. Ale parę minut później patrzę, a na podglądzie widzę dwa zlecenia w krótkim odstepię od siebie. A tego już nie było w EA. Wiem bo sam pisałem.
Czyli albo pluskwa, albo coś nie tak.

Patrzę więc na oryginał a tam co? Tylko jedno zlecenie. Nie ma żadnego innego. Mało tego - zero jakiejkolwiek historii. Miałem też inne zlecenia na innych parach, a tu nic - pusto. Tylko to jedno ostatnie zlecenie, jak najbardziej realne.

Patrzę na drugi terminal, a tam jest wszystko jak należy. Oba podłączone, oba chodzą... WFT?

Sprawdziłem dokładniej - ten pierwszy miał krótki moment rozłączenia z brokerem - było jakieś zakłócenie w sieci. I ten moment wystarczył, żeby stracić całą informację o stanie konta. Co z kolei spowodowało, że EA otworzył nowe zlecenie reagując ponownie na sygnał wejścia który normalnie byłby zablokowany otwartym już wcześniej zleceniem.

Wyłączyłem i włączyłem ponowienie pierwszy terminal i wszystko wróciło do normy.

Do niedawna było tak, że rozłączenia nie powodowały utraty ostatniego stanu konta. Ale widocznie coś się zmieniło.
I teraz trzeba będzie to obchodzić albo można przelewarować konto !złyy!
Od dwa, przez pięć do dziewięć...

Awatar użytkownika
alx
Maniak Forex
Posty: 7292
Rejestracja: czwartek 15 sie 2013, 09:56
Lat na Forex: 5
Lokalizacja: Itokawa

Re: MT4 509 - chwilowy brak połączenia może nieźle namieszać

poniedziałek 16 wrz 2013, 00:38

Ale największy problem nie polegał wcale na tym, że MT4 utracił stan konta podczas rozłączenia.
Problem polegał na tym, że po ponownym połączeniu nie potrafił zaktualizować tego stanu aż do ręcznego przeładowania.
Za to pozwolił otworzyć w ciemno następne zlecenie :devil:

Niby można by próbować zabezpieczyć się na taki przypadek sprawdzając chociażby stan konta poprzez AccountBalance(), AccountEquity()
Tak, wiem, jest IsConnected(). Dziurawe jak przerdzewiałe wiadro - nie można na nim polegać. Już prędzej MarketInfo(Symbol(), MODE_MINLOT) > 0...

Tyle że w tym przypadku wszystkie możliwe funkcje zwracałyby informację, że konto jest puste lub offline i należy czekać aż znów będzie dostępne.
Co nie jest zbyt dobrym pomysłem gdy ma się otwarte zlecenia którymi trzeba zarządzać, a to co ma nimi zarządzać myśli, że nie ma nic czym trzeba by się przejmować...
Od dwa, przez pięć do dziewięć...

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość