Hozzászólások
-
SzerzőBejegyzés
-
Hozzászólás: WebRequest #5589
Elkapkodtam a kérdést, a WebRequest() dokumentációja elég jó.
Azt kell tudni, hogy GET metódus esetén az URL-ben, POST esetén „HTTP message body”-ban küldjük az adatokat.Hozzászólás: WebRequest #5581Megoldva, tárgytalan.
ÜdvHozzászólás: Zavaró riszatás minden ticknél. #4820Szia,
Írd át úgy, hogy csak akkor riasszon, ha:
1./ i=0
2./ az adott gyertyában még nem volt riasztás
(Máskor úgy rakj be kódot, hogy használod az MQL4 kód beillesztése funkciót. Úgy jobban áttekinthető.)Hozzászólás: Connection #4808A kód biztosan jó (ezt azért merem állítani, mert napokig is tud futni hibátlanul, mígnem az említett problémák jelentkeznek).
Szerintem
ad 1: átmeneti szerverfagyás (a lokális idő pörög, mert azt a program a gépemről olvassa, nem a szerverről)
ad 2: erre nem tudok rájönni, de el tudom képzelni, hogy az MT4 memória-kezelése a hunyó, maga a program fagy le időlegesenHozzászólás: Connection #4806Természetesen tudom, melyik mire való. Nem zárt piacról beszélek, ott nyilván nem változik a szerveridő.
Bizony mindkét verziót tapasztaltam, nem is egyszer. Tehát:
1./ A lokális idő szépen pereg, de a szerveridő áll (a Market Watch sem frissül)
2./ Mind a lokális, mind a szerveridő áll, majd x idő múlva (akár percek is) magukra találnak, és peregnek tovább
A frissítési idő 100-500 msec közötti. A gépem elég izmos, nem hiszem, hogy ott lenne a gubanc.
Az nyilvánvaló számomra, hogy a connection-nel van probléma, de nem igazán értem, miből fakadhat a különbség az 1. és 2. verzió között?Hozzászólás: Univerzális képlet #4785Köszönöm. Kár ezért a kuszaságért, szerintem ezeket a dolgokat standardizálhatták volna.
Jelenleg azt látom a legjobb megoldásnak, ha forex-párokra automatizálom, egyebekre pedig adok egy user inputot, hogy írja be a user maga a „korrekciós faktort”. Nem túl elegáns, de ezekszerint nincs jobb.Hozzászólás: Univerzális képlet #4782Köszönöm, kipróbáltam.
A DAX-on tényleg 1-et adott, ez nagyon jó, de sajnos a forex párokon 10-szeres értéket ad.
Pl. EURUSD-nél 3-at adott, holott a valós 0.3 volt.Hozzászólás: OrderSelect #4780A kérés egyértelműen OrderClose. Sosem hallottam még ilyet, hogy egy egyszer lefuttatott ciklus a zárásra ilyen errort adott volna. Csak arra tudok gondolni, hogy a broki szervere tetű lassú.
Hozzászólás: Univerzális képlet #4779Huhh, elolvastam, itt egy picit bevittél a málnásba, nem értem pontosan, amit írsz.
Pl. nálam a DAX nem 1056.0, hanem 10560.00 (nem 4 hanem 5 jegyű, és 2 digites).
Az osztó/szorzó szerintem játék a szavakkal, attól függ, hogy felfelé (10,100,1000 ..) vagy lefelé (0.1,0.01,0.001 ..) nézzük.
Szóval igazából úgy kérdezném, tudsz-e konkrét KÉPLETET, ami brókerfüggetlenül helyes DAX spread-pipértéket ad?
Pl. nálam ezdouble Spread=MarketInfo(Symbol(),MODE_SPREAD);
a DAX-ra 100-at ad. Ebben az esetben én ezt ugye 100-al osztanám, hogy az általam reálisnak vélt 1-es spread-et kapjam. De ugyanaz a képlet, ami nálam 1-et ad, másnál 0.1-et adott. Ezt kéne rendbetenni, ha lehet egyáltalán.
Hozzászólás: Univerzális képlet #4778Most fogom átolvasni amit írtál, addig is bemásolom, amit használok:
dig=(int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS); switch(dig) { case 1: {Divider=100.0;} break; case 2: { if(StringFind(Chart_Symbol,"GER")>-1 || StringFind(Chart_Symbol,"DE30")>-1 || StringFind(Chart_Symbol,"US30")>-1 || StringFind(Chart_Symbol,"US500")>-1 || StringFind(Chart_Symbol,"USTEC")>-1 || StringFind(Chart_Symbol,"HK50")>-1 || StringFind(Chart_Symbol,"UK100")>-1 || StringFind(Chart_Symbol,"STOXX50")>-1 || StringFind(Chart_Symbol,"JP225")>-1) { Divider=100.0; } else if(StringFind(Chart_Symbol,"XAU")>-1 || StringFind(Chart_Symbol,"GOLD")>-1) { Divider=10.0; } else { Divider=1.0; } } break; case 3: { Divider=10.0;} break; case 4: { Divider=1.0;} break; case 5: { Divider=10.0;} }
Ezt kéne univerzálissá tenni, hogy ne legyen ilyen barkács.
Mod: Chart_Symbol helyére természetesen Symbol()-t érts (elfelejtettem átírni, de nem lényeges).Hozzászólás: Historikus tick adatok #4776Igen, gyakorlatilag biztos voltam benne, de azért rákérdeztem, hátha van valami okosság, amiről nem tudok.
Hozzászólás: OrderSelect #4774Azonban, ha már itt tartunk, lenne még egy kérdésem: szerinted mi okozhatja, hogy egy CloseAll során (sima ciklus, a megfelelő order kiválasztása és zárása) a progi ERR_TOO_FREQUENT_REQUESTS errort dob? Én nem tudtam ezt reprodukálni, nálam mindig hibátlanul zárt, de egy fickó ilyen visszajelzést adott.
Hozzászólás: OrderSelect #4773A cikkeidet el fogom olvasni.
Atombiztos zárórutinom van (ez alapján írtam, kissé módosítva), de a FIFO-ra ugyen nem jó. Átírtam két ciklusosra, így már jó.Hozzászólás: Univerzális képlet #4769Nem, sajna így sem jó. Ennél összetettebb ez a probléma. Ennek, amit írtál, az eredménye pl. EURUSD esetén 0.00003.
Pipben akarom megkapni a spread-et egy olyan képlettel, ami minden instrumentre, minden körülmények között helyes eredményt ad. Jelenleg bróker-specifikus barkácsmegoldásaim vannak.Forex párok esetén ez viszonylag könnyű, megnézem hány digites, és van-e benne JPY. Ez alapján el tudom dönteni, hogy mennyi a Divider. De egyéb instrumenteknél ez már gázos.
Hozzászólás: OrderSelect #4765A többszáz kötés elvi lehetőség, de reális (már ahol a broki engedi).
Az egészet a FIFO miatt vetettem fel. Sosem használtam OrderTicket alapú szelektálást, mindig pozíció alapján dolgoztam, de most felmerült egy (számomra) új szempont a zárásokat illetően. Eddig CloseAll esetén fordított sorrendben zártam az ordereket, mert ugye így biztonságos. De most felmerült, hogy a FIFO-ra is figyelnem kell, így átírtam az egészet aszerint, ahogy az előző posztomban írtam. Így már a második ciklusban biztonságosan tudom zárni az ordereket. -
SzerzőBejegyzés