4 bejegyzés megtekintése - 1-4 / 4
  • Szerző
    Bejegyzés
  • Cincer
    Tag
    Bejegyzések száma: 9

    Szia Radu

    Két kérdésben szeretném a segítségedet kérni. Többször belefutottam abba, hogy egy adott időintervallumon történő tesztelés során végig pozitívan kereskedik a robot de a legvégén mindent elveszít. Ha csak erre a veszteséges időtartamra futtatom le újra akkor megint pozitívan kereskedik. Több robotnál is belefutottam ebbe. Mitől van ez? Mennyire kell komolyan venni ezt a jelenséget?

    A másik kérdés, hogy szeretnék futás közben (kereskedés alatt) leállítani egy robotot billentyűvel. Ennek az lenne a célja, hogy az eseményre már nem köt új ügyletet csak szépen megvárja, hogy a többi lezárásra kerüljön a program szerint. Ezt hogyan lehet megoldani? Esetleg valami egyszerű programrészt be tudnál-e másolni vagy linkelni.

    Előre is köszönöm.
    Gábor

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Szia Gábor!

    Az első kérdésed kapcsán:
    Milyen stratégiáról van szó? Ha pl. ellentrendben/trendben építkezős, akkor a problémád onnan ered, hogy nem mindegy az első kötés helye, ami alapján a többi kötés majd datálódik. A bővebb válaszhoz ismernem kéne a stratégiát – így látatlanban a pozícióhalmozódás, és az ezzel kapcsolatos elszállás/túlzott kitettség lehet az ok (sok más egyéb mellett).

    A második kérdésed kapcsán:
    A kérdésed vizuál tesztben, manuális megállításra vonatkozik? Mert ott a Pause/Break feliratú gomb használható a billentyűzeten.

    Amennyiben programkódon belül szeretnél ilyen megoldást eszközölni, ott én az úgynevezett „szemafor” módszert javaslom. Azaz kell hogy legyen egy szemaforod (jelződ), amely megakadályozza a robotot az új pozíciónyitásban (többpozíciós rendszer esetén építkezés indításában), azonban a meglévő pozíciót/pozíciókat lemenedzseli. Szemafornak használhatsz egy fájlt, vagy akár egy globális változót – én jellemzően az utóbbiakat veszem igénybe.

    Az így elhelyezett szemaforokat természetesen majd kézzel kell törölni, mert a robot nem mindig tudhatja, hogy az adott szemafor érvényben van-e még, vagy csak egy korábbi futtatás eredményeként maradt ott.

    A jelző elhelyezése történhet pl. az első pozíció megnyitásakor, vagy egy más esemény bekövetkeztekor – ez teljes mértékben rád van bízva.

    Programkódot azért nem írnék most első körben, mert egyelőre megvárom hogy kifejtsd hogy pontosan mire is gondolsz.

    Cincer
    Tag
    Bejegyzések száma: 9

    Szia,

    A tesztelésnél igazán nem tudok mondani stratégiát mert többnyire ingyenes robot tesztelésénél találkoztam ezzel. Esetleg egy tesztelési eredményt tudnám átküldeni vagy a tőkés grafikont.

    A program megállítását én elsőre úgy képzelném el, hogy van egy sima 0/1-es változó ami alap esetben mondjuk 0 ekkor kereskedhet (az egyéb feltételek mellett persze), és ha futás közben pl. ctr+q nyomok akkor átvált 1-re, ekkor már új pozíciót nem nyit de a meglévőket még szépen bezárja a stratégia szerint. Ennek az lenne az értelme, hogy amikor fut a program (élesben) és le akarom állítani pár napra vagy hétre nyaralás vagy bármi miatt, akkor a nyitott pozíciókat de jelenleg veszteségeseket ne egyből realizáljam.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Ellenőrizd le, hogy van-e elegendő pénz a tesztben (induló tőke).

    A 0/1-es változód kapcsán: a billentyűre reagálás megoldható, de rendkívül körülményes. Az egyszerűbb jobb alapján inkább egy külső változót javaslok, amely a meglévő kereskedések menedzselését engedi, míg az új pozíció nyitást tiltja. Pl.: TradeEnabled = true/false.

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