Hozzászólások
-
SzerzőBejegyzés
-
Mindig akkora tömböket használj, amekkora épp szükséges. Felesleges memóriát pazarolni 100 000 elemre, ha csak 10-et fogsz használni.
Függvényt átadni így tudsz:
double bla[]; Fuggveny(bla); void Fuggveny (double arr[]) { Print("Tömb elemeinek száma = ", ArraySize(arr)); }
Ha szeretnéd a tömbön belül módosítani a tömböt, akkor pedig a & jelet használd:
double bla[]; Fuggveny(bla); void Fuggveny (double &arr[]) { Print("Tömb elemeinek száma = ", ArraySize(arr)); ArrayResize(arr, 19); Print("Tömb elemeinek száma az átméretezés után = ", ArraySize(arr)); }
Fontos, hogy az új MQL4-ben kizárólag a & jeles változatot tudod használni (ha lefelejted, szól a compiler)
Én írtam magamnak átméretező, hozzáadó, törlő függvényt minden fontosabb típushoz (double, int, string, stb.)
Hozzászólás: Lebegő ablak #3620Köszönöm, örülök ha tetszik a munkásságom!
Megoldható a dolog. A „régi” MQL4 környezetben én ezzel csináltam hasonlót: mt4gui.
Az új MQL4 változatban még nem nem néztem utána, hogy megoldható-e natívan, de szerintem nem.
Hozzászólás: Megbizás nyitása, probléma. #3607Soha ne a példakód instrumentum elnevezését használd, mindig nézd meg a brókered hogyan nevezi az adott instrumentumot, vagy használd az univerzális Symbol() függvényt!
Hozzászólás: Megbizás nyitása, probléma. #3605Az instrumentum neve biztosan EURUSD? Nem lehet, hogy van pre/postfix?
Egyébként valóban érdemes a Symbol() -t használni a konformitás miatt.
A paramétereknél jónak tűnik minden. Nézd meg visual tesztben, hogy valóban úgy ugrik-e az ár, mint ahogy a napló ablakában látod. Illetve, egy másik módszer: nyisd meg jobb klikk > Megnyitás paranccsal a logs mappát, és nyisd meg a logfájlt. Néha a kronológia szarul jelenik meg a napló ablakban (értsd: ömlesztve).
Hozzászólás: Nyilak törlése #3582A pozíciónyitó eljárásnál eleve ne adj meg színt, hogy ne történjen nyílrajzolás. Ha mégis kirajzol, akkor pedig a pozíció adatai alapján létre tudod hozni az összes objektumnevet, amit ki kell törölnöd.
Például (backtesztben): #4 sell 0.05 EURUSD at 1.3164
Arra figyelj, hogy a lotméret mindig kettő tizedesre legyen kerekítve, az ár pedig annyi tizedesjegyre, ahány az adott instrumentum esetében szükséges.
Ha nem akarsz válogatni, és nincsen más nyíl amit fent kéne hagyni a charton, akkor használhatod ezt a parancsot:
ObjectsDeleteAll(0, OBJ_ARROW);
Hozzászólás: Fájlba írás #3577Igen, kernel32-vel meg tudod oldani a kérdést, hogy bármilyen fájlt olvashass a rendszeren belül.
Fentebb írtam, hogy a visszaperjeles megoldás kizárólag a Files mappán belül fog működni.
Hozzászólás: Fájlba írás #3574Nem, kizárólag a Files mappán belül tudsz dolgozni a natív függvényekkel.
Továbbá figyelj arra, hogy perjelek helyett visszaper jelet használj az elérési út megadásakor!
Hozzászólás: MQL Indikátor programozási probléma #3571Az EMPTY_VALUE használatát javaslom, ezt próbálgasd. Ez azt jelenti, hogy ha nem „összekötögetős” vonaltípust választasz, akkor lehetnek üres szakaszok.
Hozzászólás: MQL Indikátor programozási probléma #3569Amennyiben puffert töltesz fel, akkor valóban nehézkes a további feltételek bevonása utólag. Ezért előre, már a kalkuláció folyamán el kell tudnod dönteni, hogy milyen adatokkal töltöd fel az egyes puffereket és ezáltal milyen vonalkirajzolások fognak történni.
Ha feltöltöd, és utána akarod módosítani, akkor annak újrarajzolás (repainting) lesz a vége. A ZigZag mondjuk az utolsó adatpontját rendszeresen változtatja, de korábbi pontokat nem érdemes módosítani, mert akkor egyes chart frissítések alkalmával az egész indikátori jelzésrendszered módosulni fog.
Tehát egy szónak is száz a vége, a pipes távolság ellenőrzéseket a pufferek feltöltése előtt kell elvégezned.
Az első, template-s kérdésed kapcsán.
A genetikus algoritmussal kapcsolatban ezt a kérdést passzolom, az tény, hogy valóban sokkal lassúbb ha ki van véve az opció.
Hozz létre egy sablont, amin a megfelelő beállítások (szín, zoom szint, stb.) van. Mentsd el olyan néven, ami az experté. Tehát ha „robot.ex4” a robotod, akkor „robot.tpl” legyen a sablon neve. A kiterjesztéseket nem kell megadnod a mentési ablakban. Kis- és nagybetű nem számít.
Ha helyesen csináltad, akkor a következő vizuális teszt indításnál az MT4 berántja a hasonló nevű sablont, így nem kell kézzel ráhelyezni.
Ha default néven hozol létre sablont, akkor az pedig a új chart alapértelmezett sablonja lesz.
-
SzerzőBejegyzés