Forex programozás › Fórum › Kérdések az MQL4 programozási nyelvvel kapcsolatban › Grafikus objektum
-
SzerzőBejegyzés
-
Sziasztok,
Szeretnék segítséget kérni grafikus objektum elhelyezéséről.
Némi segítséget és támpontot jelentene, ha a tesztek során egyes gyertyákat meg tudnék jelölni (pl. egy zászlóval vagy nyíllal). Jelen esetben a trend változását leprogramoztam és ki is tudom írni az irányt a jobb felső sarokba a „ObjectCreate(„Text1″,OBJ_LABEL,0,0,0);” függvénnyel, de a változás helyét már nem tudom megjelölni. A „ObjectCreate(„T1″,SYMBOL_ARROWUP,0,0,0);”-al próbálkoztam többek között de soha semmi sem jelent meg a teszt során.
Jól sejtem, hogy ha sikerül kirajzolni akkor az nem fog mozogni majd a grafikonnal?Köszönöm a segítséget.
GáborMeg kell adnod a koordinátákat!
Az OBJ_LABEL típus szövegcímke, a koordinátáit pixel alapon kell megadnod – ő a chart huzigálásakor egy helyben fog maradni (mindig látható).
Az OBJ_TEXT típus szöveg, a koordinátáit idő+ár alapon kell megadnod – ő a chart huzigálásakor mindig ragaszkodik a saját pozíciójához, vagyis együtt gördül majd a charttal.
Az OBJ_ARROW típus a nyíl, amelynek ugyanúgy kell a koordinátáit megadnod, mint az OBJ_TEXT típusnak: egy ár, és egy idő kell hozzá ami már meghatározza a helyét a koordináta-rendszerben.
A teljesség igénye nélkül egy kis segítség a nyílhoz, amely az 5. lezárt gyertya záróárához kerül kirajzolásra:
string arrowString = "nyilacska"; int arrowTime = Time[5], arrowSize = 1; double arrowPrice = Close[5]; color arrowColor = Red; ObjectCreate(arrowString, OBJ_ARROW, 0, arrowTime, arrowPrice); ObjectSet(arrowString, OBJPROP_ARROWCODE, arrowCode); ObjectSet(arrowString, OBJPROP_COLOR, arrowColor); ObjectSet(arrowString, OBJPROP_WIDTH, arrowSize);
Tehát először egy OBJ_ARROW objektumot hozol létre, aztán állítod be a nyíl típusát és egyéb paramétereit. Ha később mozgatni kell az objektumot, használd az ObjectMove függvényt, vagy az ObjectSet(arrowString, OBJ_PRICE1, x); és ObjectSet(arrowString, OBJ_TIME1, y); megoldást, ahol x az új ár és y az új idő.
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.