A gráf nyilak eltávolítása - mql4 programozási nyelv

Lehetséges, és egy forgatókönyv. Személy szerint ezt úgy teszem meg, hogy a jobb egérgombbal kattintok a grafikonon, és kiválasztom az "objektumok listáját" elemet. Ezután a Ctrl + A billentyűkombináció megnyomásával kiemelnem mindent, és nyomjuk meg a törlés gombot
15 másodpercet vesz igénybe)))))

Persze, akkor is kézzel, ha nincs olyan sok objektum. Egyébként célszerűbb az objektumok listáját a Ctrl + B kombinációval hívni. De a személy eredetileg kéri, hogy ne kézzel. És vannak ilyen szkriptek / mutatók, hogy ezrek többször felveszik a menetrendet. Tehát "a katona keze fáradt lesz a szúrásban".

Tisztelt Uram! # 33;
Köszönjük a választ.

Kedves WTrader # 33; Ha ez nem túl bonyolult, kérjük, magyarázzon el egy kicsit. Csatolok egy screenshotot. Megmutatja, hogy sok nyíllal rendelkezik a megrendelések megnyitásával és bezárásával (a nyilakat azért helyezzük el, mert a szín a OrderSend és a OrderClose parancsokban van megadva). A megrendelések minden megnyitását és lezárását csak egy tanácsadó végzi. A probléma az, hogy csak azok a nyilak, amelyek megfelelnek a még lezárt megbízásoknak, a diagramon maradnak. amikor megnyílt a rend, a nyíl megjelent, és amikor bezárt, eltűnt. (Hogy győződjön meg róla, hogy a záró nyilak nem tűnnek nekem, egyértelmű: távolítsa el a "Color" paramétert a OrderClose-ban.)). Ie A grafikon bármely pontján csak olyan nyilakat kell nyilakkal ellátni, amelyek még nem zárultak le.

A gráf nyilak eltávolítása - mql4 programozási nyelv

Elhaladóan megengedem magamnak egy másik kérdést. Amint azt a képernyőképen láthatja, kényelmes számomra az "Order", "Time", "Type", stb. nem szabványos szélességűek voltak. Van valami mód arra, hogy a terminál emlékezzen erre? Mostantól minden alkalommal, amikor a terminál elindul, az oszlophatárokat kézzel kell a kívánt pozícióba állítani.

Tisztelt Uram! # 33;
Köszönjük a választ.

Kedves WTrader # 33; Ha ez nem túl bonyolult, kérjük, magyarázzon el egy kicsit. Csatolok egy screenshotot. Megmutatja, hogy sok nyíllal rendelkezik a megrendelések megnyitásával és bezárásával (a nyilakat azért helyezzük el, mert a szín a OrderSend és a OrderClose parancsokban van megadva). A megrendelések minden megnyitását és lezárását csak egy tanácsadó végzi. A probléma az, hogy csak azok a nyilak, amelyek megfelelnek a még lezárt megbízásoknak, a diagramon maradnak. amikor megnyílt a rend, a nyíl megjelent, és amikor bezárt, eltűnt. (Hogy győződjön meg róla, hogy a záró nyilak nem tűnnek nekem, egyértelmű: távolítsa el a "Color" paramétert a OrderClose-ban.)). Ie A grafikon bármely pontján csak olyan nyilakat kell nyilakkal ellátni, amelyek még nem zárultak le.

A gráf nyilak eltávolítása - mql4 programozási nyelv

Elhaladóan megengedem magamnak egy másik kérdést. Mint látható a képernyőképen, célszerű számomra az "Order", "Time", "Type", stb. nem szabványos szélességűek voltak. Van valami mód arra, hogy a terminál emlékezzen erre? Mostantól minden alkalommal, amikor a terminál elindul, az oszlophatárokat kézzel kell a kívánt pozícióba állítani.


Nézd meg ezeket az egerek nevét, és töröld a neveket, miután lezártad a rendelést név szerint. Ez egy olyan probléma, amelyet nem értek, miután lezárta a rendelést, keresse meg a nyilat és törölje. És miért vonzanak még akkor is, ha a sorrendet, és így van a táblán. Rajzoljak csak arra, hogy lássák, hol vannak a megrendelések, és ahol a jelenlegiek láthatók.


A probléma az, hogy csak azok a nyilak, amelyek megfelelnek a még lezárt megbízásoknak, a diagramon maradnak. amikor megnyílt a rend, a nyíl megjelent, és amikor bezárt, eltűnt. (Hogy győződjön meg róla, hogy a záró nyilak nem tűnnek nekem, egyértelmű: távolítsa el a "Color" paramétert a OrderClose-ban.)). Ie A grafikon bármely pontján csak olyan nyilakat kell nyilakkal ellátni, amelyek még nem zárultak le.
(Kép)


Nincs semmi több unalmas, mint más emberek kódjának megértése. Különösen, ha nincs leírás. A tanácsadó fejlesztőjének foglalkoznia kell. Gyanítom, hogy a tanácsadót semmiért veszik valahol. Ennek megfelelően, bármilyen támogatás nélkül. Nem ismert, hogy a nyilak rendelésekhez vannak kötve. Ezt másképp lehet tenni. A probléma megoldása már felhangzott. Ha a lövölde olyan sok, akkor egy hurok kerül megrendezésre, hogy ellenőrizze a megrendelések elérhetőségét.

Elhaladóan megengedem magamnak egy másik kérdést. Mint látható a képernyőképen, célszerű számomra az "Order", "Time", "Type", stb. nem szabványos szélességűek voltak. Van valami mód arra, hogy a terminál emlékezzen erre? Mostantól minden alkalommal, amikor a terminál elindul, az oszlophatárokat kézzel kell a kívánt pozícióba állítani.


Kattintson a Latin A gombra az automatikus oszlopkiosztás törléséhez.

Tisztelt Uram! # 33;
Köszönjük a választ.

Nem ismert, hogy a nyilak rendelésekhez vannak kötve.

a nyilakat azért helyezték el, mert a szín a OrderSend és a OrderClose sorrendben van megadva

A probléma megoldása már felhangzott.

Nem értettem. De egyszer keményen kifejtettem, kétségtelenül kitalálom magam.
(Megjegyzés: a tanácsadó nem "valahonnan vett", hanem én írtam.) Egyszerű, de az szükséges.

Kattintson a Latin A gombra az automatikus oszlopkiosztás törléséhez.

Mivel az oszlopok határai a szokásos pozíciójukhoz képest elmozdulnak, azt feltételezhetjük, hogy az automatikus jelölést már törölték.
A probléma az, hogy

Mostantól minden alkalommal, amikor a terminál elindul, az oszlophatárokat kézzel kell a kívánt pozícióba állítani.

Más szóval, az oszlophatárokat az általam kedvelt irányba tolom el, de amikor legközelebb elkezdik a terminált, akkor ismét a normál pozícióba kerülnek, és újra kell mozgatni őket. Természetesen nem tragikus, de idegesítő. Ezért kérdeztem, hogy rögzíthetők-e, így amikor elindítják a terminált, abban a helyzetben vannak, amelyben telepítettem őket.

A terminálomban az oszlopok szélessége minden egyes új kezdettel nem lesz lecsökkentve, ha manuálisan van beállítva.
És a nyílnak még van neve, ahol feltétlenül egy egyedi szám van. Ezen a számon és szűrőn.
Körülbelül így kell kiderülnie:

void deinit ()
a (int cnt = value_min; cnt<=value_max; cnt++)
ha (ObjectType ("Arrow" + cnt) = 22) // győződjön meg róla, hogy az objektum nyíl: 22 - OBJ_ARROW
ObjectDelete ("nyíl" + cnt);
>
>

Eltávolítja az összes objektumot a grafikonon, beilleszt egy jelzőt a kódba.