A MT4 korlátozásai optimalizáció során

A MT4 platform lehetőséget biztosít optimalizációra, azaz több backteszt egymás utáni kombinált futtatására külső beavatkozás nélkül. Fontos tudni azonban, hogy milyen korlátozások vannak érvényben eme speciális tesztelési mód során, amelyek esetlegesen érintik robotjainkat.

Speciális funkciók a visszatesztelés során

  • Néhány beépített függvény kimenet (output) nélkül kerül feldolgozásra. Ezen függvények: Sleep(), Alert(), SendMail(), PlaySound(), MessageBox(), WindowFind(), WindowHandle(), WindowIsVisible().
  • Pozíciókat kizárólag a teszter kiválasztott instrumentumán lehet nyitni. Minden más instrumentumon indított kereskedési művelet eredménye hiba lesz.
  • A lotméretek, a lot lépésköz, a jutalék és swap kondíciók az aktuális számla alapján kerülnek beállításra. A tesztelés megkezdése előtt mindenképpen érdemes ellenőrizni, hogy a MT4 kapcsolódva van-e egy számlához.
  • Minden kamat, margin követelmény, lejárat és GTC (Good 'Til Cancelled - teljesülésig/törlésig aktív függő pozíciók) modellezésre kerül. A tesztelés a kereskedési szerver alapján a lehető legpontosabban történik meg, ugyanakkor a keresztárfolyamok kapcsán előfordulhatnak számítási pontatlanságok, mivel a korábbi átváltási árfolyamok nem állnak rendelkezésre minden pillanatban.
  • A piacon történő pozíciónyitás slippage (csúszás) nélkül kerül végrehajtásra.
  • A nyitás/zárás slippage (csúszás) nélkül történik
  • Számla stoppolódás - vagyis ha robotunk elbukja az induló tőkét - után a teszt megáll
  • Heti, havi és nem gyári idősíkokon a tesztelés nem lehetséges
  • A kiinduló tőke devizaneme változtatható, de az aktuális adatok alapján történik meg az átváltás
  • Nincsen késleltetés a kereskedési műveletek kapcsán - vagyis minden kereskedési művelet azonnal teljesül (szemben a valósággal).
  • A teljes Számlatörténet mindig elérhető, és nem függ a számla azt érintő beállításaitól
  • Amennyiben más instrumentum vagy idősík adatát szeretnénk használni, elvárt azok letöltése a lehető legnagyobb időfelbontásig
  • "Minden tick" tesztelés során a teszter minden szükséges idősík adatát automatikusan letölti
  • A MarketInfo() használata a teszttől eltérő instrumentumok esetén ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE(4059) hibát generál. A tesztelt instrumentum összes adata (spread, pontméret, stop szint, fagyási szint, stb.) azonban természetesen elérhető az aktív számla kondíciói alapján. Ez alól kizárólag a házilag konvertált, jó minőségű adatok a kivételek - ott a generáláskor kerülnek be a kereskedési kondíciók a visszatesztelési (FXT) fájlokba. (A későbbi futtatások során a korábban beégetett kondíciók véglegesek, amennyiben a teszteléshez szükséges feltételek adottak és az FXT fájl nem lesz felülírva.)

Speciális funkciók az optimalizáció során

  • Semmilyen naplózás nem történik (még a Print() funkcióval sem). Ez a műveletek gyorsítása illetve a foglalt lemezterület megspórolása végett van így, elkerülendő a több száz megabyte-nyi adat kiírását.
  • A kirajzolandó objektumok nem kerülnek kirajzolásra. Ez a műveletek gyorsítása érdekében történik így. Amennyiben az expert aktívan épít az objektumokra, az érintett funkciók optimalizáció során hibásan működhetnek majd - erre érdemes a tervezési szakaszban odafigyelni!
  • A "Haszontalan eredmények kihagyása" funkció az alapértelmezés - a veszteséges eredmények alap esetben nem kerülnek megjelenítésre.

Oszd meg, ha hasznosnak találtad!

3 hozzászólás a(z) “A MT4 korlátozásai optimalizáció során” bejegyzéshez

  1. Szia Radu!

    Szeretném megkérdezni mennyi a max optimalizálható változó egyszerre,illetve ha a teszter ablak bal alsó sarkában megjelenik pl :567/1280(32768)
    akkor az azt jelenti,hogy eddig 567 teszt futott le a 1280-ból de a sok bekapcsolt változó miatt 32768 tesztnek kellene lefutnia akkor hogy számolja ki az 1280-at?
    (a rossz eredmények eldobása be van kapcsolva)
    Üdv:V

  2. Üdv!

    Nincs korlátozás a maximálisan optimalizálható változók számát tekintve, tehát optimalizálhatsz egyszerre akár száz változóra is, a kombinációk számára kell figyelned. Ha genetikus algoritmust használsz optimalizálás során, akkor ~ 10.000 kombinációt engedélyez az MT4.
    Az 567/1280 (32768) számsor a következő jelentéssel bír:
    (32768): a kombinációk száma
    1280: a genetikus algoritmus által meghatározott kombinációk száma figyelembe véve a változókat és azok lehetséges értékeit
    567: az éppen aktuális kombináció
    Genetikus algoritmus használata esetén előfordulhat, hogy ilyet látsz: 1400/1280 (32768), esetleg korábban befejeződik az optimalizálás 1157/1280 (32768). Nem kell megijedni egyik esetben sem, előbbinél az algoritmus még egy generációra optimalizál, utóbbinál úgy ítéli meg, hogy felesleges a következő generáció egyedei nem hoznak jobb eredményt.

MINDEN VÉLEMÉNY SZÁMÍT!