Hozzászólások
-
SzerzőBejegyzés
-
Hozzászólás: Adatok letöltése Dukascopy oldaláról – hogyan? #1849
Valami tényleg nem kerek.
A birt’s patch a 409-es verzióig működik jól, az összes ennél nagyobb build verzióhoz tudomásom szerint nem jó. A modelling quality mindenképp 99%-nak kell hogy legyen, minden más érték helytelen működésre utal. Ha dobsz egy e-mailt, küldök linket 409-es terminállal.
Az fxt-k mérete teljesen ugyanaz egyébként, függetlenül attól hogy milyen idősíkhoz generáltad őket.
Hozzászólás: bróker stop #1843Így van, pontosan. Végignézed az order history-t, és a nyitóidőpont-nyitóár metszetéhez raksz egy nyilat (1-es nyílkód), aztán a záróidőpont-záróár metszetéhez is (3-as nyílkód), és a végén egy trendvonalat a két pont közé. Az objektumokat úgy nevezd el, hogy a ticket számmal egyértelműen azonosíthatóak legyenek. A létrehozás előtt ugyanis ellenőriznek kell, hogy az adott objektumok léteznek-e, hogy próbálj meg rajzolni újra feleslegesen.
Hozzászólás: MT4 a Windows 8 – ban #1842Remek, akkor létrehoztam egy cikket a GYIK-ben is.
Hozzászólás: MT4 a Windows 8 – ban #1834A Windows7/Vista problémák alapján a leginkább javasolt ötletem az, hogy a Program Files (x86) könyvtáron kívül telepítsd a MT4 termináljaidat, tehát pl. létrehozol valamelyik (pl. C:\) meghajtódon egy „Terminálok” mappát, és oda szórod be a termináljaidat.
Erre a Windows virtualizáció funkciója miatt van szükség, amit a fejlesztők segítségnek szántak, azonban a legtöbbször ilyen és ehhez hasonló problémákat okoz.
Lásd a kapcsolódó GYIK bejegyzésben: itt
„Fontos megjegyzés Windows Vista és 7 felhasználóknak: amennyiben itt nem látunk semmit, az nem jelenti azt a könyvtár üres. Csak a Microsoft egy haszontalan funkciója miatt egy másik könyvtárba gyűlnek fájljaink. A Windows intézőben (az ablak, amelyben épp matatnánk) keressük meg a felső eszköztáron a Kompatibilitási fájlok (Compatibility Files) gombot. Bökjünk rá, és máris megjelennek az elveszettnek hitt fájlok.”Ha visszaigazolod, hogy ez megoldotta a problémád akkor kiírom a Windows 8-cat is, és létrehozok egy külön bejegyzést a virtualizáció kapcsán azoknak, akik esetleg a jövőben ilyen problémát tapasztalnak.
Igen, az iCustom függvényt kell használnod. Azonban a HighMapBuffer és LowMapBuffer -nek semmi köze ehhez a lekérdezéshez, hiszen ezek az indikátor kódjában lévő tömbök. Az expertedben ezekre semmi szükség nincsen.
Az iCustom utolsó paramétere azt adja meg, hogy hányadik gyertyához tartozó indikátori értéket szeretnéd lekérdezni, míg az utolsó előtti azt hogy melyik bufferből. A ZigZag indikátornak egy darab buffere van, így az utolsó előtti szám mindig nulla legyen (nullától indul az indexelés).
Az utolsó szám esetében pedig a nulla az éppen aktuális, mozgó gyertyát jelöli (azaz az érték változhat), az 1-es az első lezárt gyertyát, a 2-es a másodikat, stb.
A csúcs-völgy megállapításhoz egy ciklusban kell lekérdezned az értékeket:
1) megkeresed az első olyan adatpontot, amelyik már lezárt gyertyához tartozik (vagyis a múltban nem fog már módosulni – vigyázz, mert neked a második adatpont kell a múltban!)
2) ezt az adatpontot elrakod (mondjuk egy tömbbe), és az előtte lévőt is kikeresed. Ha az előtte lévő nagyobb mint ő, akkor visszafelé az első kialakult adatpont egy völgy, míg az előtte lévő egy csúcs, és így tovább. A példánál maradva az éppen mozgó adatpontunk lehet a 2. lezárt gyertyához tartozó is, aztán hirtelen módosul és a nulladik gyertyához fog tartozni csak éppen lejjebb / feljebbA fentiek megoldása során el lehet szöszmötölni, de alapvetően szerintem így érdemes elkezdeni vele foglalkozni.
Hozzászólás: bróker stop #1829A brókeri zárásnak számos előnye van: 99%-ban teljesül, nem feltétlen kell hozzá a robotnak folyamatosan futnia, és pontos lesz a zárás. Hátrányok: jobban kell alkalmazkodni a piaci szabályokhoz, illetve a bróker „látja” azt a kilépési árat, ahol a pozíciódat szeretnéd zárni. Ez utóbbi miatt fennáll a manipuláció veszélye – persze ECN számlán talán ez kevésbé igaz.
A backtesztben és a valós idejű tesztelés során is a MT4-ben alapból látszik a TP/SL szint. Amennyiben nálad valósidejű tesztelés során nem látszik, akkor az Eszközök->Beállítások->Chartok panelen a „Kereskedési szintek megjelenítése” legyen bepipálva!
Amennyiben ennél jobban szeretnéd láthatóvá tenni a zárási szinteket, akkor a pozíció(k) SL/TP szintjeihez rajzolj horizontális vonalat!
Hozzászólás: ObjectCreate #1820Az ObjectDelete deinit-ben teljesen jó megoldás. Az idősíkváltásnál a törlés elkerülésére az UninitializeReason() függvény lehet a segítségedre, amely alapján lekérdezhető hogy a legutóbbi init-deinit oka mi volt pontosan.
Annyit csinálj meg, hogy a függvény visszatérési értékét megnézed;ha az értéke eltér a REASON_CHARTCHANGE -től, akkor mehet a törlés.
Az objektumrajzolásra érdemes saját függvényt létrehozni, amely megfelelően paraméterezve a későbbi fejlesztéseidet egyszerűsíti le.
Hozzászólás: Robotok optimalizálása DAX-ra #1811Első körben javaslom olvasd el ezt a cikkemet, melyben a pip-point-ticksize összefüggéseiről van szó.
Programozási szempontból rengeteg dologra kell figyelni, de a dolog kulcsa hogy mindig a brókertől lekérdezett, aktuális infók alapján közelítsd meg a távolságmérést. A MarketInfo-ból a legkisebb elmozdulás (MODE_POINT), illetve a tick méret (MODE_TICKSIZE) legyen a kiindulópont.
Ha ezeket lekérdezted, akkor már teljesen tiszta hogy mivel kell szoroznod az esetlegesen külső változókból bekért SL/TP távolságokat. Arra azért még figyelned kell, hogy a freeze szint (MODE_FREEZELEVEL) és a stop szint (MODE_STOPLEVEL) értéke mi, és ha túl kevés a külső változóban megadott érték, javítsd ezek alapján.
Tehát az alap képlet: 10 „pip” (DAX-nál inkább pont) távolság: 10 * Point
Ezután a kapott számot oszd el a MODE_TICKSIZE értékével – ha nulla a maradék, akkor az értéked használható. Ha nem, akkor a maradékot vond ki/add hozzá az értékhez, és akkor szabályos piaci árértéket fogsz kapni.3 és 5 tizedesjegynél annyi plusz dolog jön be a képbe, hogy a kényelmi szempontokat figyelembe véve 10-zel kell szorozni a külső változókban megadott SL/TP értékeket. Ezt ugyan nem mindenki igényli, de szerintem így kényelmesebb az emberek nagy többségének.
Tehát ott 10 pip távolság = 10 * Point * 10. 10 pip távolság 100 pontnak felel meg.
A leírást én is angolról (próbálom) fordítani, többé-kevésbé jó lesz remélhetőleg és segít valamelyest:)
A leírásban low-okat keresünk, a highoknál természetesen ugyanez van csak fordítva.
Amennyiben a legutolsó ZZ pont völgy: az ExtDepth paraméterben megadott darabszámú gyertya közül keressük folyamatosan az új Low értéket. Ha új low értéket találunk, akkor az aktuális völgy erre módosul. Az új High (csúcs) értéket csak akkor jelöljük meg, ha legalább ExtDepth -nyi gyertya eltelt, vagy legalább ExtDeviation-nyi visszaütés történik.
Az ExtBackStep lényegére még nekem sem sikerült teljesen rájönnöm – az angol leírással SEM :)
Hibásan adtad meg a stoploss-t és a takeprofitot. Nagy valószínűséggel ECN számlád van, ami azt jelenti hogy csak a pozíció megszületése után lehet beállítani SL és TP értéket. (Ez kézi nyitásra is igaz; nézd meg a kereskedési panelt, és ha le van szürkítve az SL/TP mező, akkor ez a gond).
A pozi megnyílása után az OrderModify() függvénnyel módosíthatod az sl/tp értékeket.
Hozzászólás: Adatok letöltése Dukascopy oldaláról – hogyan? #1723Használd inkább a Java-s megoldást, az stabilabb!
Hozzászólás: Költői kérdés #1721Ezt olvasd el!
Hozzászólás: Adatok letöltése Dukascopy oldaláról – hogyan? #1719Szia Gábor!
Hogyan töltötted le az adatokat? Weben? Javas klienssel?
A CSV-t mivel nyitod meg ? (Ha Excellel, akkor figyelned kell arra hogy a szeparátort mire állítod, mert egyébként valóban soronként egy cellába helyezi az adatokat)
A CSV méretét leírom a cikkekben (több száz megabyte, több gigabyte) szóval valami biztosan nem okés.
Hozzászólás: Range chart vs. Renko chart #1718Örülök, hogy segíthettem a bloggal! Határozottan jó ilyen beszámolókat olvasni:)
A Renko chart gyertyái távolságalapú gyertyák, ahol Te adod meg az adott távolságot, és gyertya csak akkor fejeződik be ha az árfolyam túllépte ezt a távolságot valamely irányba. Nincsenek high/low értékek (illetve vannak, csak az open-close értékkel megegyezőek). A Renko generáló expertet ismerem – ha a RenkoLiveChart-ról van szó.
A Renko gyertyákat japán kereskedők találták több száz évvel ezelőtt, a japán renga (tégla) szó alapján.
A Range gyertya ezzel szemben relatíve friss találmány, 1993-ban találta ki egy brazil kereskedő, Vicente M. Nicolellis.
A méret itt is ugyanúgy fix, csakhogy itt a high-low közötti méretre utal. A nyitóár mindig az előző gyertya close ára alatt/felett van egy ponttal. Egy gyertya addig nem fejeződik be, ameddig a kívánt high-low közötti méret nincs meg.Range bar skalpolási stratégiák kapcsán nem tudok segíteni (szerintem sima gyertyára valóval sem…). Pláne, hogy mindenki számára mást jelent(het) a skalpolás fogalma.
-
SzerzőBejegyzés