MT5 môže byť pripojený k serveru, hoci cieľový menový pár nemá dostatočne aktuálnu kotáciu pre rozhodnutie vášho EA. Ticho robota môže vysvetliť aj uzavretá seansa, iný symbol alebo podmienka programu. Skôr než reštartujete terminál či zopakujete pokyn, oddeľte tieto možnosti. Cieľom je záznam overiteľných údajov pre konkrétny nástroj, nie skúšobný obchod na živom účte.

Čo skutočne potvrdzuje indikátor spojenia?

Vlastnosť TERMINAL_CONNECTED v MQL5 opisuje spojenie terminálu s obchodným serverom. Pripojenie, vek kotácie a oprávnenie obchodovať sú tri rozdielne fakty. Funkčný komunikačný kanál nepotvrdzuje novú cenu vášho nástroja. Iné symboly sa môžu aktualizovať, zatiaľ čo pri cieľovom vo svojich pozorovaniach nevidíte zmenu.

Overte úplný názov symbolu vrátane prípony, server, účet a inštanciu terminálu s programom. Podobné názvy poskytovateľa nemusia označovať rovnaký kontrakt. Zapisujte symbol používaný robotom, nie iba štítok z mobilu. Pri VPS skontrolujte skutočnú vzdialenú inštanciu; miestna obrazovka nepotvrdzuje jej stav. Postup rozvíja kontrola VPS a kontinuity. Pred resetom zachovajte relevantné logy a určte, ktorá kópia spravuje účet.

Prečo môžu tri časové údaje hovoriť niečo iné?

TimeCurrent vo vnútri OnTick vracia čas práve spracúvaného ticku. V obsluhách ako OnTimer ide o posledný známy čas kotácie ľubovoľného symbolu vybraného v Market Watch. Túto hodnotu teda môže posunúť iný nástroj. Neodpovedá sama na otázku, či je cieľový GBP/JPY aktuálny.

Na malej obrazovke posúvajte tabuľku vodorovne, aby ste prečítali všetky stĺpce.

Každý údaj odpovedá na inú otázku
ČítanieČo opisujeČo nepreukazuje
TimeCurrent v OnTimerPosledný čas kotácie v Market Watch.Čerstvosť cieľového páru.
TimeTradeServerČas servera vypočítaný terminálom.Príchod nového ticku.
SymbolInfoTick cieľaÚdaje konkrétneho symbolu a čas aktualizácie.Prijatie alebo vykonanie pokynu.

TimeTradeServer sa počíta v termináli a závisí od časových nastavení počítača. Pre presný symbol zavolajte SymbolInfoTick, overte úspech a zachovajte time_msc, Bid a Ask. Údaj lokálnych hodín neodpočítavajte od serverového bez zosúladenia časového základu. Záporný vek, chýbajúci čas alebo neúspešné čítanie znamenajú neistotu, nie automaticky čerstvú cenu.

Ako novší všeobecný čas zakryje staršiu kotáciu?

Pôvodný autorský model. Všetky časy používajú jednu ilustračnú serverovú os. Sú vymyslené, nie pozorované u brokera. Kontrola je o 12:00:00 a TimeCurrent čítame v OnTimer. EUR/USD má aktualizáciu 11:59:59, GBP/JPY 11:59:35. Všeobecný údaj zaostáva iba sekundu, cieľový tick však 25 sekúnd. Model neurčuje prípustný limit veku na skutočnom trhu.

Spojenie funguje, ale cieľový pár má staršie údaje

Spojenie funguje, ale cieľový pár má staršie údajeModel o 12:00:00: EUR/USD sa aktualizoval o 11:59:59, GBP/JPY o 11:59:35. Novší všeobecný čas nepotvrdzuje čerstvé údaje GBP/JPY.Spoločná časová os servera 11:59:3511:59:59 Posledný tick GBP/JPY25 sekúnd bez aktualizácie Posledný tick EUR/USD1 sekunda od aktualizácie Kontrola:12:00:00Dva symboly potrebujú samostatné kontroly
Model o 12:00:00: EUR/USD sa aktualizoval o 11:59:59, GBP/JPY o 11:59:35. Novší všeobecný čas nepotvrdzuje čerstvé údaje GBP/JPY.

Na malej obrazovke posúvajte diagram vodorovne alebo ho zväčšite. Vysvetlenie nájdete aj v texte.

Diagram je schéma udalostí, nie pomerné meradlo vzdialeností v sekundách. Rozhodujú označené časy: rozdiely sú 1 a 25 sekúnd. Samotný starší tick ešte nedokazuje výpadok poskytovateľa. Skontrolujte seansu, dostupnosť symbolu a logiku programu. Pozorovanie zopakujte po intervale meranom počítadlom uplynutého času. Nezmenený time_msc potvrdzuje iba to, že v týchto čítaniach nebol novší záznam.

Týmto porovnaním nemeriate presný prenos konkrétneho ticku od jeho zdroja do počítača. Serverová časová pečiatka a miestny odhad na taký záver nestačia. V zázname oddeľte „čas sa nezmenil“, „čítanie zlyhalo“ a „podozrenie na výpadok“. Aj účet vedený v EUR potrebuje rovnakú dátovú kontrolu; mena účtu nezosúladí hodiny ani neobnoví kotácie.

Nový kontrapríklad: rovnaká cena nemusí byť zamrznutá

Nasleduje samostatný syntetický záznam pre EUR/USD, na jednej výslovne zosúladenej časovej osi. Pri kontrole 12:00:00,100 má tick čas 11:59:59,800. Po 2000 milisekundách je kontrola 12:00:02,100 a tick 12:00:01,900. Bid zostáva 1,1000 a Ask 1,1002 v oboch pozorovaniach. Vek údajov je najprv 300 a potom 200 milisekúnd, hoci ceny sa nezmenili.

Rovnaká cena, novší čas aktualizácieSyntetické dve čítania EUR/USD na jednej zosúladenej časovej osi. Bid 1,1000 a Ask 1,1002 zostávajú v oboch rovnaké; nejde o meranie prenosového oneskorenia.MODELOVÝ VÝPOČETPrvé pozorovanie12:00:00,100 −11:59:59,800 = 300 msDruhé pozorovanie12:00:02,100 −12:00:01,900 = 200 msČo sa zmeniloČas ticku postúpil o2100 ms, ceny zostalirovnaké.Čo nevyplývaNovší tick sámnepotvrdzuje signál anipovolenie obchodu.
Rovnaká cena, novší čas aktualizácie. Syntetické dve čítania EUR/USD na jednej zosúladenej časovej osi. Bid 1,1000 a Ask 1,1002 zostávajú v oboch rovnaké; nejde o meranie prenosového oneskorenia.

Nesledujte iba zmenu ceny. Neúspešné čítanie alebo neporovnateľný čas znamenajú neznámy stav, nie najčerstvejší tick.

Na malej obrazovke možno diagram posúvať vodorovne alebo zväčšiť. Hodnoty a záver nájdete aj nižšie v texte.

Prvé pozorovanie
12:00:00,100 − 11:59:59,800 = 300 ms
Druhé pozorovanie
12:00:02,100 − 12:00:01,900 = 200 ms
Čo sa zmenilo
Čas ticku postúpil o 2100 ms, ceny zostali rovnaké.
Čo nevyplýva
Novší tick sám nepotvrdzuje signál ani povolenie obchodu.

Kontrola založená iba na odlišnej cene by novší záznam prehliadla. Ani novší čas však nie je pokynom na vstup. Overte platnosť dát, seansu, podmienky stratégie a oprávnenia osobitne. Ak si výučbová stratégia sama stanoví hranicu 500 milisekúnd, oba platné modelové záznamy jej časovým filtrom prejdú. Toto číslo je zvolený predpoklad, nie všeobecná norma trhu ani dôkaz vhodnej likvidity.

Keď čítanie zlyhá alebo sa nedá porovnať časový základ, výsledok filtra má byť „neznáme“. Nenahrádzajte chýbajúci údaj nulou a neprepíšte záporný vek na nulu. Vytvorili by ste z chybného vstupu zdanlivo najčerstvejšiu cenu. Zachovajte dôvod neistoty, aby vývojár odlíšil problém hodín, symbolu a samotného čítania.

Ako rozlíšiť pokojný trh od problému programu?

Porovnajte rozvrh kotácií a obchodovania konkrétneho nástroja. Zohľadnite čas servera, prestávky a oznámenia poskytovateľa o sviatkoch. Mimo seansy môže byť staršia zobrazená cena očakávaná. Hodiny menového páru nepreberajte automaticky pre index či kov. Počas otvorenej seansy opakovaná absencia aktualizácií vyžaduje preverenie, ale pre všetky nástroje a stratégie neexistuje jeden spoločný počet sekúnd.

Udalosť OnTick sa týka symbolu grafu, na ktorom je Expert Advisor pripojený. Ak už udalosť NewTick čaká alebo sa spracúva, ďalšia sa do frontu nepridá. Počet zápisov OnTick v logu preto nemusí zodpovedať počtu všetkých tickov. Pri viacnástrojovom EA odlíšte hostiteľský graf od symbolov používaných pri rozhodovaní.

Vypnutie AutoTrading bráni odosielaniu obchodných požiadaviek z EA; nezastavuje jeho výpočty ani práve vykonávanú obsluhu OnTick. Aktivita programu, aktualizácia údajov, splnenie signálu a odpoveď na pokyn sú samostatné udalosti. V diagnostike odlíšte „bez signálu“, „bez dát“ a „obchodovanie nepovolené“. Pravidelný zápis o aktivite robota nepreukazuje splnené vstupné podmienky.

Čo zachovať pred obnovením požiadaviek?

Pripravte jeden záznam: čas pozorovania a jeho základ, server a presný symbol, spojenie, úspech čítania, čas ticku, Bid/Ask, stav seansy, stav programu a poslednú obchodnú odpoveď. Napríklad: „12:00:00; serverová os; GBP/JPY; čítanie úspešné; tick 11:59:35; seansa nepotvrdená; nové vstupy pozastavené.“ Pre podporu odstráňte heslo a úplný identifikátor účtu.

Po chybe alebo nejasnej odpovedi zosúlaďte pozície, čakajúce príkazy a históriu pred opakovaním. Návrat čerstvých kotácií nepreukazuje osud staršej požiadavky. Postup vysvetľuje spracovanie chyby pokynu. Aj existujúca expozícia potrebuje kontrolu: vypnutý EA nepotvrdzuje ochranu prijatú serverom pre otvorené pozície.

Čo si overiť pri ďalšom cvičení?

  1. Identifikujte nástroj. Zapíšte presný symbol, server, inštanciu terminálu a rozvrh kotácií aj obchodovania. Incident porovnajte s príslušným časovým základom.
  2. Urobte dve pozorovania bez obchodu. Na deme zachovajte čas cieľového ticku, ceny a úspech čítania. Zopakujte po známom intervale; chýbajúce údaje označte explicitne.
  3. Zosúlaďte účet. Pred obnovením požiadaviek overte pozície, príkazy a históriu. Ak príčina zostáva nejasná, odovzdajte anonymizované záznamy vývojárovi alebo poskytovateľovi, bez skúšobného živého vstupu.