Forex programozás › Fórum › Kérdések az MQL4 programozási nyelvvel kapcsolatban › Hiányzó gyertyák
-
SzerzőBejegyzés
-
Szia Radu!
Egy programban több idősíkot akarok használni. Hogyan lehet programból kikényszeríteni a korábbi gyertya adatok letöltését? Ha az alábbi példa programot egy olyan charton futtatom, ahol még nincsenek historikus adatok, akkor az aktuális idősík kivételével nulla a gyertyák száma. A második futáskor már 2048, és gyertyazárásonként eggyel nő.
Nekem több adatra van szükségem. Ha a charton sorra átváltok az idősíkokra, és visszafelé lapozok, akkor letöltődnek a korábbiak is. Ezt a manuális visszalapozást szeretném programból kiváltani.Print( "M1: ", iBars( NULL, PERIOD_M1 ) ); Print( "M5: ", iBars( NULL, PERIOD_M5 ) ); Print( "M15: ", iBars( NULL, PERIOD_M15) ); Print( "M30: ", iBars( NULL, PERIOD_M30) ); Print( "H1: ", iBars( NULL, PERIOD_H1 ) ); Print( "H4: ", iBars( NULL, PERIOD_H4 ) ); Print( "D1: ", iBars( NULL, PERIOD_D1 ) );
Csak favágó módszerről tudok. Anno egy fórumbejegyzésben valaki leírta, hogy a Home billentyű kódból történő nyomogatásával oldotta meg ezt a kérdést.
Értelemszerűen nem elegáns, de más (hivatalos) módszerről nem tudok – azzal együtt, hogy ilyesmire még sosem volt szükségem.
Akkor marad a kézi lapozás, mert a programozott home is csak az aktuális idősíkot frissíti.
Ehhez kapcsolódó kérdésem, hogy az egyik brókernél az M15 síkon csak másfél hónapot, a H1 síkon csak nyolc hónapot tudtam visszalapozni, míg M30 esetén 41 hónapot. Ez is bróker függő?Az alábbi nem kérdés, csak indok, hogy mire kellenek az alacsonyabb idősíkok adatai.
Olyan elemzést akarok egy megadott időszakról, amiben az újabb áradatokat kisebb felbontásban vizsgálom, függetlenül attól, hogy a charton melyik idősík van beállítva. Most a visszalapozásokkal ezek a gyertya adatok állnak rendelkezésre:
M1 66642 (2015.11.13)
M5 66877 (2015.03.28)
M15 3296 (2016.01.05)
M30 42789 (2012.09.04)
H1 3785 (2015.07.11)
H4 8043 (2010.12.16)
D1 3903 (2001.02.28)Ha utolsó 12 hónapot akarom elemezni:
M30 (2015.02.19 – 2015.03.28) = 37 nap
M5 (2015.03.28 – 2015.12.01) = 248 nap
M1 (2015.12.01 – 2015.02.19) = 80 napIgen, tapasztalatom szerint brókerfüggő az hogy mennyi adat áll rendelkezésre. Általában minél kisebb idősíkon vagyunk, annál rövidebb időszak áll rendelkezésre.
Hello mpeter!
Az EA-mnak induláskor M30, H1, és D1 adatokra lenne szüksége amihez iOpen() fügvénnyel próbáltam hozzáférni.
Ráadásul a kért adatok feldolgázása után osztani szerettem volna vele és csak pislogtam, hogy a hónapok óta jól működő expertem egy ‘új’ instrumentum chartjara helyezve „Zero divide error”-al kiakad. Váááááá!Hova megy ilyenkor az egyszerű halandó? Hát a radu.hu fórumába, természetesen. ;)
Szóval bekukkantottam ide Radu-hoz, és látom nem vagyok egyedül a problémával.Viszont a jó hír az (bár még nem próbáltam ki csak most tanulmányozom a témát), hogy a megújult MQL4ben már van CopyRates() függvény, amivel – ha jól értem – lelehet kérni a historikus adatokat a feldolgozás előtt. Sőt azt is meg lehet adni, hogy hány gyertyára van szükség. (Egy szűkebb erőforrású VPS-n pl. jól jöhet)
Üdv.
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.