Tartalom

Miért segít, ha előre tudod, mit szeretnél
A kereskedési program tervezése nem azzal kezdődik, hogy valaki leül megírni a kódot — azzal kezdődik, hogy a megrendelő tisztán látja, mit szeretne pontosan kapni.
Minél részletesebben megfogalmazható előre egy indikátor vagy egy kereskedési robot működése, annál kevesebb a félreértés, a visszafordulás és az utólagos módosítás — ez pedig közvetlenül az árban és a határidőben is megjelenik.
Ez nem azt jelenti, hogy mindenkinek programozói szintű tudással kellene rendelkeznie. Azt jelenti, hogy saját magának, a kereskedési ötlete szintjén kell pontosan tudnia, mit akar — a technikai megvalósítást onnantól már a fejlesztő oldja meg.
Egyedi indikátor megrendelése — mit kell tudnod előre
Ha valaki egyedi indikátor megrendelése mellett dönt, a legfontosabb, hogy tudja, mi történik az indikátor minden egyes lépésében — honnantól számol, milyen adatot használ, és milyen feltétel mellett jelez.
Egy indikátor nem „fekete doboz”: minél pontosabban leírható a felépülése, annál pontosabban reprodukálható a kívánt viselkedés.
Érdemes előre tisztázni azt is, milyen formában szeretnéd látni az eredményt a charton — vonal, hisztogram, nyilak, zónák, külön panel vagy a gyertyákra rajzolt jelölés —, és hogy a célplatform egyáltalán képes-e ezt a megjelenítést natívan megvalósítani. Nem minden vizuális elképzelés ültethető át egyformán minden platformra, ezért ezt érdemes a tervezés elején leellenőrizni, nem a kész program átadásánál felfedezni.
Fontos kérdés az is, hogy a jelek más termékek (szimbólumok) adataira is épülnek-e. Ha az indikátor logikája nem csak a saját charton lévő eszköz adatait nézi, hanem más instrumentumokét is figyeli, akkor a backteszteléshez minden felhasznált instrumentum historikus adatát le kell tölteni és elérhetővé kell tenni — ha ez hiányzik, a visszateszt eredménye megbízhatatlan vagy egyszerűen nem futtatható.
Indikátor fejlesztés előkészítése, ha más indikátorra épül
Ha a tervezett indikátor egy másik, már létező indikátorra épül — például annak kimenetét használja bemenetként —, három dolgot kell előre tisztázni:
- Használható-e az adott indikátor a célplatformon, a kívánt formában.
- Nem repaintel-e — vagyis a múltbeli értékei nem változnak-e meg utólag, mert ha igen, az erre épülő logika is megbízhatatlan lesz.
- Elérhető-e a kimenete programozottan — van-e hozzá publikus buffer vagy kimeneti érték, amit egy másik program valóban le tud kérdezni, vagy csak vizuálisan jelenik meg a charton.
Van egy negyedik, gyakran elfeledett szempont: a másik indikátornak nekem, a fejlesztőnek is elérhetőnek kell lennie.
Ha egy indikátort a piactéren (marketplace) vásároltál meg, az a vásárláshoz kötött — én nem tudom egyszerűen lefuttatni vagy beépíteni a saját fejlesztésembe, hacsak nekem is nincs hozzá saját licencem. Ezt érdemes már a tervezés elején tisztázni, mert ez közvetlenül meghatározza, hogy egyáltalán megvalósítható-e a kért funkció úgy, ahogy elképzelted — vagy esetleg újra kell írni az alapul szolgáló logikát is.
Néhány további szempont, amire érdemes figyelni:
- Buffer vs. charton elhelyezett objektum — számít, hogy a felhasznált indikátor az értékeit egy programozottan kiolvasható bufferben tárolja, vagy csak vizuálisan, charton elhelyezett objektumként (vonal, label) jeleníti meg. Az utóbbiból nem lehet megbízhatóan adatot kiolvasni egy másik programból.
- MT4-es függvényhívási korlát — az MT4-en az
iCustom()függvénynek paraméter-limitje van, ami korlátozza, hány bemeneti paramétert lehet átadni a hívott indikátornak. Ha a felhasznált indikátornak sok paramétere van, ez már a tervezés elején eldöntheti, hogy szükséges-e átalakítás. - Futási teljesítmény — ha a felhasznált indikátort minden egyes gyertyán, minden tick-nél újra kell hívni (különösen hosszú historikus adaton), ez jelentősen lassíthatja a teljes programot. Ha ez előre ismert, már a tervezésnél figyelembe vehető.
Ha ezekre a kérdésekre nincs kész válasz, nem gond — de minél előbb tisztázódnak, annál simábban halad a fejlesztés.
Egyedi kereskedési robot rendelése — mit kell tudnod előre
Az egyedi kereskedési robot rendelése esetén a legfontosabb három kérdés:
- Mikor akar belépni a robot — milyen feltétel vagy feltételkombináció jelenti a belépési pontot.
- Mikor akar kiszállni — van-e konkrét kilépési feltétel, vagy ez is ugyanazon logika fordítottja.
- Kell-e stop management — azaz automatikus stop loss / take profit kezelés, trailing stop, részleges zárás, vagy bármilyen egyéb pozíciókezelési szabály.
Ezen túl van még néhány apróság, amire érdemes gondolni, mert sokszor ezek döntik el, mennyi munka kerül a fejlesztésbe:
- Kötésméret-számítás módja — fix lot, egyenleg/saját tőke százaléka, vagy kockázat-alapú számítás (pl. a stop loss távolságából visszaszámolt lot méret).
- Időszakra szűrés — csak bizonyos órákban, napokban, vagy hírek idején kerüljön ki a piacra, vagy pont ezeket kerülje.
- Spread-figyelés — legyen-e felső spread-limit, amely felett a robot nem nyit pozíciót.
- Egyidejű pozíciók kezelése — egyszerre csak egy nyitott pozíció engedett, vagy több is futhat párhuzamosan.
Ezek apró döntéseknek tűnhetnek, de mindegyik közvetlenül befolyásolja, mennyi logikát kell beépíteni a programba — ezért minél előbb tisztázódnak, annál pontosabb lesz az időbecslés is.
Ha ezekre pontos válasz áll rendelkezésre, a fejlesztés sokkal gyorsabban és kevesebb oda-vissza kérdezéssel halad.
A célplatform és a számlatípus
Érdemes előre tudni, melyik platformra szánod a programot (MT4, MT5, NinjaTrader, JForex, Pine Script) — ez azért fontos, mert minden programnyelvnek megvannak a saját korlátai, és ezeket a tervezés elején kell átnézni, nem a fejlesztés közben felfedezni.
Ha a cél platform MT5, érdemes előre tisztázni, hogy hedging vagy netting számlatípusban gondolkodsz — esetleg mindkettőben.
Ez nem apró részlet: a netting számlák más pozíciókezelési logikát igényelnek (pl. extra kötés-nyilvántartást pyramid-jellegű stratégiáknál), ami érdemben befolyásolja a fejlesztésbe kerülő munka mennyiségét.
Ha a stratégia csak bizonyos piaci körülmények közt működik
Sok stratégia vagy indikátor-terv nem minden piaci helyzetben viselkedik jól — például csak trendelő piacon ad megbízható jelzést. Ha ez a helyzet, nem elég annyit mondani, hogy „csak trendelő piacon működjön” — ezt programozható módon kell megfogalmazni: milyen indikátorral, mozgásmintával vagy más, pontosan definiálható feltétellel dönthető el, hogy a piac éppen trendel-e, vagy oldalaz.
Ha ez a definíció hiányzik, a programnak nincs mihez mérnie magát — és a végeredmény könnyen más lehet, mint amit elképzeltél.
Ha nem tudsz mindent előre — ez nem gond
Mindez nem azt jelenti, hogy minden választ készen kell hoznod. Ha egy ponton elakadsz, vagy nem tudod pontosan megfogalmazni, mit szeretnél, ez teljesen rendben van — ötletekkel, kérdésekkel segítek abban, hogy a kereskedési elképzelésed pontos, programozható formát kapjon.
A lényeg, hogy minél többet tudsz előre, annál gyorsabban és annál pontosabban halad a közös munka.
Kereskedési szoftver megrendelés lépései
Összefoglalva, egy kereskedési szoftver megrendelés lépései nagyjából így néznek ki:
- Programtípus tisztázása (indikátor vagy kereskedési robot).
- A működés részletes megfogalmazása (belépés, kilépés, piaci feltételek, meglévő indikátorokra való támaszkodás).
- Célplatform és — ha releváns — számlatípus (hedging/netting) meghatározása.
- Közös egyeztetés a hiányzó részletekről.
- Fejlesztés, tesztelés, átadás.
Ha van egy kereskedési ötleted, amit szeretnél megvalósítani — akár minden részletet pontosan tudsz, akár csak egy alapötleted van —, keress meg, és közösen felépítjük belőle a programot.





