szerda, október 07, 2009

Ninják helyett Szakértő Tanácsadók

Sajnos nagyon régóta nem sikerült a blogba írnom egyetlen sort sem.
Most azonban igyekszem tovább folytatni a blog írását, mert úgy gondolom, hogy minden kisbefektetőnek joga van ahhoz, hogy sikeres nagybefektetővé váljon.

Ami a NinjaTrader-t illeti, sajnos nagyon komoly nehézségekbe ütköztem. Rögtön mindjárt a historikus adatok kinyerése a szerverekből. Ez ugye azért problematikus, mert ha nincsenek folyamatos adatok, akkor a backtest teljesen félrevezető lehet és nem jó értelembe véve.

A másik nagyon komoly hátrányossága, hogy nem kezeli a számlán lévő tőkét, de még csak eljárások sincsenek definiálva arra, hogy kezelni, lekérdezni lehessen.

További hátránya, hogy a stratégia leállításakor az összes nyitott pozíciót azonnal lezárja, függetlenül attól, hogy pozitív, avagy negatív a profitja.

Leginkább azonban a fejlesztéshez nélkülözhetetlen historikus adatok adták meg a kegyelem döfést. Ha ugyanis néhány napig el sem indítjuk a programot, akkor a hiányzó adatokat nem pótolja a program, hanem a grafikont ott folytatja, ahol abbahagyta. így az a néhány napi adat hiányzik, jó nagy rést hagyva a gyertyák között. Ez olyan szinten hamisítja meg a backtest eredményeit, hogy képtelenség két egyforma backtest-et generálni két különféle gépen.

Így hát felhagytam a NinjaTrader programozásával és másik platformot voltam kénytelen keresni.

Sokáig nem is kellett keresgélnem, mert megtaláltam azt a platformot, amit a legtöbb automata trader fejlesztő cég használ, ez pedig a MetaTrader.

A program nyelvezete jóval bonyolultabb - amolyan igazi programozós, kódolós -, viszont sokkal megbízhatóbb működésű platform, amit még kézi kereskedésre is lehet használni.

Fontos megemlíteni, hogy van magyarnyelvű felülete, ami viszont nem terjed ki a programozási felületre (MetaEditor), az sajnos angol maradt, bár a programozók ennek inkább örülni szoktak. A programozás nyelve az angol...

Hátránya még - a bonyolultabb nyelvezet miatt -, hogy a köthető devizapárok, részvények és CFD-k száma a brókercégek kínálatától függenek, ami általában nem sok, néhány főbb papírokra, devizapárokra szűkülnek. Itt azonban igen fontos megemlíteni, hogy nagyon sok - és ezt tényleg így kell érteni - nagyon sok brókercéggel van kapcsolatban a MetaQuotes, így gyakorlatilag amivel kereskedni szeretnénk, azzal tudunk kereskedni (van ahol nemesfémekkel, olajjal is!!!)

Ami viszont óriási előnye, hogy helyesen kezeli a historikus adatokat, a hiányzó adatokat automatikusan letölti a szerverről, remekül lehet benne kezelni a számlát, egyszerre egy irányba bármennyi kötést enged - természetesen a tőke erejéig -, a program leállítása után a nyitott pozíciókat ott hagyja, így azután az ember azt csinál velük, amit csak akar.

További óriási előnye még, hogy nem csak a program indításakor lehet paraméterezni, hanem a már futó programnak is meg lehet változtatni a paramétereit, menet közben. Így nem kell leállítani és újra elindítani a programot, illetve be lehet építeni a programba olyan funkciókat, melyeket ki- és be lehet kapcsolni menet közben.
Ez például arra is jó lehet, hogyha le akarjuk állítani a programot, akkor "kikapcsoljuk" a pozíció nyitásokat és csak a meglévő pozíciók ellenőrzött bezárásaival foglalkozik a program.

A programba épített súgó nagyszerű, valódi helyzetérzékeny súgó, tehát azonnal segítséget kapunk a program írása közben, ami egy ilyen bonyolult nyelvezet esetén nagyon fontos.

Másik érdekesség, amit eleinte hátránynak, később inkább előnynek tituláltam, az az, hogy a program minden tick-re lefut, így egy gyertyán belül több kötés is létrejöhet, több különböző áron - függően a pillanatnyi ártól.
Természetesen 4 sor beiktatásával megoldható, hogy minden gyertya befejezésekor fusson csak le a program, de nem ez az alapértelmezett.

Érdekes módon nem csak a számláról lehet információkat kinyerni, hanem a brókercégről is, a nevén kívül például azt, hogy mi az a minimális távolság, ahová engedi a stop-ok és a take profit-ok behúzását, de akár a spread-et is.

Sajnos a chart-ra rajzolni jóval zűrösebb, sok utasítással és igen bonyolultan lehet csak. Viszont ki lehet íratni a bal felső sarokba néhány fontos - általunk megválasztott - információt, ami mindig látszik - például mondjuk az egyenleget.

Az árak vizsgálatához és úgy egyébként bármilyen gyertyával foglalkozó eljárásnak meg lehet mondani, hogy milyen időtávon működjön, és akár azt is, hogy melyik instrumentumon, függetlenül attól, hogy a chart-on mit látunk. Hogy ez mire jó?
Például arra, hogyha az egyik devizapár hamarabb reagál a délutáni hírekre, mint a másik, akkor a másik chart-ján már lehet sejteni, hogy mi következik és már lehet is nyitni a pozíciót, mielőtt még jel alakulna ki.

Érdemes megemlíteni azt is, hogy a nyitott pozíciókkal egyenként kell foglalkozni a programban, tehát erre ki kell alakítani a megfelelő technikát a programozás során, de ez inkább előny, mint hátrány, ugyanis a tömeges pozíció kezelés legtöbbször veszteségeket szül.

Fantasztikus lehetőség az is, hogy ugyanazt a programot több chart-on is lehet futtatni, mégsem kell aggodalmaskodni amiatt, hogy elfogy a tőke és szétforgácsolja a program, hiszen ugyanazt a számlát használja mindegyik chart, tehát ha több instrumentumon futtatjuk, akkor szépen megosztoznak a tőkén testvériesen.

Egész egyszerűen azt kell, hogy mondjam, hogy eddig a legjobban használható platform, mind fejlesztésre, mind futtatásra. Maga a program is sokkal kisebb (4MB szemben a NinjaTrader 20MB-jával szemben) a működésközbeni memória felhasználásáról nem is beszélve! Ez utóbbi azért fontos, mert távoli szerveren nem mindegy, hogy mekkkora memória felhasználása van egy ilyen rendszernek. Sok-sok költséget lehet megtakarítani azzal, ha kisebb távoli gépet kell bérelnünk.

A végkövetkezetés tehát az, hogy a MetaTrader az eddigi legjobb fejlesztői platform, amit természetesen ingyenesen és korlátlanul használhatunk automatikus programok fejlesztésére, élő, valóságos adatokkal, demó számlán, játékpénzzel. Ha pedig beérett a programunk, irány az éles számla.

A címért pedig magyarázattal tartozom, a MetaTrader-ben a kereskedésre alkalmas programokat Expert Advisor-nak, azaz szakértő tanácsadónak nevezik, innen a furfangos cím.

A következő bejegyzésben a MetaTrader (ezentúl MT-nek rövidítem) lehetőségeiről fogok kicsit bővebben írni, illetve elkezdünk programozni is.

Addig is, aki szeretné, töltse le a programot és ismerkedjen vele.