|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Button Reaktion bei mehreren Indikatoren
Ich habe ein Problem mit der Reaktion auf Knopfdruck, wenn ich mehrere Indikatoren (-Knöpfe) auf einem Chart habe. Die Knöpfe der Indikatoren sind alle nebeneinander links unten positioniert (siehe Bild).
vorher festgelegt sind für alle Indikatoren identisch - string LETTERSHOW="S", LETTERHIDE="H"; - int DoHiding=0; Jeder einzelne Indikator definiert seinen Knopf fest, so: Code:
// ======================= Button von Indikator 1 #define ButtonText "Vpta" //TextOnButton #define ButtonName "VALpta" //NameOfButtonObject // ======================= Button von Indikator 2 #define ButtonText "Bdfb" //TextOnButton #define ButtonName "BNDdfibo" //NameOfButtonObject Code:
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam ) { // ============================== letter if(id==CHARTEVENT_KEYDOWN) { if (lparam==StringGetCharacter(LETTERSHOW,0)) { DoHiding=-1; } //NoHiding else if(lparam==StringGetCharacter(LETTERHIDE,0)) { DoHiding= 1; } //DoHide else DoHiding=0; //Nothing } // ============================== button if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam==ButtonName) { if (DoHiding==-1) { ReInit(); ChangeButton(0); //IsPressed->ToUnpressed DoHiding=0; //ResetToNeutral } else if(DoHiding== 1) { ObjectsDeleteAll(ChartID(), PFX); ChangeButton(1); //IsNotPressed->ToPressed DoHiding=0; //ResetToNeutral } else if( DoHiding==0 && SaveConfigToFile() ) { ReInit(); } } } } Meine Terminal -Extras - Optionen - Objekte - Empfindlichkeit habe ich schon auf 2 Pixel runtergesetzt. Dennoch passiert folgendes: wenn ich auf einen Knopf drücke, um den Indikator z.B. zu verstecken, wird nicht nur dieser Indikator versteckt, sondern willkürlich irgendein weiterer Indikator auch. Im Code kann ich keinen Fehler finden - wenn ich zuerst ein "H" sende, das für alle Indikatoren gleich ist: durch #define sind die Knöpfe eindeutig voneinander zu unterscheiden und es sollte nur derjenige Indikator reagieren, dessen Knopf anschließend gedrückt wird; es gibt auch nirgends irgendeine Fehlermeldung. Hat jemand eine Idee, woran das liegen könnte? AVT |
|
|||
Fehler gefunden
War mal wieder mein Fehler, hatte beim Kopieren teilweise den
Code:
if(sparam==ButtonName) AVT |
|
|||
Zitat:
AVT |
|
|||
Also, ich habe nun schon zahlreiche Dashboards mit unzähligen Buttons, Eingabefeldern etc. programmiert und alles lief wie geschmiert. Keine Beeinflussung gegenseitig, korrekte Ausführungsweisen - funktioniert!
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|