Forex programozás Fórum Egyéb Demo környezet – Backteszt eredmény különbség

8 bejegyzés megtekintése - 1-8 / 8
  • Szerző
    Bejegyzés
  • kocsorm
    Tag
    Bejegyzések száma: 10

    Szia Radu!

    Készítettem egy stratégiát amit MT4-ben visszateszteltem. Tickstoryval töltöttem le és exportáltam az adatokat, a legpontosabb „minden tick” módszert használtam. A teszter szép eredményt mutatott. A STOP elöszö 10 pip volt de a a teszter 3 pipet hozott ki optimálisnak. Megnéztem vizuális módban is, ott is szép eredményt ért el. Feltöltöttem a robotot egy demo számlára és hagytam had fusson hetekig. Amíg a tesztben az eredmény szépen felfelé ívelő görbe volt, addig a demo számlán éles környezetben meredeken zuhant az eredménygörbe. Az oka, hogy nagyon sok 3-10 pipes stop teljesült, így azok elvitték a demo nyereséget. Ennek teszt módban semmi nyoma nem volt. Hogy lehet az, hogy ennyire más eredmnényt kapok egy demo számlán, mint amit a legpontosabb visszateszt eredmény mutat? Hogyan tudnám pontosan beállítani a tényleges optimális stop szintet?

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Amikor visszamenőlegesen tesztelsz, akkor semmi mást nem tudsz elérni mint azt, hogy konkrétan arra az időszakra optimalizálod a stratégiádat. Fel kell készülnöd arra, hogy a valóságban sok minden más lesz. Például:

    • a spread mértéke
    • a teljesülések pontossága (nyitás, zárás, stoploss, takeprofit, stop/limit megbízások)
    • swap.

    Nyilván nem mindig az összes érint, de pár változás is iszonyatos különbségeket ad. A demó számla minden brókernél egy „muszájból” fenntartott környezet, amivel gyakorlatilag nem szeretnének foglalkozni. Az árjegyzés talán közelít az éles számlákéhoz, de még ez sem teljesül néha.

    A javaslatom az, hogy kis méretű számlán (pl. centes környezetben) tesztelj, ahol tulajdonképpen éles környezetben tesztelheted le a stratégiádat valós időben.

    Amennyiben alacsony stoploss távolságokat használsz, számíts arra, hogy így egész egyszerűen sokkal többször lesz teljesülésed. Nem tudom, hogy a demó környezetben mekkora spreadre számítottál és a visszatesztben mekkorával teszteltél, de ha egy kicsit kitágul a spread, akkor máris viszi a profitodat és/vagy veszteséget okoz.

    Az is lehetséges, hogy – erről nem írtál egyébként – a teszterben túl alacsony spreadet alkalmaztál. Ilyen esetben a legtöbb stratégiával eszement profitokat lehet elérni, a valóságban azonban elvéreznek a magasabb költségfaktor miatt.

    Javaslataim tehát:

    • alkalmazz legkevesebb akkora, vagy magasabb spreadet mint a célszámlán lévő
    • figyelj arra, hogy helyesek legyenek a generált adatban lévő kondíciók (jutalékok, kamat, stb.)
    • a MT4-ben alapból fix spreaddel lehet tesztelni; megoldható a változó spread is némi patkolással és a Birt-féle TDS programal
    • szintén a TDS programmal megoldható a véletlenszerű csúsztatás (slippage) előidézése a visszatesztekben.
    kocsorm
    Tag
    Bejegyzések száma: 10

    Szia!

    Feltöltöttem a demó számláról készített képrészletet:
    kephost.com/image/cw2n
    Illetve a MT4 visszatesztjéről készített képet:
    kephost.com/image/cw2Y

    A MT4-ben kipróbáltam 2-5-10-es spreaddel is a visszatesztet és mindig nyereségesnek mutatta a stratégiát.Ha a StopLoss értékét nagyobbra állítom akkor is nyereséges marad csak a profit csökken.
    Az érdekes az, hogy ha megnézem a demo környezetben nyitott kötéseket, akkor látszik hogy az elhelyezett stopszintet a gyertya metszi így kiütve a pozíciót. A MT4 teszt képen is látszanak hogy a STOP szinteket metszik a gyertyák, viszont nem zárultak a pozíciók (?)
    A nagy kérdés, hogy a visszateszt miért nem veszi figyelembe a stopot és zárja a pozíciót?
    A másik érdekesség, hogy a nyitások is egészen másik gyertyákon vannak ugyanazzal a paraméterbeálltással.

    kocsorm
    Tag
    Bejegyzések száma: 10

    Hello!
    Még egy érdekes dolgot vettem észre a vizuális visszatesztnél. Hiába van a visszateszt „minden tick”-re állítva, a gyertyák szinte azonnal kirajzolódnak, olyan mintha a teszter nem venné figyelembe a gyertyán belüli tickeket. Ez miért lehet?

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    A 2-5-10 pipes spread nagyon kedvező. A MT4-ben ez pontokban van megadva, így adj meg 30-at, és nézd meg azzal. A 10-es érték még mindig csak 1 pip!

    A másik jelenségekkel kapcsolatban: szerintem rosszul generáltál adatokat, és/vagy keverednek a visszateszt környezetének (FXT) adatai a gyertyaadatokkal (HST), mert ezek a jelenségek jellemzően ilyenkor történnek meg. A backteszt végén ellenőrizd, hogy 99.9% -e a modellezési minőség. Ha nem, akkor probléma van.

    Olvasd el ismét és kövesd a leírásomat annak érdekében, hogy ne legyenek ilyen hibák.

    kocsorm
    Tag
    Bejegyzések száma: 10

    Hello!
    Úgy néz ki sikerült a visszateszt adatokat helyrerakni. A gond az volt, hogy amikor a Tickstory-val letöltöttem az adatokat kakkor olyan beállítást alkalmaztam, hogy az FXT fájlok felülírhatók legyenek. Most újra betöltöttem az adatokat a MT4-be viszont úgy, hogy az FXT fájlok csak olvashatók! Megnéztem a \tester\history könyvtárat és mindegyxik ídősíknak kb egy-egy 3 GB-os fájlt látok. Amikor elindul a visszateszt nem tudja ezeket felülírni a MT4. Így már helyes teszt adatokat kaptam, ami kb olyan görbét eredményezett mint amit a valóság is mutatott. A spreadet is átállítottam.
    Viszont most az optimalizálással akadt gondom. Ugyanis ha az így betöltött adatokkal akarok optimalizálni egyszerűen eret vágok magamon olyan lassú lett. Egy 10 variációs optimalizálást egy évre visszamenőleg nem lehet kivárni, pedig SSD-n futtatom (????) Illetve az optimalizűálás során kisem írja, hogy hány variációból hol tart éppen, a görbét sem látom… Ennek mi lehet az oka?

    kocsorm
    Tag
    Bejegyzések száma: 10

    Egy kicsit pontosítanám az előzőeket: Most délután ráküldtem egy 66 lépéses optimalizációt, 1 évre visszamenőleges adatokkal. Ez 1,5 óra hossza volt SSD-n! Az optimalizáláshoz az eredmény görbe megjelenik (csak lassan).

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Magától a robottól is függ a futtatott teszt sebessége – így ha az nem optimálisan van kódolva és/vagy túl komplex, az optimalizáció lefutási sebessége lassabb (lassú) lehet.

8 bejegyzés megtekintése - 1-8 / 8
  • Be kell jelentkezni a hozzászóláshoz.