În acest articol
După lectură vei putea să…
- Identifici categoria erorii fără să amesteci codurile MT4 cu MT5.
- Verifici separat partea cotației, grila prețului, distanța și limitele volumului.
- Recalculezi pierderea după corecție și recunoști o configurație fără volum admisibil.
Explicații ale termenilor în articol
Ordin stop-loss Lot MarjăCând MT4 sau MT5 refuză un ordin, păstrează mesajul exact și verifică starea contului înainte de alt clic. Problema poate privi prețul, volumul, distanța stopului, permisiunile sau sesiunea instrumentului. Un ordin acceptat cu orice preț nu este scopul diagnosticului: corecția poate modifica riscul. Identifică platforma, operațiunea și condițiile concrete ale simbolului furnizat de broker.
O eroare dovedește că nu s-a întâmplat nimic?
Deosebește respingerea confirmată de executare și de un rezultat încă neclar. După o întrerupere ori un timeout, reconciliază pozițiile, ordinele active și istoricul înainte de retrimitere. Identifică ticketul, simbolul complet, volumul și ora. Absența unui rând nou într-o singură fereastră nu reconstruiește întregul traseu al cererii. Compară cantitatea executată cu cea solicitată, inclusiv o executare parțială.
În MQL5, OrderSend=true nu dovedește executarea. Documentația cere examinarea structurii rezultatului și a evenimentelor ulterioare; retcode contează. O operațiune acceptată pentru procesare nu este automat o poziție nouă complet executată. Pentru reducerea riscului, folosește închiderea poziției corecte: un Sell opus pe un cont hedging poate deschide altă poziție. Operarea contului de pe mobil dezvoltă verificarea stării după pierderea răspunsului.
Codul provine din MT4 sau MT5?
MQL4 citește codul prin GetLastError(); rezultatul unei cereri MQL5 conține retcode. Tabelul grupează probleme asemănătoare, fără să declare proceduri identice pentru orice operațiune. Păstrează și textul mesajului. Un robot poate afișa propriul mesaj, diferit de codul serverului.
Pe un ecran mic, derulează tabelul orizontal pentru a citi toate coloanele.
| Problemă | MT4 | MT5 | Prima verificare |
|---|---|---|---|
| Stopuri nevalide | 130 | 10016 | Bid/Ask, distanță, grilă. |
| Volum nevalid | 131 | 10014 | Minim, pas, maxim. |
| Tranzacționare dezactivată | 133 | 10017 | Permisiuni, modul simbolului. |
| Piață închisă | 132 | 10018 | Sesiunea instrumentului. |
| Fonduri insuficiente | 134 | 10019 | Marjă cerută, starea contului. |
| Cotații indisponibile | 136 | 10021 | Ora cotației, răspunsul serverului. |
Notează dacă ai cerut intrare, modificare sau închidere. Traducerea etichetei nu stabilește dacă alt ordin a fost executat între timp. Requote explică separat propunerea unui preț nou; nu orice refuz este requote.
Prețul arată bine, dar stopul este nevalid: de ce?
Separă Point, incrementul minim de preț și distanțele din specificație. Numărul zecimalelor descrie afișarea; nu înlocuiește grila permisă. În MT5, SYMBOL_TRADE_TICK_SIZE este variația minimă de preț; Stops Level exprimă distanța minimă în puncte, iar Freeze Level limitează operațiunile în zona de înghețare. Pentru MT4, MODE_TICKSIZE este documentat în puncte: nu copia numărul brut ca preț fără conversia unității.
Modelul inițial, fictiv și liniar: Point 0.00001, increment de preț 0.00005, Stops Level 20 puncte, Bid 1.10000 și Ask 1.10010. Pentru SL al unui long nou verificăm distanța de la Bid. Nivelul 1.09983 se află la 17 puncte și nu este pe grilă: 1.09983 / 0.00005 = 21 996,6. Nivelul 1.09980 este pe grilă și oferă 20 puncte în această fotografie a pieței. Cele două verificări nu garantează acceptarea sau executarea.
Dacă intrarea ar fi executată la Ask indicat, distanța până la stopul corectat ar fi 0.00030. Pentru 10 000 unități ale monedei de bază și evaluare USD, pierderea din preț modelată crește de la 2,70 USD la 3 USD. Presupunem umpleri exacte numai pentru calcul, fără comisioane, finanțare sau alunecare. Nivelul poate deveni tehnic admisibil și totuși să depășească planul. SL și TP explică partea relevantă a cotației.
În MT4, zero MODE_STOPLEVEL poate însemna lipsa restricției minime ori control dinamic al serverului. Nu este promisiunea acceptării oricărui stop; nu transfera automat această explicație fiecărui câmp MT5. Pentru o modificare respinsă, înregistrează și MODE_FREEZELEVEL sau SYMBOL_TRADE_FREEZE_LEVEL, cu unitatea corectă. Alte zecimale în formular nu elimină restricția. La următoarea verificare citește cotații noi; fotografia precedentă poate fi deja veche.
Un pas corect al volumului rezolvă problema?
Verifică separat minimul, maximul și pasul pentru lot, unitatea volumului poziției. În model, minimul este 0,10 lot, iar pasul 0,01. Volumul calculat de 0,04 respectă pasul, dar nu minimul. Ridicarea la 0,10 mărește expunerea de 2,5 ori: nu repară planul inițial. Pentru o închidere parțială contează și volumul rămas, nu numai cel trimis spre închidere.
Pas valid, dar volum sub minim
Ajustarea la minim mărește expunerea de 2,5 ori; acceptarea tehnică nu validează bugetul.
Pe un ecran mic poți derula diagrama orizontal sau o poți mări. Valorile și concluzia apar și în textul de mai jos.
Marja răspunde altei întrebări decât pierderea planificată la Stop Loss. Fondurile insuficiente nu justifică alegerea automată a unei dârghii mai mari. Recalculează cantitatea, costurile și rezerva contului. Dimensionarea poziției arată cum folosești distanța revizuită, fără să confunzi disponibilitatea marjei cu respectarea bugetului.
Trei praguri, un singur verdict: exemplu RON
Extensie ipotetică distinctă: același preț de intrare 1.10010 și stop corectat 1.09980, contract 100 000 EUR/lot, minim 0,10 și pas 0,01. Alegem buget 13,20 RON și conversie constantă 4,50 RON/USD. Nu este curs curent, ofertă de cont RON sau limită recomandată. Excludem costurile și presupunem execuții exacte exclusiv pentru aritmetică; în realitate pierderea poate fi mai mare.
Pe un ecran mic, derulează tabelul orizontal pentru a citi toate coloanele.
| Configurație | Pierdere modelată | Buget 13,20 RON | Minim 0,10 lot |
|---|---|---|---|
| 0,10 lot; stop inițial 1.09983 | 12,15 RON | În limită | Respectat; stop nevalid în model |
| 0,10 lot; stop corectat 1.09980 | 13,50 RON | Depășire 0,30 RON | Respectat |
| 0,09 lot; stop corectat 1.09980 | 12,15 RON | În limită | Nerespectat |
La distanța nouă, bugetul ar permite teoretic aproximativ 0,09778 lot. Coborârea la pasul 0,01 dă 0,09, sub minim. Ridicarea la minim dă 13,50 RON, peste buget. Așadar, în ipotezele alese nu există volum care să treacă simultan minimul și bugetul. Verdictul util este respingerea configurației, nu forțarea unui mesaj verde. Diferența de 1,35 RON dintre primele două rânduri provine din distanța schimbată, nu dintr-un comision inventat.
Tranzacționare dezactivată sau fără cotații: ce verifici?
Începe cu serverul, contul și simbolul complet, inclusiv sufixul. Citește sesiunea acelui instrument: programul altei perechi ori altei piețe nu dovedește disponibilitatea lui. Verifică ora ultimei cotații, conexiunea și operațiunile permise. Modul close-only nu justifică încercarea unei intrări opuse pentru ocolirea restricției.
Pentru automatizare separă consimțământul terminalului, setările programului și permisiunile serverului. Cotațiile care se mișcă nu dovedesc dreptul de tranzacționare. Nu activa orbește fiecare permisiune. Un mesaj către suport trebuie să includă platforma și versiunea, identificatorul mascat al contului, simbolul, ora cu fus, tipul cererii, parametrii și răspunsul exact. Nu include parola sau codurile de autentificare. Când starea este neclară, folosește canalul oficial al furnizorului.
Ce faci după lectură?
- Scrie o singură fișă a incidentului: cerere inițială, răspuns observat și stare confirmată. Marchează câmpurile necunoscute, fără să deduci executarea sau respingerea din așteptări.
- Pe demo, copiază Point, incrementul cu unitatea sa, distanța stopului, minimul și pasul volumului. Calculează un nivel ipotetic fără trimiterea ordinului. Nu produce deliberat erori pe un cont cu bani.
- Compară planul înainte și după corecție: distanță, cantitate, costuri și marjă. Oprește configurația care depășește limita. Rezultatul exercițiului este diagnosticul corect, nu acceptarea ordinului cu orice risc.
Verifică ce ai învățat
Exercițiu: aproximativ 2 minute.
Arată răspunsul și explicația
Corect: 0,04 respectă pasul, dar este sub minim. Nu forța tranzacția prin creșterea riscului.
Alte întrebări
Elimin SL pentru ca ordinul să fie acceptat?
Nu trata eliminarea protecției ca simplă corecție tehnică. Ai crea altă tranzacție, fără condiția planificată de ieșire. Verifică partea cotației, grila, distanța și tipul de ordin permis. Pentru o poziție existentă recitește ultimul SL acceptat: respingerea modificării nu confirmă un nivel nou. Poți respinge configurația care nu se potrivește planului.
Zero Stops Level permite orice stop?
Nu. Pentru MODE_STOPLEVEL în MT4, documentația descrie fie lipsa distanței minime, fie control dinamic al serverului. Nu extinde automat această explicație oricărui câmp al altei platforme. Verifică Bid/Ask, incrementul cu unitatea lui și condițiile curente. Dacă mesajul rămâne neclar, cere furnizorului cerințele aplicate operațiunii respective.
Același număr înseamnă aceeași eroare în MT4 și MT5?
Listele sunt separate; un program poate afișa și un mesaj propriu. Identifică platforma, tipul rezultatului și originea înregistrării înainte de comparație. Chiar și după identificarea corectă a codului, ora și starea efectivă a poziției sunt necesare pentru reconstituirea cererii. Eticheta singură nu dovedește istoricul complet.
Pot retrimite imediat după pierderea conexiunii?
Verifică întâi pozițiile, instrucțiunile active și istoricul, inclusiv volumele parțial executate. Compară identificatorii, simbolul și timpul cu cererea originală. Lipsa răspunsului poate lăsa rezultatul necunoscut. Un clic nou poate dubla expunerea ori deschide o poziție opusă pe hedging. Folosește canalul oficial dacă starea rămâne neclară.
De ce 0,09 lot nu rezolvă exemplul RON?
Ar limita pierderea modelată la 12,15 RON, sub bugetul de 13,20, dar este sub minimul fictiv de 0,10 lot. Minimul ar da 13,50 RON, peste buget. Niciun volum nu trece simultan aceste două praguri în ipotezele alese. Costurile și prețurile reale nefavorabile ar putea mări pierderea; cifrele nu sunt o garanție.
Surse și verificare
- MQL4 — codurile serverului
Lista proprie MT4, GetLastError și codurile selectate; nu coduri universale între platforme.
- MQL5 — codurile serverului
retcode, categorii de refuz, executare parțială și permisiuni; interpretare cu starea efectivă.
- MQL5 — OrderSend
True nu dovedește executarea; structura rezultatului și evenimentele pot fi ulterioare răspunsului.
- MQL5 — proprietățile simbolului
Point, Tick Size, Stops/Freeze Level și limitele volumului, fiecare cu unitatea proprie.
- MQL4 — proprietățile simbolului
MODE_STOPLEVEL zero poate avea control dinamic; MODE_TICKSIZE în puncte, limite de lot și Freeze Level.
Calculele folosesc ipotezele precizate explicit. Nu înlocuiesc datele actuale ale pieței sau condițiile furnizorului.
