Řešení chyb MT4 a EA
Při problému v MT4 nejprve najděte přesnou zprávu a čas události. Podle nich rozlišíte, zda se EA nenačetl, nemá potřebná oprávnění, nebo server odmítl konkrétní požadavek.
Návod je pro desktopový MetaTrader 4 na Windows. Než začnete měnit nastavení, poznamenejte si, co nefunguje a co problému předcházelo. Pro ověření nového EA použijte demo účet.
1. Uložte zprávu dříve, než začnete zasahovat
V okně Terminal (Terminál) otevřete Experts (Strategie) pro zprávy EA a Journal (Deník) pro události terminálu, například připojování k serveru. Najděte záznamy kolem okamžiku problému a zachovejte i několik okolních řádků.
V kontextové nabídce příslušné karty použijte Open (Otevřít).
Tím se aktuální záznamy zapíší do souboru a otevře se složka logů.
EA logy najdete v MQL4\Logs, logy terminálu v logs
pod jeho datovou složkou; soubory jsou rozdělené podle data.
Nezaměňujte log s nastavením robota nebo s historií účtu. Dokumentace karty Experts (Strategie) a karty Journal (Deník).
2. Začněte podle příznaku
EA není v Navigátoru
Ověřte datovou složku otevřenou přímo z cílového terminálu a soubor EX4 v MQL4\Experts.
Máte-li pouze MQ4, zkontrolujte výsledek kompilace. Potom obnovte seznam v Navigátoru.
Podrobný postup je v návodu k instalaci EA do MT4.
EA se objeví, ale nepřipojí se ke grafu
Přečtěte zprávu z okamžiku načítání. Porovnejte dodané soubory, jejich umístění a případnou licenci s dokumentací autora. Chybějící knihovna a odmítnutá licence vyžadují jiné řešení; plošné povolení DLL nebo přeinstalace MT4 nemusí odstranit příčinu.
EA běží, ale neobchoduje
Zkontrolujte připojení, správný účet, symbol a časový rámec, nastavení konkrétního EA a AutoTrading (Automatické Obchodování) celého terminálu. Potom ověřte, zda vůbec nastaly vstupní podmínky robota. Smajlík ani nepřítomnost chyby nejsou důkazem, že má robot právě teď otevřít obchod. Dokumentace oprávnění EA.
3. Kód čtěte spolu s okolní zprávou
Následují vybrané kódy MT4 pro obchodní požadavky. Stejné číslo ve zprávě jiné knihovny nebo Windows může mít jiný význam. Kód sám neurčuje přesný zásah do programu nebo účtu.
| Kód | Význam | Co ověřit nebo předat autorovi |
|---|---|---|
6 | Bez spojení se serverem | Stav připojení a server uvedený v Deníku. |
130 | Neplatné úrovně stopů | Požadované ceny a pravidla symbolu v okamžiku odmítnutí. |
131 | Neplatný objem | Požadovaný objem, minimum, maximum a krok objemu symbolu. |
132 | Zavřený trh | Obchodní dobu konkrétního symbolu u brokera. |
133 | Obchodování zakázáno | Omezení účtu, symbolu a přesnou odpověď serveru. |
134 | Nedostatek prostředků | Objem a parametry odmítnutého požadavku, stav účtu v daný čas. |
136 | Chybí kotace | Dostupnost kotací a zprávy serveru v daný okamžik. |
146 | Obchodní kontext je zaneprázdněný | Souběh obchodních požadavků, například více EA v jednom terminálu; koordinaci musí řešit příslušné programy. |
Úplný přehled obchodních kódů MQL4. U chyby 130 nepředpokládejte, že nulová hodnota minimální vzdálenosti stopů vždy znamená žádné omezení: server může používat dynamická pravidla. Dokumentace vlastností symbolu.
Neopakujte odmítnuté požadavky bez zjištění příčiny. Zvlášť u časového limitu požadavku
(kód 128, ERR_TRADE_TIMEOUT) nejprve ověřte jeho skutečný výsledek,
aby další pokus nezadal stejnou operaci znovu.
4. Připravte podklady pro podporu
- Název a verzi EA, verzi MT4 a informaci, zda problém nastal na demo nebo reálném účtu.
- Symbol, časový rámec, čas události včetně časového pásma a popis očekávaného a skutečného chování.
- Přesný text chyby a několik okolních řádků z příslušného logu.
- Relevantní parametry programu a poslední změnu před vznikem problému.
Před odesláním odstraňte hesla, tokeny, licenční klíče a nepotřebné údaje o účtu. Pokud posíláte snímek, ponechte čitelnou hlášku a název příslušné karty. Autor EA řeší chování programu; broker může ověřit serverové odmítnutí, dostupnost symbolu nebo spojení.