Hozzászólások

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

    Kedves István! Nem tudok sajnos olyan funkcióról, amellyel a kérdésed megoldható lenne – sem manuálisan, sem szoftveresen nincs mód arra, hogy MT4-ben megállapítsuk, mely sablon van aktuálisan a chartra helyezve.

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

    Már válaszoltam a pár nappal ezelőtti kommentedre, de akkor itt is megírom: igen, mindenképp folyamatosan rajta kell hagynod a charton a myfxbook EA-t.

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

    Tudomásom szerint nem lehet külső forrásból adatokat importálni Tickstory-ba, hol láttál ilyesmit? Kizárólag a Dukascopy szerveréről származhatnak adatok. A többi kérdésed a TSL-el kapcsolatban ezért – szerintem – tárgytalan.

    A Ninjatrader adatok importálására a CSV2FXT módszer valószínűleg jobb választás. Nagyon rég dolgoztam ezzel a szkripttel, azt nézd meg, hogy az alapvető formátum micsoda, amivel a szkript dolgozik. Ugyanebbe a formátumba kell pakolnod a Ninja-s adatokat is, amit aztán a CSV2FXT-vel be tudsz olvastatni.

    A TSL-ból puskázva a birt’s formátum:

    Timestamp,Bid Price,Ask Price,Bid Volume,Ask Volume
    2012.01.12 01:02:10.100,1.24233,1.24271,1.1,1.2
    2012.02.13 02:04:10.332,1.24243,1.24262,1.5,1.3

    Ezt kell tehát létrehoznod a Ninja adatokból is, én ezzel próbálkoznék legelőször.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: MT4 nem válaszol #5159

    Örülök, hogy megoldódott. Köszi Roden a válaszokat!

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: MT4 nem válaszol #5150

    Roden tippje teljesen jó, de valóban, abban az esetben ha valaki nem ismeri az adott terminál rendszermappa elérhetőségét, akkor nem tud elindulni ezen a vonalon.

    A C:\Felhasználók\AppData\Roaming\MetaQuotes\Terminal\ könyvtáron belül egy szimpatikus kriksz-krakszos könyvtárnév alatt találhatóak a gépre telepített MT4 terminálok rendszermappái. Franci, ezeken belül keresd meg azt amely MQL4\Experts\ könyvtára tartalmazza az adott expertet, és hajtsd végre a Roden által leírtakat, majd indítsd el az adott terminált. Várhatóan így el fog indulni. Ha nem, akkor a maradék 4 szkript, vagy valamilyen meglévő indikátor / expert okozza a problémát.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: #property version #5149

    A property beállítások lekérdezésére tudtommal nincs (sajnos) lehetőség.

    Automatikus növelésre szintén nincs technikám, én magam egy saját VERSION konstanst alkalmazok a property-féle version-nel együtt. Amúgy nagyon ajánlom, én minden elkészített robotban használom a verziószám követést.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: MT4 build 950 kifagy #5138

    Igen, pontosan ezt mondom, jól értelmezted – köszi az összefoglalást. Az elhanyagolható esély jó megfogalmazás, hat év fejlesztés után nem volt probléma a kódjaimmal, így ezt saját tapasztalattal alá tudom támasztani.

    IE-t jómagam nem használok, de köszönöm a visszajelzést – Chrome és Firefox alatt ilyesmi hibát nem tapasztaltam még, így elsőre azt mondanám, hogy vagy az IE-ben, vagy a blogmotorban van hiba. Az utóbbit azért nem gondolom, mert az ilyesfajta munkameneti adatokat nem szokták böngészőfüggővé tenni.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: alapműveletek #5136

    Ja, arra figyelj: a számlanyitásnál a tőkeáttétel automatikusan megváltozik a beírt tőkeméret függvényében. Lehet, hogy 1:200-at akartál nyitni, de végül 1:500 lett.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: alapműveletek #5135

    Nyitottam egy USD alapú demó számlát, 1:500-as tőkeáttétellel.

    1 lotos [SP500] instrumentum esetén a marginom: 10.58, ennyit ír ki a szkriptem is. A kalkulátor nekem 10.55-öt mutat, ami így azt mondom, hogy helyes.

    Nyitottam egy HUF alapú demó számlát, 1:500-as tőkeáttétellel.

    1 lotos [SP500] instrumentum esetén a marginom: 2890.50, ennyit ír ki a szkriptem is. A kalkulátor nekem 2884.65-öt mutat, ami így azt mondom, hogy helyes.

    Hol a probléma? Lemaradtam :)

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: MT4 build 950 kifagy #5134

    „De fura megemészteni, hogy egy külső paramétrekkel operáló függvény nem mindig az aktuális értéket adja vissza.”
    Nem azt mondtam, hogy nem az aktuális értéket adja vissza! Valószínűleg nem volt egyértelmű a megfogalmazásom, elnézést.

    Én minden eljárásomat úgy építem fel, hogy a logikai gondolatmenetben ne jelentsen az problémát, hogy ha a ticken belül az OrdersTotal() értéke megváltozik. Természetesen fog, hiszen ha pl. egy zárást végzünk (akár a tömbös megoldással), majd nyomunk utána egy pozíció számlálást, és a program megy a további teendők felé, akkor az OrdersTotal() már a lezárásá utáni, helyes és lehető legkurrensebb eredményt ad vissza.

    „MarketInfo(„GBPUSD”,MODE_BID) fügvény biztosan ugyanazt az értéket adja akkor is ha OnTick()végén újra lekérdezem, és közte volt egy hosszas analízis (és GBPUSD-n meg záporoztak a tickek).”
    Egy tick lefutása mindenképpen gyors kell, hogy legyen. A gyors természetesen relatív, tudom. Viszont mindennek úgy kell felépítve lennie, hogy ha a futás közben változás van, akkor vagy automatikusan, vagy kérésre – lásd RefreshRates() – történő változások ne okozzanak gondot a programlogikában.

    „Mégis a(z ‘összeszámláló’) For cikluson belül hajtok végre sikeres zárást, de ez nem befolyásolja az OrdersTotal() értékét.”
    De, befolyásolja – pont ezért kellett a tömbös megoldás. Ezzel 100%-ig egyetértek, csak bután fogalmaztam. Ha nem gondolnám így, akkor nem született volna belőle cikk sem :)

    Én arra gondolok, hogy a for ciklus előtti lekérdezés és a for ciklus – ha pl. pozíciógyűjtésre használjuk – lefutásának ideje alatt nem fog változni az érték. Én ezért nem tárolom el külön változóban az OrdersTotal() értékét. Magyarul: minden olyan teendőt, ami hosszabb időt vehet igénybe, kiszervezek pl. tömbös megoldásként. Minden más gyorsan történik, tehát még 200 pozíció végignyálazása sem vehet igénybe annyi időt, amely során megváltozik az OrdersTotal() értéke.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: MT4 build 950 kifagy #5122

    Én az évek során nem tapasztaltam ebből fakadó problémát vagy furcsaságot. Ticken belül biztosan nem változik az OrdersTotal() által visszaadott érték, más kérdés, hogy régen divat volt az expertet végtelenítve futtatni, amikor is sosem ért véget az első futtatási példány, hanem azon belül történt kényszerítetten a belső adatok frissítése. De itt most nem ez a helyzet.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: alapműveletek #5121

    Melyik brókercég, melyik számlatípusának melyik instrumentumáról van szó?

    Felhasználóként vagy programozóként vagy kíváncsi az infókra? Csak azért kérdezem, mert a margin értéke le is kérdezhető.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: alapműveletek #5116

    Kedves Gergő!

    Egyedi tőkeáttételekkel nem találkoztam még MT4 platform alatt. Úgy tudom tehát, hogy a tőkeáttétel számlához kötődik. Az instrumentum legtöbb kondícióját le lehet kérdezni a brókercégtől, és ilyenkor az adott számladeviza és instrumentum alapján – többnyire – a helyes adatokat adatokat fogod visszakapni.

    A pip/tick érték számítása kapcsán ajánlom ezt a cikkemet, a marginról pedig ide kattintva arról is olvashatsz.

    Ide kattintva pedig az összes elolvasható cikk listáját kapod az „Olvasnivaló felhasználók számára” részben.

    Remélem a cikkek elolvasása után megbocsátod a rövid válaszom, szerintem ezekben a cikkekben bőven elegendő infót találsz ahhoz, hogy a kérdéseidre megtaláld a válaszokat.

    Radulovic Attila
    Tag
    Bejegyzések száma: 653
    Hozzászólás: MT4 build 950 kifagy #5115

    A legelső pillanatban, amikor a külön tömbbe gyűjtés lezajlik, az idő alatt OrdersTotal() értéke nem fog megváltozni. Ennek az az oka, hogy ez tick-en belül – kivéve ha a programfutás nem extrém lassú vagy szándékosan nem provokáljuk – az OrdersTotal() értéke nem fog automatikusan frissülni. Ez kizárólag az adott tick-hez tartozó futás befejeztével történik csak meg.

    Én emiatt teljesen feleslegesnek gondolom, amit leírsz, mert az OrdersTotal() -t rengeteg esetben használom for ciklusban – ahogy a cikk végén le van írva, kizárólag az elején. Zárni nem a for ciluson belül, hanem a kigyűjtött tömb elemszámai alapján iterált for ciklusban zárok.

    A javaslatoddal az a probléma, hogy – ha feltételezzük, hogy az OrdersTotal() értéke változik a ciklus elején érvényes értéktől egy más értékre – hiába tárolod el az OrdersTotal értékét, hiszen maguk az indexek is keveredhetnek attól függően, hogy hány pozíció szűnik meg és jön létre egyszerre.

    Tehát: az OrdersTotal() for cikluson belül én kizárólag kiválasztást és szűrést végzek, minden más feladatot a kigyűjtött ticket számokkal feltöltött egy- vagy kétdimenziós tömbök iterálásával végzek. Ebben az esetben pedig már ticket számokkal dolgozok, azok pedig nem fognak változni.

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

    Szia Tamás!

    Pontosan milyen szkripttel és milyen formátumot szeretnél csv -ből generálni?

15 bejegyzés megtekintése - 106-120 / 651