Hi zusammen,
ich habe ein kleines Problem, welches ich nicht gelöst bekomme.
Ich habe ein Trading-Panel, wo ich per Klick auf einen Button bspw. ein Long oder Short Trade auslösen kann.
Die Buttons sind von der Klasse CButton die wiederum in einem CAppDialog drin sind.
Nun ist es so, wenn ich auf den Chart klicke und die Maus gedrückt halte, kann ich ja den Chart nach Links oder Rechts bewegen, also horizontal um andere Zeiten im Chart anzuschauen. Dabei bewegt sich natürlich auch die Maus ... und da ist nun das Problem, wenn ich mit der Maus beim hin und her schieben des Charts, ... den Mausklick genau über einem Button wieder loslasse wird der Button getriggert und im dümmsten Fall ein Long oder Short Trade eröffnet...obwohl der Mausklick nicht auf einem Button gestartet wurde. Versteht man was ich meine? :-)
So sieht mein Event-Handler aus:
Ich dachte eigentlich, dass CHARTEVENT_OBJECT_CLICK nur auf meinen Objekten gefeuert wird...aber scheinbar reicht das nicht aus. Weiss jemand wie ich das lösen kann, dass wenn ich den Mausklick außerhalb meines CAppDialoges halte und innerhalb des CAppDialoges wieder loslasse, hier nichts getriggert wird? Genauso etwas unschön ist es auch, dass wenn ich den Klick im CAppDialog beginne und halte....und die Maus hin und her bewege sich auch im Hintergrund das Chartbild links und rechts hin und her bewegen kann.... Also irgendwie möchte ich einfach meine Panel/Dialog-Events vom Chart-Event trennen, ... wenn das überhaupt geht :-) .
Vielen Dank im Voraus!
Kannst Du nicht das Verschieben so definieren, dass neben der Maustaste auch die Shift-Taste gedrückt sein muss für ein Verschieben, um so Optik und handel voneinander deutlich zu trennen?
Hi,
also ich habe das Problem so gelöst.
if (ObjectGetInteger(0,"BT_BuyMarket",OBJPROP_STATE))// Abfrage, ob gedrückt { PlaySound("tick.wav");Trade_Grund = "Buy"; OrderLot = TLots; MARKET_BUY(); ObjectSetInteger(0,"BT_BuyMarket",OBJPROP_STATE,false); // Button zurücksetzen }
Bei dieser Variante fragst du den Buttonstatus ab und setzt ihn nach Abschluss der Aktion wieder zurück.
Gruß Uwe
Hi zusammen,
ich habe ein kleines Problem, welches ich nicht gelöst bekomme.
Ich habe ein Trading-Panel, wo ich per Klick auf einen Button bspw. ein Long oder Short Trade auslösen kann.
Die Buttons sind von der Klasse CButton die wiederum in einem CAppDialog drin sind.
Nun ist es so, wenn ich auf den Chart klicke und die Maus gedrückt halte, kann ich ja den Chart nach Links oder Rechts bewegen, also horizontal um andere Zeiten im Chart anzuschauen. Dabei bewegt sich natürlich auch die Maus ... und da ist nun das Problem, wenn ich mit der Maus beim hin und her schieben des Charts, ... den Mausklick genau über einem Button wieder loslasse wird der Button getriggert und im dümmsten Fall ein Long oder Short Trade eröffnet...obwohl der Mausklick nicht auf einem Button gestartet wurde. Versteht man was ich meine? :-)
So sieht mein Event-Handler aus:
Ich dachte eigentlich, dass CHARTEVENT_OBJECT_CLICK nur auf meinen Objekten gefeuert wird...aber scheinbar reicht das nicht aus. Weiss jemand wie ich das lösen kann, dass wenn ich den Mausklick außerhalb meines CAppDialoges halte und innerhalb des CAppDialoges wieder loslasse, hier nichts getriggert wird? Genauso etwas unschön ist es auch, dass wenn ich den Klick im CAppDialog beginne und halte....und die Maus hin und her bewege sich auch im Hintergrund das Chartbild links und rechts hin und her bewegen kann.... Also irgendwie möchte ich einfach meine Panel/Dialog-Events vom Chart-Event trennen, ... wenn das überhaupt geht :-) .
Vielen Dank im Voraus!
Ich glaube das gibt es schon:
https://www.mql5.com/de/articles/7892
https://www.mql5.com/de/articles/7981
![Schnelle Werkzeuge für den manuellen Handel: Grundlegende Funktionsweise Schnelle Werkzeuge für den manuellen Handel: Grundlegende Funktionsweise](https://c.mql5.com/36/53/schnelle-werkzeuge-f-r-den-manuellen.jpg)
- www.mql5.com
Nein, ich glaube nicht. Er wurde gesperrt, aber ich weiß nicht warum und von wem. Es könnte sein, dass ausschlaggebend ein Post war, den er 5 oder 6 Mal abgeschickt hat, weil der Server nicht sofort reagiert hat und daher könnte ihn 'das System' als Spammer klassifizieren und hat ihn gesperrt.
Hi zusammen,
war nun doch über Weihnachten und Neujahr sehr inaktiv :-) .
Mir ist heute noch eine Lösung gekommen.
Was ich nun mache ist, ... ich prüfe den "sParam=1" im onChartEvent() ob die Maus gedrückt ist und nehme davon einmalig die X-Y Koordinaten, damit ich weiss an welcher Stelle die Maus gedrückt wurde.
Diese Prüfe ich nun, ob diese in meinem CAppDialog liegen, falls ja habe ich eine Variable die ich auf true setze und erlaube somit die Funktionen CHARTEVENT_OBJECT_CLICK meines Trading-Panels, wenn die Maus wieder losgelassen wird.
Sobald die Maus auch wieder losgelassen wird, setze ich die Variable am Ende der onChartEvent() Methode wieder auf false.
Das funktioniert echt super....ob es die beste Lösung ist,....keine Ahnung :-)
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hi zusammen,
ich habe ein kleines Problem, welches ich nicht gelöst bekomme.
Ich habe ein Trading-Panel, wo ich per Klick auf einen Button bspw. ein Long oder Short Trade auslösen kann.
Die Buttons sind von der Klasse CButton die wiederum in einem CAppDialog drin sind.
Nun ist es so, wenn ich auf den Chart klicke und die Maus gedrückt halte, kann ich ja den Chart nach Links oder Rechts bewegen, also horizontal um andere Zeiten im Chart anzuschauen. Dabei bewegt sich natürlich auch die Maus ... und da ist nun das Problem, wenn ich mit der Maus beim hin und her schieben des Charts, ... den Mausklick genau über einem Button wieder loslasse wird der Button getriggert und im dümmsten Fall ein Long oder Short Trade eröffnet...obwohl der Mausklick nicht auf einem Button gestartet wurde. Versteht man was ich meine? :-)
So sieht mein Event-Handler aus:
Ich dachte eigentlich, dass CHARTEVENT_OBJECT_CLICK nur auf meinen Objekten gefeuert wird...aber scheinbar reicht das nicht aus. Weiss jemand wie ich das lösen kann, dass wenn ich den Mausklick außerhalb meines CAppDialoges halte und innerhalb des CAppDialoges wieder loslasse, hier nichts getriggert wird? Genauso etwas unschön ist es auch, dass wenn ich den Klick im CAppDialog beginne und halte....und die Maus hin und her bewege sich auch im Hintergrund das Chartbild links und rechts hin und her bewegen kann.... Also irgendwie möchte ich einfach meine Panel/Dialog-Events vom Chart-Event trennen, ... wenn das überhaupt geht :-) .
Vielen Dank im Voraus!