Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 02.11.16
Kronenchakra Kronenchakra ist offline
Gesperrter Benutzer
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 313
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard Code Snippets - Ein Eventhandler für alle Fälle (=Events)

Ereignisse (Events) sind in MQL5 ein wichtiges Thema.
Um es Einsteigern zu erleichtern diese Ereignisse zu behandeln, hier ein Beispiel.

Zuerst eine allgemeine Testfunktion:
Code:
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
   switch((int)id)
     {
      case  CHARTEVENT_KEYDOWN       : {Print("CHARTEVENT_KEYDOWN"          ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_MOUSE_MOVE    : {Print("CHARTEVENT_MOUSE_MOVE"       ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_OBJECT_CREATE : {Print("CHARTEVENT_OBJECT_CREATE"    ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_OBJECT_CHANGE : {Print("CHARTEVENT_OBJECT_CHANGE"    ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_OBJECT_DELETE : {Print("CHARTEVENT_OBJECT_DELETE"    ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_CLICK         : {Print("CHARTEVENT_CLICK"            ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_OBJECT_CLICK  : {Print("CHARTEVENT_OBJECT_CLICK"     ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_OBJECT_DRAG   : {Print("CHARTEVENT_OBJECT_DRAG"      ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_OBJECT_ENDEDIT: {Print("CHARTEVENT_OBJECT_ENDEDIT"   ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      case  CHARTEVENT_CHART_CHANGE  : {Print("CHARTEVENT_CHART_CHANGE"     ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
      default                        : {Print("CHARTEVENT_CUSTOM"           ,"  id:",id,"  lparam:",lparam,"  dparam:",dparam,"  sparam:",sparam);} break;
     }     
}
Zur Erinnerung: die Print()-Funktion gibt am Panel Werkzeuge->Experten aus
Muss man auch erst draufkommen

Jetzt der Code zum Verwenden:
Code:
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
   switch((int)id)
     {
      case  CHARTEVENT_KEYDOWN :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_MOUSE_MOVE :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_OBJECT_CREATE :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_OBJECT_CHANGE :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_OBJECT_DELETE :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_CLICK :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_OBJECT_CLICK :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_OBJECT_DRAG :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_OBJECT_ENDEDIT :
            {
               // put your code here or delet this section
            } break;
      case  CHARTEVENT_CHART_CHANGE :
      default :
            {
               // put your code here or delet this section
            } break;
     }
}
Viel Erfolg damit