Wer kann helfen?!

 

Hallo zusammen,

ich hoffe jem kann mir weiterhelfen. Ich versuche gerade mir ein eigenes FIBO - Tool  zu erstellen, ähnlich wie bei beim MT5 den Motivewellen, nur eben mit werten etc. 

Das mache ich übern MT4 mit Trendlinien und OBJ_Arrow ( eventuell vllt auch Labels, leg mich da noch ned ganz fest). Wie das aussieht seht ihr in meinem Anhang.

Mein Problem:

 

Ich möchte gerne, dass wenn ich einen Zwischenpunkt anklicke, sich das komplette Gerüst bewegt wird und nicht nur ein Teil davon. 

Wie stelle ich das an?? mit OBJ_MOVE kann man eben nur teile bewegen und das zeitversetzt, ich möchte aber dass die objekte sich so verhalten, als obs Sie eines wären und dementsprechend auch

bewegen lassen ohne eine Zeitversetzung.  Ich hoffe ich hab mich verständlich ausgedrückt. 

 

Bin in programmieren eher Anfänger, bin kein Informatiker aber komm schon ganz gut zurecht mit MQL4 , idR findet man über die Docs auch ne Lösung, aber im MOment weiß ich leider ned weiter, ich hoffe jem kann mir helfen

 

LG Hansie 

Dateien:
 

Ich habe es noch nicht gemacht, aber evtl. ein paar Anregungen:

Vergib für jedes Objekt ein Namensmuster mit <objekt_bezeichnung>und <objekt_nummer>, wobei objekt_nummer aufsteigen ist vom ersten angelegten Objekt bis zum letzten angelegten Objekt.

Also z.B. FIBO_1,FIBO_2  usw. bis FIBO_n. Klickst Du nun auf ein Objekt, so wird der Name in objekt_bezeichnung und objekt_nummer aufgetrennt und mit ObjectFind über alle möglichen Objekt von 1 bis n iteriert bis ein negativer Rückgabewert kommt. Jeder Treffer wird mit ObjectMove verschoben. Evtl. muss man mit ObjectType zwischen Linie und Arrow/Label für den i point_index,   // anchor point unterscheiden.

Statt einem teil bewgt man so alle durch das Namensmuster verbundenen Teile.

Wenn man mehrere Motivewellen auf dem Chart benötigt wird die objekt_bezeichnung komplexer...

LG Uwe


 
Uwe Goetzke:

Ich habe es noch nicht gemacht, aber evtl. ein paar Anregungen:

Vergib für jedes Objekt ein Namensmuster mit <objekt_bezeichnung>und <objekt_nummer>, wobei objekt_nummer aufsteigen ist vom ersten angelegten Objekt bis zum letzten angelegten Objekt.

Also z.B. FIBO_1,FIBO_2  usw. bis FIBO_n. Klickst Du nun auf ein Objekt, so wird der Name in objekt_bezeichnung und objekt_nummer aufgetrennt und mit ObjectFind über alle möglichen Objekt von 1 bis n iteriert bis ein negativer Rückgabewert kommt. Jeder Treffer wird mit ObjectMove verschoben. Evtl. muss man mit ObjectType zwischen Linie und Arrow/Label für den i point_index,   // anchor point unterscheiden.

Statt einem teil bewgt man so alle durch das Namensmuster verbundenen Teile.

Wenn man mehrere Motivewellen auf dem Chart benötigt wird die objekt_bezeichnung komplexer...

LG Uwe


Hey Uwe,

 

vielen Dank für deine Antwort, hatte schon befürchtet das sich niemand mehr meldet zu meinem Beitrag :o).

Zur Übersicht geb ich dir recht mit der Namensgebung. Das hatte ich auch eingehalten. Klasse ist auch die Funktion "Suchen/Ersetzen",

wenn man mehrere Objekte der gleichen Art erstellt. Ich mach mir dann immer eine Gerüst und ersetzte die Namen mit "Standart". 

Bei über 20 Objekten erspart das wirklich enorme Zeit.  Mit ObjectMove werden die Objekte  auch versetzt, damit hab ich kein Problem, eben nur nicht "sofort" sondern erst wenn ich die Linke Maustaste loslasse.

Da beginnt nämlich mein Dilemma . MOUSE_CLICK,OBJECKT_CLICK und OBJECT_DRAG werden erst nach dem loslassen der linken Maustaste ausgewertet.

Davor passiert nix und somit können die Object auch nicht in REALTIME bewegt werden. Hab in den Docs was gelesen über die STATE_MOUSE_ID versuch grad darüber was zusammen zu basten.

Anders weiß ich leider grad ned weiter, bin über jeden Tipp dankbar. 

 

LG Hansie 

Dateien:
Beispiel1.png  66 kb
Grund der Beschwerde: