Hozzászólások

15 bejegyzés megtekintése - 241-255 / 651
  • Szerző
    Bejegyzés
  • Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Nekem valós idejű futtatásnál – első ránézésre – jól működik a kódod, backtesztnél viszont abszolút nem. Ez utóbbi azért lehet, mert a választott idősíknál alacsonyabb idősík adatait nem mutatja a MT4. Ezt vedd figyelembe!

    Illetve még amit jó tanácsként mondhatok: ellenőrizd, hogy az iTime visszatérési értéke nulla-e. Ha igen, akkor Sleep(50) és RefreshRates() kell, mert elképzelhető hogy pont abban a pillanatban frissíti a MT4 az adott idősík gyertyaadatait. Ha pedig ebbe M1-en futsz bele, akkor mész újra az inicializációs szakaszba.

    Amúgy azt nem értem pontosan, hogy miért jobb tömbökkel szórakozni, amikor 7 nextrunnal nagyon egyszerűen meg lehet oldani a feladatot, a végeredmény pedig pontosan ugyanaz lesz, mint amit elvársz. Számolni idősíkonként egyszer csak akkor kell, amikor új gyertya képződik – a többi esetben az előre kikalkulált NextRun értékhez hasonlítgatod az aktuális brókeridőt.

    A megoldásod ugyanúgy viselkedik majd az általad leírt esetben (ha pl. a 10:01-es gyertyában csak 10:01:25-kor jön tick), mint az enyém. Nem kötekszem, csak kíváncsiskodom!

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Na igen. Ó, és ezen kívül hány olyan dolog van amit kihagytak…

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    A NextRun-os megoldást akárhányszor alkalmazhatod a kódban, én sem egy helyen használom nyilván. A legutolsó teljesülésnél jelölöm ki a következő futási időpontot.

    Amit felvetsz, az pontosan így van: ha az első tick 25 másodperc múlva jön, akkor akkor fut le. Mivel a stratégiák 99%-a eleve a tickek beérkezésétől függ, így kvázi lényegtelen, hogy pár percig szünet van és utána fut le a program, vagy nagyon folyamatos a tickek áramlása és relatíve tényleg mindig másodpercre pontosan a gyertyák elején végezi a program az ellenőrzéseket.

    A Bar-ban én sem bízom, ezért ajánlom a NextRun-t – én is hasonlók miatt nem alkalmaztam régebben.

    A LastTime-os megoldás valóban hasonló, mint az enyém. Azt mondjuk nem értem, hogy miért jó mindent M1 alapján végezni, amikor eleve tudod hogy mely idősíkok adatai szükségesek és melyeken akarsz dolgozni. Természetesen ez is egy jó megoldás lehet, csak ennek a gyakorlati haszna a te stratégiádhoz kapcsolódik, nem a leggyakrabban előforduló elvárásokhoz.

    Figyelembe véve az MT4 adatintegritását, legalább annyi problémát hozhat elő a megoldásod, mint amennyit megold. Főleg backtesztben érdekes ez a kérdés, amikor pl. M5-ön mész, és M1-es vagy H1-es adatokat akarsz elérni kódban, néha ezt egyáltalán nem hajlandó megtenni az MT4 :(

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Igen, a jóváírás „balance” típusú OrderType()-pal detektálható (6-os típus). A credit változását neked kell vizsgálnod, arra nincs hasonló módszer.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Túlbonyolítod. A csatolt kódban nem kezdek hibát keresni, inkább leírom hogy én hogy csinálnám.

    „A” megoldás: iBars() aktuális és legutóbbi mentett értékét összehasonlítod.

    if (Bars > LastBar) {
       // Futtatni kívánt kód új gyertya esetén
    
       // [...]
    
       LastBar = Bars;
    }
    

    „B” megoldás: én úgy hívom: NextRun. Minden tickben ellenőrzöd, hogy az egyes idősíkokon új gyertya jött-e létre. Ha igen, akkor a legfrissebb gyertya nyitóidejéhez képest beállítod a következő futási időpontot.

    if (int(TimeCurrent()) >= NextRun) {
       // Futtatni kívánt kód új gyertya esetén
    
       // [...]
    
       NextRun = int(Time[0]) + Period() * 60;
    }
    

    Persze nem muszáj az aktuális idősíkkal dolgozni, lehet az összessel egyszerre (a Time-ot iTime-ra cseréled, a Period() -ot meg az adott idősík konstansára).

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: csv adatformátum #4413

    Megvetted a TSL 1.6-ot? Csak licenc ellenében fog engedni backtesztelni.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Mindannyiunkkal van ez így néha:) Hajrá!

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Három puffere van az indikátornak. Az adat ablakban fentről lefelé vannak ezek a pufferek, a legfelső a 0-ás, alatta az 1-es, végül pedig a 2-es. Mint minden indexelés a MT4-ben, ez is nullától indul.

    A pufferek értékeit az iCustom függvénnyel tudod lekérdezni.

    LONG jelzés (zöld bogyó): 0-ás és 1-es puffer értéke megegyezik (és az érték nagyobb, mint nulla)
    SHORT jelzés (piros bogyó): 0-ás és 2-es puffer értéke megegyezik (és az érték nagyobb, mint nulla)

    Ezt a data ablakban is le tudod ellenőrizni, mindig ott kell kezdened egy indikátor vizsgálatát.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: csv adatformátum #4407

    Szia fizus!

    kilovolt78-nak más jellegű problémája volt, mint neked – ő másik szoftverrel próbálkozott. Javaslatom, hogy ellenőrizd hogy az általad bemásolt linket megnyitva – mondjuk egy böngészőprogramban – letöltődik-e a bi5 kiterjesztésű fájl. Szerintem valamilyen tűzfal, vagy internetes beállítás hibádzik nálad, ha soha sem működik egyetlen egy adatforrás-letöltés sem.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: Tickstory #4404

    Igen, így van – ha mindent sikerül így megtartanod, akkor működni fog.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: Tickstory #4385

    Persze, most írom a cikket, nemsokára beillesztem ide a linket.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653

    Ez a két szkript meglehetősen híján van a dokumentációnak. Sajnos most nincs időm konkrétan foglalkozni ezzel, de nálam nincs ilyen hibaüzenet, viszont nem történik semmi. Úgy nézem egyébként, hogy ezek a szkriptek csak a kliensek, kell ehhez egy szerver is – azt kellene megkeresned. Van egy CFilePipe osztály, annak nézz utána.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: Tickstory #4377

    Igen, pontosan.

    /portable /skipupdate

    Majd jelezz vissza, hogy működik-e így.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: Tickstory #4374

    Elkészítettem a „Hogyan lehet megakadályozni az MT4 automatikus frissülését?” című GYIK bejegyzést, majd jelezz vissza légy szíves hogy érthető volt-e!

15 bejegyzés megtekintése - 241-255 / 651