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
MT4 509 - chwilowy brak połączenia może nieźle namieszać
- 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ć
Od dwa, przez pięć do dziewięć...
- 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ć
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
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ć...
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
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ęć...
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 30 gości