NinjaTrader a MetaTrader 5 neporovnávejte jen podle vzhledu grafu. Nejprve určete skutečný instrument, účet, data, typ pokynu a kód, který má fungovat. Stejný název strategie neznamená stejné výpočty ani plnění. Dobrý porovnávací test odhalí odlišné předpoklady dříve, než začnete vybírat vyšší výslednou křivku.

Platforma neurčuje nabídku každého účtu

MT5 je víceaktivová platforma; konkrétní broker a smluvní společnost určují dostupné produkty. Nabídka CFD jednoho účtu neomezuje technické možnosti celé platformy. NinjaTrader Desktop se soustřeďuje zejména na futures a nabízí i podporovaná další připojení. Jeho web, mobil a Desktop nemusejí mít shodné doplňky nebo automatizaci.

Pro EEA výrobce uvádí Payward Europe Digital Solutions (CY) Limited s licencí CySEC 342/17. To je jiná společnost než americký NinjaTrader Clearing. Evropský průvodce odkazuje na aktuální výběr země pobytu a individuální schválení; český jazyk článku nedokládá způsobilost českého rezidenta. Ověřujte vlastní smlouvu, nikoli jen značku skupiny.

Jaká data objem ve skutečnosti popisuje

Burzovní obchody a zobrazená kniha objednávek mají konkrétní zdroj, kontrakt a pokrytí. Ani úplný viditelný book neukazuje všechny budoucí úmysly účastníků. U OTC forexu bývá objem indikátoru počtem změn nebo ticků daného feedu; není globálním součtem všech devizových obchodů. Rozlište skutečný burzovní objem, tick volume a viditelnou hloubku.

U srovnání potřebujete stejný časový úsek, časové pásmo a mapování symbolů. Rozdíly seskupení, session a historie mohou změnit indikátor dříve, než se projeví jiný programovací jazyk. Ukládejte zvolený feed a konkrétní expiraci futures; průběžná řada vyžaduje popis přechodů kontraktů.

Zlomek může zmizet ještě před převodem

Zlomek zmizí před převodemDvě celá čísla:a=2, b=3. Převod výsledku a/b dá nulu. Převod a před dělením dá přibližně 0,667. Jen druhý výraz překročí práh 0,5.Stejné vstupy:int a=2; int b=3;Převod až po dělení(double)(a / b)0 → 0.0Převod operandu před dělením(double)a / b2.0 / 3≈ 0.667Náš filtr:ratio > 0.500.51

Původní numerický model platí pro zde použité C# i MQL5 celočíselné operandy: int a=2; int b=3;. Výraz (double)(a / b) nejprve vydělí dvě celá čísla na 0 a potom převede na 0,0. Naproti tomu (double)a / b převede první operand před operací:2,0/3 je přibližně 0,6667. Při filtru ratio > 0.5 první větev neprojde, druhá projde.

Ani double x = a / b; první větev neopraví: typ cílové proměnné nevrátí již odříznutý zlomek. Zachovejte pořadí převodu a operace. Dvě splněné podmínky ze tří jsou bezrozměrný podíl, ne pravděpodobnost zisku. Model nepoužívá měnu ani netvrdí, že samotná oprava filtru vytvoří výhodu.

Přenos logiky mezi C# a MQL5

NinjaScript používá C#, MT5 MQL5. Zkušenost s jazykem pomůže při čtení, ale nevyřeší platformní události, řízení pokynů a obnovu stavu. Při převodu strategie nejprve porovnejte vstupy, datové typy, zaokrouhlení, objemové kroky a okamžik výpočtu. Teprve potom testujte časování odesílání a reakce na chybu.

Restart musí mít vlastní scénář: již existující pozice, čekající pokyn, ztracená odpověď a opětovné spojení. Jednoduché nové spuštění nesmí slepě vytvořit další kopii. Výpočetní shoda není důkaz provozní shody. Údajný počet týdnů potřebných k naučení nepřebíráme jako vlastnost produktu; rozhoduje úloha a zkušenost uživatele.

Přesnější vstupy nemusí znamenat správné plnění

NinjaTrader Market Replay může přehrát zaznamenané L1/L2 události; Historical Playback má ticky bez tržní hloubky. Standardní historické plnění Strategy Analyzeru vytváří předpokládanou vnitřní cestu baru. High Order Fill Resolution může použít jemnější sekundární řadu. Tick Replay je jiná funkce pro výpočty skriptu a nekombinuje se automaticky s High Order Fill Resolution.

Oficiální dokumentace upozorňuje, že TimeInForce logika vypršení či zrušení na konci session není podporována na Sim101 a Playback101. Úspěšné přehrání proto nepotvrzuje tuto vlastnost skutečného účtu. Zapište ji jako neověřenou a samostatně ověřte se serverem nebo brokerem. Simulovaný výsledek není důkaz každé provozní ochrany.

MT5 nabízí testy s reálnými ticky brokera; tam, kde vhodné tickové záznamy chybí, může použít generování. Víceinstrumentový EA potřebuje odpovídající skutečné symboly a historii. Genetické hledání ani výpočetní cloud nedoplní kvalitní chybějící vstupy. Obě prostředí porovnávejte s doloženou historií, poplatky a modely; „tickový“ není sám dostatečný popis.

Původní zcela fiktivní tarify a objem

Následující čísla nejsou současný ceník žádné společnosti. Zadaný tarif A účtuje 0,50 USD za kontrakt a stranu bez měsíčního poplatku. Tarif B účtuje 0,40 USD za stranu plus 49 USD měsíčně. Jeden roundtrip má dvě strany a jeden kontrakt, ostatní náklady jsou stejné. Úspora B na roundtripu je 0,20 USD, proto bod rovnosti 49/0,20=245 roundtripů za měsíc.

Na malé obrazovce posouvejte tabulku vodorovně, abyste přečetli všechny sloupce.

RoundtripyA:USDB:USD
100100129
245245245
300300289

Původní čtyři měsíce mají 100,400,100,400 roundtripů, celkem 1000. Celé období v A dává 1000 USD, v B: 800+4×49=996 USD. Pokud výslovně předem povolíme bezplatnou volbu tarifu před každým měsícem a známe zadané objemy, zvolíme A pro klidné a B pro aktivní měsíce:100+369+100+369=938 USD. Není to tvrzení o skutečných podmínkách změny licence ani o znalosti budoucí aktivity. Vyšší počet obchodů kvůli bodu rovnosti může zvýšit celkovou ztrátu.

Nabízené živé sazby a vícebrokerové doplňky ověřte pro vlastní společnost zvlášť. MT5 licence poskytovaná brokerem neznamená nulové spready či komise. NinjaTrader kompatibilita s dalším brokerem neznamená dostupnost každého jeho symbolu.

Nový CZK model nákladů přechodu: úplně nezávisle přiřaďme jednorázový migrační náklad 4800 Kč, stálou měsíční úsporu 350 Kč a dodatečná data 150 Kč měsíčně. Nejde o aktuální nabídku ani oceňování práce konkrétního člověka. Za předpokladu stejných obchodů, stejné kvality provozu a neměnných částek je čistá měsíční úspora 200 Kč. Za 12 měsíců pokryje 2400 Kč, zůstává nepokrytých 2400 Kč; účetní rovnost nastane až po 24 měsících. Bez diskontu, daní, kurzových změn a výnosového přínosu. Bod návratnosti nákladu není důkaz, že má smysl migrovat.

CZK náklad přechodu a čas

CZK náklad přechodu a časCZK náklad přechodu a časČistě za měsíc200 KčPokryto za 12 měsíců2400 KčÚčetní rovnost24 měsíců
CZK náklad přechodu a čas. Vlastní fiktivní model.

Pro přečtení detailů posouvejte diagram vodorovně nebo jej zvětšete.

Číselný přepis diagramu: CZK náklad přechodu a čas

Fiktivně 4800 Kč jednorázově, úspora 350 a dodatečná data 150 Kč měsíčně; bez výnosů, diskontu a změn cen.

Do jmenovatele patří čistá úspora po dodatečných datech.

Čistě za měsíc
200 Kč — 350 minus 150.
Pokryto za 12 měsíců
2400 Kč — Polovina vstupního nákladu.
Účetní rovnost
24 měsíců — 4800 děleno 200.
Cvičení: proč nestačí 4800/350?

Protože 350 Kč je hrubá úspora před 150 Kč za dodatečná data. Správný jmenovatel tohoto modelu je 200 Kč měsíčně.

Dvě běžné situace

Máte-li již funkční MT5/MQL5 postup, vymezte konkrétní chybějící schopnost a prokažte ji malým testem. Samotný odlišný jazyk nepřináší provozní výhodu. Pro studium futures s přehráním hloubky naopak vyberte datum, kontrakt a skutečné nahrávky, pak otestujte požadované pokyny. Nižší nominál kontraktu nepoužívejte jako záruku dostupného rizika.

Co uchovat v porovnávacím záznamu

  1. Účet, instrument, verzi, kód a úplný rozsah dostupných dat.
  2. Malý matematický test typů před porovnáním reportů.
  3. Rozdíly simulace včetně nepodporovaných časových pravidel.
  4. Skutečný rozpočet migrace a provozu bez předpokladu vyšší aktivity nebo budoucího zisku.