XAUXXDziennik badań
← Wróć do dziennika

Jak zdiagnozować błąd 130 w EA na MT4? Czteroetapowa metoda od odległości stop loss do limitów dynamicznych

Za pomocą oryginalnego jasnoniebieskiego schematu blokowego krok po kroku zdiagnozuj ERR_INVALID_STOPS w EA na MT4: logi, precyzję kwotowań, MODE_STOPLEVEL i limity dynamiczne, aby uniknąć maskowania ryzyka przez poluzowanie stop loss.

Thomas · Zaktualizowano 2026-10-20

Autor: Thomas|Praktyka EA i MT4|20 października 2026

Gdy EA jest już przypisany do wykresu, a handel automatyczny włączony, ale przy składaniu zlecenia pojawia się „130”, zwykle rodzi to błędne przekonanie, że program jest całkowicie zepsuty. Dokumentacja referencyjna MQL4 wymienia 130 jako ERR_INVALID_STOPS: stop loss, take profit, cena zlecenia oczekującego lub sposób ich normalizacji w żądaniu nie zostały zaakceptowane przez serwer transakcyjny. To wskazówka do lokalizacji problemu, a nie powód, by bezrefleksyjnie poluzować stop loss. W tym artykule czteroetapowa metoda diagnostyczna wyjaśnia, które zapisy należy sprawdzić.

Krok pierwszy: najpierw ustal, które żądanie zakończyło się niepowodzeniem

Otwórz odpowiednie logi terminala MT4 lub programu i zapisz czas serwera błędu, instrument, kierunek zlecenia, czy operacja to OrderSend czy OrderModify oraz zwrócony kod błędu. Jeśli w logu jest tylko „zlecenie nie powiodło się”, najpierw pozwól EA rejestrować cenę żądania, stop loss, take profit i wartość zwracaną, bez wyprowadzania poufnych danych, takich jak hasła. Najpierw odróżnij niepowodzenie otwarcia pozycji, niepowodzenie modyfikacji stop loss i niepowodzenie zlecenia oczekującego; w każdym z tych trzech przypadków sprawdzane są inne relacje cenowe.

Nie próbuj „szczęścia” na rachunku rzeczywistym przez wielokrotne wysyłanie tego samego nieudanego żądania. Powtarzane próby mogą tworzyć dodatkowe obciążenie, a także po zmianie warunków rynkowych nagle się powieść i spowodować nieoczekiwaną pozycję. Najpierw odtwórz problem w środowisku demo i zachowaj wersję parametrów oraz ówczesne kwotowania platformy.

Krok drugi: sprawdź Bid, Ask, Point i Digits

MarketInfo w MQL4 pozwala odczytać bieżące Bid, Ask, Point i Digits dla instrumentu. Point oznacza jedną z najmniejszych jednostek wyświetlania kwotowania, a Digits oznacza liczbę miejsc po przecinku; ile dolarów wynosi „10 punktów”, należy obliczyć na podstawie rzeczywistego Point danego instrumentu, nie można mieszać kodów złota i precyzji różnych brokerów. Przed przekazaniem ceny należy ją również znormalizować do odpowiedniej liczby miejsc.

Przykład służy wyłącznie jako ilustracja matematyczna: jeśli w pewnym instrumentie demo Point wynosi 0,01, a minimalny dystans to 50 punktów, obliczony dystans wynosi 0,50 jednostki kwotowania; dla instrumentu z Point równym 0,001 będzie to 0,05. Liczby nie odzwierciedlają żadnych rzeczywistych zasad kontraktu jakiejkolwiek platformy dzisiaj. Podczas przeglądania logów zapisuj jednocześnie cenę kupna i sprzedaży, aby nie sprawdzać strony, która powinna odnosić się do ceny kupna, za pomocą ceny sprzedaży, ani odwrotnie.

Krok trzeci: sprawdź MODE_STOPLEVEL i typ zlecenia

Oficjalna dokumentacja OrderSend wyjaśnia, że stop loss i take profit nie mogą być zbyt blisko ceny rynkowej; również planowana cena otwarcia zlecenia oczekującego nie może być zbyt blisko bieżącego rynku. Za pomocą MarketInfo(Symbol(),MODE_STOPLEVEL) można odczytać publiczny minimalny dystans w punktach. Następnie, w zależności od tego, czy zlecenie jest kupnem, sprzedażą czy którymś z typów zleceń oczekujących, należy osobno sprawdzić kierunek ceny, dystans i normalizację, zamiast stosować jedno stałe przesunięcie do wszystkich zleceń.

![Czteroetapowy instruktażowy schemat diagnostyczny błędu 130 w EA na MT4, nie jest zrzutem ekranu z rzeczywistej platformy](/media/201800aa-1111-4444-8888-123456789abc.png)

Powyższy rysunek to oryginalny schemat procesu, bez rzeczywistych kwotowań lub danych konta. Minimalny dystans to jedynie techniczna granica akceptacji zlecenia przez serwer, a nie uzasadniony strategicznie dystans stop loss. Jeśli w celu obejścia błędu 130 przesuniesz stop loss dalej, pierwotnie planowane ryzyko na jedną transakcję wzrośnie; najpierw należy ponownie obliczyć wielkość pozycji, a w razie potrzeby zrezygnować z danej transakcji.

Krok czwarty: zwrócenie 0 nie oznacza braku ograniczeń

Oficjalne wyjaśnienie MQL4 dotyczące MODE_STOPLEVEL szczególnie przypomina: zwrócenie 0 może oznaczać brak stałego minimalnego dystansu, ale może też oznaczać, że serwer stosuje limit dynamiczny, którego terminal nie potrafi bezpośrednio przedstawić. W tym drugim przypadku nadal może zostać zwrócony błąd 130. Dlatego stwierdzenie „skoro odczyt to 0, można przykleić stop loss do ceny” nie jest prawdziwe. Przy gwałtownych zmianach rynku aktualizacje kwotowań, zmiany spreadu i zasady po stronie serwera mogą również unieważnić wcześniej obliczony dystans.

Jeśli wzór w kodzie zgadza się z ówczesnym logiem, a mimo to występuje błąd 130, zachowaj czas niepowodzenia, instrument, parametry zlecenia i wersję platformy, sprawdź specyfikację instrumentu i ograniczenia zleceń u brokera oraz zweryfikuj je z pomocą techniczną platformy. Nie wnioskuj o zasadach tego rachunku na podstawie Point i StopLevel z platformy innego brokera, a tym bardziej nie usuwaj stop loss, aby ukryć rzeczywistą przyczynę niepowodzenia.

Kolejność weryfikacji po naprawie

Najpierw uruchom minimalny powtarzalny przypadek na rachunku demo: dla tego samego instrumentu zapisz cztery parametry kwotowań i StopLevel, wyślij pojedyncze żądanie testowe, sprawdź odpowiedź serwera i status zlecenia. Następnie przetestuj zachowanie przy szybkich zmianach cen lub w różnych sesjach handlowych. Upewnij się, że program ma mechanizm zatrzymania lub schłodzenia po niepowodzeniu i nie otworzy ponownie pozycji przy ponownej próbie. Na końcu sprawdź, czy budżet ryzyka, spread i akceptowalna strata nadal odpowiadają pierwotnemu planowi.

W diagnozie błędu 130 chodzi o to, „dlaczego żądanie zostało odrzucone”, a nie „jak zmusić je do realizacji”. Na wyniki działania EA wpływają również logika strategii, sieć i realizacja na platformie; żadna naprawa nie gwarantuje zysku ani uniknięcia strat. Handel z dźwignią może powodować poważne straty.

原创MT4 EA错误130排查流程,非真实平台截图
原创MT4 EA错误130排查流程,非真实平台截图
Ostrzeżenie: handel z dźwignią może powodować znaczne straty. Treści służą badaniom i edukacji, bez gwarancji zysków. Wyniki historyczne nie przewidują przyszłych rezultatów.
WECHAT

Connect with Thomas

Gold research · Trading reviews · MT4 discussions

WeChat ID:xauxx666
Open QR image

Scan with WeChat to add. On mobile, open and save the image, then select it from your album in WeChat Scan.

Thomas’s WeChat QR code, ID xauxx666