Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 5001
Beiträge: 43367
Benutzer: 7.258
Aktive Benutzer: 52
Links: 84
Wir begrüßen unseren neuesten Benutzer: dannyfeiert
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- dannyfeier...
vor 5 Tagen
- Robin97
vor einer Woche
- qwertzgeor...
vor 2 Wochen
- TauriMK2
vor 2 Wochen
- Der_Schlei...

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 66
Gesamt: 66
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 2 Wochen
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 613
AVT befindet sich auf einem aufstrebenden Ast
Standard CHARTEVENT_OBJECT_CLICK Objekt nicht erkannt

Ich habe ein Problem in OnChartEvent mit dem CHARTEVENT_OBJECT_CLICK.

Es gibt (im Subwindow) insgesamt 13 Symbol Buttons, deren Namen setzt sich so zusammen:
indName="xRSI";
PFX=indName+"_"+IntegerToString(SubWin);
1. Button z.B. PFX+"but.dax"
2. Button z.B. PFX+"but.ibx"
Aufgelöst ergibt das xRSI_1but.dax xRSI_1but.ibx
Alle Button Namen sind in einem Array gespeichert string sNamButt[13];
Diese kann ich mir in einem Loop auch alle korrekt anzeigen lassen.

Im OnChartEvent sollen die Linien der Symbole auf Knopfdruck versteckt werden.
Dummerweise erkennt der Indikator den Knopfdruck bei den Symbol Buttons nicht.
Ich habe zuerst einen Loop versucht - negativ.
Danach habe ich den 1. Button direkt benannt (also den Dax Knopf) - negativ.

Jetzt bin ich ratlos, woran das liegen könnte.
Wenn jemand mal drüber schauen könnte, wäre ich ich für Ideen dankbar.

Als Beispiel die Show Funktion (Hide umgedreht):
Code:
// ====================================
// === Indexnummern sind dieselben wie in den Arrays
bool ShowIndexLine(int ArrNumber=-1)
{
   bSymVis[ArrNumber]=true;
   SetIndexStyle(ArrNumber,DRAW_LINE,STYLEDIS,WIDTHDIS, cSymCol[ArrNumber]);
   return(true);
}
(Ich lasse beide Versuchsteile mal unkommentiert)
Code:
void OnChartEvent(const int id, const long &lparam,
                  const double &dparam, const string &sparam )
{
   // ==============================  letter
   if(id==CHARTEVENT_KEYDOWN)
   {
      // ==> funktioniert
      if(lparam==StringGetCharacter(LETTERSHOW,0)) { DoHiding=-1; } //NoHiding
      if(lparam==StringGetCharacter(LETTERHIDE,0)) { DoHiding= 1; } //DoHide
      Print(__FUNCTION__," letter ",lparam," was pressed. DoHiding=",(int)DoHiding);
   }
   // ==============================  buttons
   if(id==CHARTEVENT_OBJECT_CLICK)
   {
      // ==> funktioniert NICHT
      for(int n=0; n<iNoOfSym; n++)                                  //iNoOfSym=13
      {
         if( sparam==sNamButt[n] )
         {
            Print(__FUNCTION__," Button ",sparam," was pressed");    //<== kein Print
            if(DoHiding==-1)                                         //NoHiding
            {
               if(ShowIndexLine(n))
               {
                  ObjectSetInteger(0,sparam,OBJPROP_STATE,false);
                  Print(__FUNCTION__," Sym vis=",(bool)bSymVis[n]); //SetIn ShowIndexLine
                  break;
               }
            }//NoHiding
            else if(DoHiding== 1)                                    //HideIndex
            {
               if(HideIndexLine(n))
               {
                  ObjectSetInteger(0,sparam,OBJPROP_STATE,true);
                  Print(__FUNCTION__," Sym vis=",(bool)bSymVis[n]); //SetIn HideIndexLine
                  break;
               }
            }//HideIndex
         }//AnIndexButton
      }
      
      // ==> funktioniert
      if(sparam==ButtonName)                                         // Save button
      {
         Print(__FUNCTION__," Button ",sparam," was pressed");
         if( SaveConfigToFile() )
         { 
              ChangeButton(0);                                       //->ToUnpressed
              ReInit();
         }
         else ChangeButton(1);                                       //SomeError->ToPressed
      }
      // ======================================================================
      // ==> funktioniert NICHT
      else if( sparam==PFX+"but.dax" )
      {
         Print(__FUNCTION__," Button ",sparam," was pressed");       //<== kein Print
         if(DoHiding==-1)                                            //NoHiding
         {
            if(ShowIndexLine(0))
            {
               ChangeIndexButton(sparam,0);                          //Unpressed
               Print(__FUNCTION__," Sym vis=",(bool)bSymVis[0]);     //SetIn ShowIndexLine
            }
         }//NoHiding
         else if(DoHiding== 1)                                       //HideIndex
         {
            if(HideIndexLine(0))
            {
               ChangeIndexButton(sparam,1);                          //Pressed
               Print(__FUNCTION__," Sym vis=",(bool)bSymVis[0]);     //SetIn HideIndexLine
            }
         }//HideIndex
      }//AnIndexButton
}
Danke, AVT
Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2025 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------