Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 5 > Programmierung MQL5 > Codeschnipsel

Codeschnipsel Codeschnipsel für MQL5.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3359
Beiträge: 33848
Benutzer: 5.342
Aktive Benutzer: 599
Links: 79
Wir begrüßen unseren neuesten Benutzer: maxi
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 5 Stunden
- maxi
vor 20 Stunden
- athaclena
vor einem Tag
- Naale
vor einem Tag
- csabi911
vor einem Tag
- Adlerflüge...

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 35
Gesamt: 38
Team: 0
Team:  
Benutzer:  fxnoob, Naale, SentiTrader
Freunde anzeigen

Empfehlungen

Werbung

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 4 Wochen
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 110
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
Mit Zitat antworten
  #2 (permalink)  
Alt vor 4 Wochen
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 110
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard Da hat leider der Fehlerteufel zugeschlagen

Hier die korrigierte Version, ohne Kommentare.
Code:
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
   switch((int)id)
     {
      case  CHARTEVENT_KEYDOWN :
            {
            } break;
      case  CHARTEVENT_MOUSE_MOVE :
            {
            } break;
      case  CHARTEVENT_OBJECT_CREATE :
            {
            } break;
      case  CHARTEVENT_OBJECT_CHANGE :
            {
            } break;
      case  CHARTEVENT_OBJECT_DELETE :
            {
            } break;
      case  CHARTEVENT_CLICK :
            {
            } break;
      case  CHARTEVENT_OBJECT_CLICK :
            {
            } break;
      case  CHARTEVENT_OBJECT_DRAG :
            {
            } break;
      case  CHARTEVENT_OBJECT_ENDEDIT :
            {
            } break;
      case  CHARTEVENT_CHART_CHANGE :
            {
            } break;
      default :
            {
            } break;
     }
}
Hat wohl noch niemand brauchen können
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
codeschnipsel, codeschnipsel mql5, eventhandler, programmierung, programmierung metatrader


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 15:15 Uhr.



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