V tomto článku
Po prečítaní dokážete…
- Rozlíšiť pokrytie minút od podielu reálnych záznamov.
- Overiť ukončenú sviečku, časový filter a dostupnosť vstupov.
- V novom EUR modeli oddeliť dva samostatné účty od spoločnej marže.
Vysvetlenie pojmov priamo v článku
Backtest: skúška pravidiel na historických údajoch Bid a Ask Spread: rozdiel ask a bid Provízia za obchod Pokles od maxima: drawdown Podiel ziskových obchodov (win rate)Ziskový backtest sa môže zásadne rozísť s reálnym obchodovaním pri nevhodných dátach, realizácii alebo výbere parametrov. Tester MT4 a MT5 nie je potvrdenie budúcich výnosov. Overte, čo presne modeloval, z akých údajov a kedy sa informácia smela použiť.
Tester MT4 a MT5: rozdiely, ktoré menia model
Oba spúšťajú EA na histórii. MT5 umožňuje viac symbolov a rozdeľuje optimalizačné pokusy agentom; jeden test EA preto automaticky nepoužíva všetky jadrá. Aj MT4 má genetický optimalizátor, ale štandardný tester nerealizuje obchody na inom než testovanom symbole. Sčítať samostatné reporty neznamená nasimulovať spoločný kapitál portfólia.
Uložte zostavu terminálu, skompilovaný EA, parametre, kontrakt a účet. Údaje stiahnuté cez MT4 History Center sa môžu líšiť od histórie brokerského servera. Dĺžka dát ani názov intervalu samy neurčia vhodnosť. Základy MT4 a Vlastnosti MT5 pomôžu vybrať prostredie.
Viac tickov neznamená viac minút s tickmi
Pred porovnávaním percent určte, či menovateľ počíta časové intervaly alebo jednotlivé záznamy.
Viac tickov neznamená viac minút s tickmi
Celý diagram zobrazíte posunutím do strany.
Na malej obrazovke posúvajte diagram vodorovne alebo ho zväčšite. Vysvetlenie nájdete aj v texte.
Pôvodný kontrolovaný model má tri rovnako dlhé minúty, každú s minútovou sviečkou. Prvé dve majú po 10 reálnych tickov. Tretia nemá reálne ticky; príklad jej pridelí 80 generovaných záznamov. Celok má 100 záznamov. Nie sú to namerané dáta alebo report platformy.
Naše pokrytie minút reálnymi tickmi je 2/3 ≈ 66,67 %, podiel reálnych záznamov (10 + 10)/100 = 20 %. Viac generovaných záznamov v tej istej tretej minúte zmení druhý menovateľ, nepridá minútu s reálnymi tickmi. Číslo 80 je vymyslené a metriky nedefinujú pole Modelling Quality. Ani jedna nepreukazuje výhodu stratégie.
Režimy modelovania a kvalita histórie
MT4 ponúka Open prices only, Control points a Every tick. Vychádzajú zo sviečkovej histórie a generovaných ciest; Control points je hrubý predbežný odhad. MT5 pridáva brokerom zaznamenané ticky a 1 minute OHLC. Aj denný signál môže mať intradenný stop, preto interval signálu automaticky neoprávňuje zjednodušenú realizáciu. Pravidlo kompatibilné s otváraním sviečok môže použiť zjednodušenie až po kontrole obmedzení.
Pri MT5 môže minúta bez reálnych tickov dostať generované, ak existuje minútová sviečka. Reálny spread sa môže meniť v minúte; generované ticky používajú pridelený spread jej sviečky. Overte režim, nižšie intervaly aj denník.
Import externých tickov do MT4 potrebuje kompatibilný postup, prípadne pripravené testovacie súbory alebo ďalší softvér. Samotné HST sviečky nezaručia autentické tickové modelovanie. V MT5 skontrolujte skutočné pokrytie tickmi aj náhrady, nie iba názov režimu.
Spread, provízia, financovanie a oneskorenie
Overte produkt, účet, províziu, swap a dostupné nastavenie realizácie. Štandardný MT4 tvorí Ask pridaním zvoleného spreadu k Bid histórii. Predvolene používa aktuálny spread na začiatku testu, nie celú historickú cestu. Pri modelovej päťmiestnej kotácii EUR/USD dá 12 bodov × 0,00001 = 1,2 pipu veľkosti 0,0001.
MT5 umožňuje provízie účtu aj vlastné: overte vstup, výstup alebo oba smery a celý uzavretý obchod. Režim výsledku v pipoch vynecháva províziu, swap aj kontrolu marže. Emulácia oneskorenia je scenár, nie rekonštrukcia každej reálnej likvidity či plnenia.
Tri chyby interpretácie testu
Pohľad do budúcnosti používa informáciu nedostupnú pri rozhodnutí. Shift nula označuje aktuálnu, meniacu sa sviečku. O 10:15 poznáte už dosiahnuté maximum H1 sviečky od 10:00, nie jej konečné maximum za celú hodinu. Pravidlo ukončenej hodiny musí počkať. Nemeňte slepo každú nulu na jednotku: zmenili by ste aj platnú detekciu novej sviečky a pravidlá aktuálnej ceny. Overte čas, počet získaných údajov a indexovanie.
V pôvodnom úspešnom CopyRates príklade prišli štyri závery od najstaršieho po aktuálny: 100, 101, 102, 103. V dynamickom poli s as_series=false je rates[1].close = 101, posledný ukončený je rates[2].close = 102. Pri as_series=true dá rates[1].close = 102. Podmienka „posledný ukončený > 101,5“ platí; nesprávne použité rates[1] obyčajného poľa ju zamietne. Ide o zámenu staršej sviečky, nie dôkaz budúcej informácie. Pri menšom vrátenom počte neindexujte štyri prvky.
Preoptimalizovanie môže vzniknúť opakovaným výberom priaznivého šumu. Samotná vysoká úspešnosť, profit factor alebo nízky drawdown ho nedokazujú. Skreslenie preživšími vynechá z testovaného sveta vtedy dostupné nástroje alebo účty, ktoré neskôr zmizli. Použite výber známy k príslušnému dátumu; neuvádzame univerzálne nafúknutie výnosu o 30–50 %.
Report, otvorená expozícia a walk-forward
Čistý výsledok čítajte s počtom obchodov, drawdownom a nákladmi. Pôvodný modelový PLN účet má štart 10 000 a uzavreté zisky 500: zostatok 10 500. Otvorená strata 700 nechá pred ďalšími položkami equity 9 800 PLN. Samotný zostatok expozíciu skryje. Prah profit factoru či Sharpeho pomeru stratégiu necertifikuje. Uchovajte reporty, denníky a oddelené hodnotiace dáta.
Walk-forward postup skúša po sebe zmrazené výbery parametrov na neskorších obdobiach. Porovnávajte rovnako anualizované výnosy aj chronologické mimovzorkové obchody. WFE sám nepotvrdí robustnosť a neurčí preoptimalizovanie; nulový alebo záporný vývojový výnos sťažuje výklad. Walk-forward analýza opisuje postup. Aj hodnotenie mimo výberovej vzorky zostáva simuláciou s predpokladmi.
Nový EUR model: dva samostatné reporty nesimulujú spoločný účet
Oddelený hypotetický model má dva programy A a B. Samostatne má každý účet 1 000 EUR a požaduje long 15 000 EUR na EUR/USD Ask 1,1000 pri Bid 1,0998. Zadaný maržový model rezervuje nominál EUR / 30, teda 500 EUR na pozíciu; je to výpočtový parameter, nie právny výklad. Jediný poplatok je 1 EUR pri vstupe a 1 EUR pri úplnom výstupe, konverzia P/L pevne 0,90 EUR/USD.
Samostatné reporty nepreukážu realizovateľnosť súbehu na menšom spoločnom kapitále. Model potrebuje zostatok, equity, maržu a poradie udalostí.
Na malej obrazovke možno diagram posúvať vodorovne alebo zväčšiť. Hodnoty a záver nájdete aj nižšie v texte.
- Každý samostatný účet 1 000 EUR
- Po vstupe equity 996,30; voľná marža 496,30 EUR – Zaplatená vstupná provízia 1 EUR a otvorený cenový výsledok −2,70 EUR.
- Dva oddelené úplné testy
- A: 971 EUR; B: 984,50 EUR – Pridelené výstupy Bid 1,0980 a 1,0990. Dva štarty znamenajú spolu 2 000 EUR, nie 1 000.
- Jeden účet 1 000 EUR, A už prijatý
- Pridanie B by dalo voľnú maržu −7,40 EUR – Hypotetická equity 992,60 oproti súčtu marží 1 000. Zadané prijímacie pravidlo B zamietne.
- Prijatý variant podľa modelového pravidla
- Otvorený len A → konečných 971 EUR – B nemá realizovaný výsledok ani poplatky. Iné poradie nie je tá istá simulácia.
Na vlastnom účte každá pozícia pri vstupe ukazuje cenový P/L (1,0998 − 1,1000) × 15 000 = −3 USD = −2,70 EUR. Po vstupnej provízii je equity 996,30 EUR, marža 500 a voľná marža 496,30 EUR. Samostatné presné výstupy pridelíme A na Bid 1,0980 a B na 1,0990: A má −30 USD × 0,90 − 2 = −29 EUR, B −15 USD × 0,90 − 2 = −15,50 EUR. Konečné samostatné účty sú 971 a 984,50 EUR, spolu 1 955,50 zo spoločného počiatočného súčtu 2 000.
Teraz odlišný model jedného hedgingového účtu s iba 1 000 EUR. Pravidlo prijatia požaduje, aby po vstupe equity pokrývala celú novú maržu; marže dvoch longov sa sčítajú bez úľavy. A dostane prioritu a vyplní sa prvý. Pri rovnakej kotácii má účet uvedených 496,30 EUR voľnej marže. B potrebuje ďalších 500 ešte pred svojou províziou a otvoreným výsledkom. Ak by sme ho pripočítali, equity by bolo 1 000 − 2 × 1 − 2 × 2,70 = 992,60 EUR, marža 1 000 a voľná marža −7,40 EUR. Zadané pravidlo preto druhý vstup zamietne.
Pri zadanom samostatnom výstupe A skončí tento spoločný model na 971 EUR; B sa vôbec neotvoril a neplatí jeho poplatky. Sčítať straty −29 a −15,50 a odpočítať ich od 1 000 by vymyslelo obe realizácie bez dostatočného kapitálu. Ani priorita A nie je odporúčaná stratégia: iné poradie by dalo inú prijatú pozíciu.
Predpokladáme presné úplné plnenia, stabilnú požiadavku marže, žiadne iné pozície, toky, financovanie, ďalšie náklady alebo konverzný spread a žiadnu skoršiu likvidáciu A. Spread je v cenách, nie znovu odpočítaný. Pravidlo prijatia a maržový režim sú výslovné modelové podmienky, nie univerzálne správanie MT4, MT5 alebo brokera. Portfóliový test musí vedieť spoločný účet, súbeh a poradie udalostí.
Kedy treba iný nástroj?
Tester hodnotí kód podľa dát a realizácie, ktoré vie modelovať. Diskrečné rozhodnutie potrebuje zaznamenané kritériá a protokol replay; nie je automaticky netestovateľné. Iný nástroj zvoľte pri chýbajúcom vstupe či mechanizme a overte aktuálnu dokumentáciu a dátové podmienky. Porovnanie Forex Tester a Strategy Tester rieši iný replay postup; Metodika backtestu je nezávislá od platformy.
Overí TimeGMT v testeri UTC filter?
V MT5 testeri sa TimeGMT rovná simulovanému TimeTradeServer. Porovnaním oboch nezrekonštruujete historický posun servera voči UTC. Pomenujte každú časovú os a prevod skúšajte na explicitných vstupoch. Pevné „odpočítať dve hodiny“ nie je tabuľka historických zmien.
Overí TimeGMT v testeri UTC filter?
Na malej obrazovke posúvajte diagram vodorovne alebo ho zväčšite. Vysvetlenie nájdete aj v texte.
Pôvodný model povoľuje 12:00 UTC vrátane až 13:00 UTC nezahrnuté. Rozhodnutie o 12:00 UTC patrí dovnútra. Pri pridelenom UTC+2 má serverový údaj 14:00; nesprávne považovať 14 za UTC by rozhodnutie zamietlo. +2 platí iba pre tento model, nie celoročne pre server alebo Slovensko. Testujte presnú koncovú hranicu, zmenu dátumu a každý zdokumentovaný prechod.
Dokazuje zhoda dvoch časových funkcií v testeri rovnaký živý filter?
Nie. Dokazujú iba rovnosť v simulácii. Potrebujete explicitné UTC, zdokumentovaný posun k dátumu a hraničné testy. Názov funkcie neurčuje brokerské pásmo.
Pred ďalším testom overte export
Pripravte päť stĺpcov timestamp,open,high,low,close a výslovné časové posuny. V lokálnej kontrole CSV zadajte prvý aj posledný očakávaný čas otvorenia a interval. Syntetický M1 príklad od 08:00 po 08:11 má dvanásť riadkov, ale osem odlišných platných časov na mriežke: štyri prázdne pozície, dva nadbytočné riadky v opakovaných časoch a jednu skupinu rozdielnych OHLC. Uchovajte report a medzery porovnajte so seansami produktu. Úplné OHLC nedokazuje úplné reálne ticky; nástroj ceny nevkladá a neoveruje realizáciu testera.
Čo nastaviť pri ďalšom testovaní?
- Uchovajte zdokumentované dáta produktu a obdobia. V MT4 sviečky, model a prípadnú externú prípravu FXT; v MT5 pokrytie reálnymi tickmi a náhrady. Uložte zdroj, pásmo a medzery.
- Overte náklady a dostupné oneskorenie pre konkrétne prostredie, potom nepriaznivejšie scenáre. Pevných 7 USD a pipové penalizácie nie sú univerzálny cenník.
- Štyri roky na výber a nasledujúci rok na zmrazené hodnotenie sú možnosť, ak sa hodí. Porovnávajte rovnakú anualizáciu; WFE pod 0,5 samo nediagnostikuje preoptimalizovanie. Zohľadnite vzorku, režimy a náklady, uchovajte konečné nezávislé hodnotenie.
- Pri každom vstupe skontrolujte dostupnosť ceny a indikátora. Nulu nahraďte ukončenou sviečkou iba ak to pravidlo vyžaduje. Zmena výsledku o 30 % nie je sama dôkaz úniku informácií.
Overte si, čo ste sa naučili
Cvičenie: približne 2 minúty.
Zobraziť odpoveď a vysvetlenie
Nepribudla minúta obsahujúca reálne ticky. Táto metrika počíta minúty, nie záznamy.
Ďalšie otázky
Čo odlišuje 99 % od 90 % kvality modelovania v MT4?
Pole Modelling Quality opisuje modelovanie tickov z histórie, nie percento správnych predpovedí alebo budúceho zisku. Pri externom nástroji treba overiť jeho definíciu a prípravu. Kontrolujte vnútro sviečky, strany ceny a náklady. Aj MT5 reálne ticky vyžadujú kontrolu pokrytia a generovaných náhrad.
Ako nastaviť tester MT5 krok za krokom?
Vyberte skompilovaný EA, uložte parametre a zostavu. Nastavte symbol, interval, dátumy, účet, vklad, menu a maržu. Režim tickov musí sedieť pravidlu aj histórii; overte províziu, swap a dostupné oneskorenie. Pred optimalizovaním vykonajte jeden test, zosúlaďte operácie a uchovajte report aj denník. Nie je univerzálne minimum päť rokov či pevný čas sťahovania.
Ako sa vyhnúť pohľadu do budúcnosti v MQL5?
Používajte iba vtedy dostupné informácie. Shift nula môže oprávnene obsahovať aktuálny doterajší stav, nie automaticky konečný záver. Pravidlo ukončenej sviečky potrebuje overený čas. CopyRates start_pos a index cieľového poľa sú rozdielne pojmy: skontrolujte as_series, vrátený počet a časy. Rozdiel demo/backtest sám nediagnostikuje únik informácií.
Má zmysel ručný alebo automatický backtest?
Replay môže zachytiť diskrečné kritériá a nejasné prípady, ale aj využívať neskôr zapamätané ceny. Kód reprodukuje pravidlo pri kontrolovaných dátach, verziách, nastaveniach a náhode. Tisíce obchodov nezaručia nezávislosť alebo významnosť. Obe metódy porovnávajte na rovnakých signáloch a realizácii; nemáme univerzálnych sto obchodov, pracovný čas alebo mieru úspechu mechanických systémov.
Zdroje a overenie
- MetaQuotes: MT4 nastavenie testera
Genetická optimalizácia, tri sviečkové režimy, FXT, modelovanie Ask a predvolený spread.
- MetaQuotes: obmedzenia MQL4 testera
Obchodné operácie len na testovanom symbole; samostatné vlastnosti a obmedzenia oproti MQL5.
- MetaQuotes: MT4 History Center
Stiahnuté historické dáta môžu byť odlišné od serverovej histórie brokera; HST a import/export.
- MetaQuotes: testovanie v MT5
Viac symbolov, nastavenia účtu, provízie, pipsový režim bez provízie/swapu/maržovej kontroly a neskoršie hodnotenie.
- MetaQuotes: reálne a generované ticky
Náhrady chýbajúcich tickov pri minútových sviečkach; rozdielne modelovanie spreadu. Hodnoty 10/10/80 sú vlastný model.
- MetaQuotes: CopyRates
Aktuálna sviečka, fyzické poradie dát a počet získaných záznamov; index cieľového poľa nie je rovnaký pojem ako požadovaný shift.
- MetaQuotes: TimeGMT
V testeri sa rovná simulovanému TimeTradeServer, preto táto rovnosť sama neoverí historický UTC posun.
Výpočty používajú výslovne uvedené predpoklady. Nenahrádzajú aktuálne trhové údaje ani podmienky poskytovateľa.
