Home Systeemhandel Bericht

Test ChartEvent voor MetaTrader 4: Een Handleiding voor Traders

Bijlage
17875.zip (4.97 KB, Downloaden 2 keer)

De "Test_ChartEvent.mq4" Expert Advisor is een voorbeeld dat de verschillende soorten ChartEvent laat zien: toetsenbordgebeurtenissen, muisklik- en bewegingsevents, en aangepaste events. Druk op de 'H'-toets voor hulp en de 'M'-toets om de MOUSE_MOVE eventmodus in te schakelen.

De broncode werkt zowel in MetaTrader 4 als in MetaTrader 5.


Functie Prototype

  • bool Obj_Create()
  • bool Obj_Delete()
  • bool Obj_Move(int hSens,int vSens) - verplaatst een object.
  • void Print_Info() - drukt informatie over de objecten af.
  • int MouseMove(int aXX,int aYY,string sState) - behandelt de muisbewegingsevent.


Globale Variabelen

  • int gChartNo=0
  • int gSubWinNo=0
  • string gsObj_Name_selected="" - de naam van het momenteel geselecteerde object.


Aangepaste Events

Er zijn drie soorten aangepaste events gedefinieerd:

  • #define cMyEvent_1 0
  • #define cMyEvent_2 1
  • #define cMyEvent_3_broadcast 2


OnTimer() Functie

Deze functie creëert periodiek de aangepaste ChartEvent. De functie genereert willekeurig deze drie aangepaste events (cMyEvent_1, cMyEvent_2 en cMyEvent_3_broadcast). Met name het cMyEvent_3_broadcast event wordt gegenereerd voor alle open grafieken.


Voorbeeld van een klasse

De klasse CObjectMan is gemaakt om de functionaliteit voor objecten op een grafiek te beheren. Er zijn twee instanties (variabelen) van de klasse gedeclareerd: gObjectMan1 en gObjectMan2.

De namen van de Grafische Objecten die aan deze twee instanties zijn gekoppeld zijn respectievelijk: "Groene Knop" en "gele Knop".


Eventverwerking

void OnChartEvent():

De "CHARTEVENT_KEYDOWN" events:

  1. 4 richtingspijlen (pijltjes) of de 4 richtingspijlen op het digitale paneel om het geselecteerde object te verplaatsen.
  2. 'H': druk de hulpinformatie af (in het logvenster van de expert).
  3. 'I': druk de positie-informatie van twee objecten af.
  4. 'M': activeer de MOUSE_MOVE event.


Aangepaste Events

Print informatie over deze events. Vooral voor het MyEvent_3_broadcast event.


Object Events

  • CHARTEVENT_OBJECT_CHANGE, CHARTEVENT_OBJECT_DRAG, CHARTEVENT_OBJECT_DELETE - print de naam van het bijbehorende object.
  • CHARTEVENT_OBJECT_CLICK - print de naam van het aangeklikte object, selecteer de naam om te verplaatsen met de richtingspijlen.


Muis Events

  • CHARTEVENT_CLICK - print de informatie van de aangeklikte balk: de prijzen (open, close) en de tijd van de balk.
  • CHARTEVENT_MOUSE_MOVE (zie: CHART_EVENT_MOUSE_MOVE) - print de informatie van het afgedekte interval: aantal balken, prijsvariatie.

ChartEvent Test Voorbeeld


Demonstatie

Je kunt de volgende tests uitvoeren:

  • Klik op een van de twee objecten (knoppen) om deze te selecteren en gebruik de pijltjestoetsen om het geselecteerde object te verplaatsen.
  • Klik op de grafiekbalk en zie de informatie van de balk in het logtabblad (bericht).
  • Druk op de 'M'-toets om de MOUSE_MOVE eventmodus in te schakelen. Druk op Ctrl+F om de kruislijn weer te geven en voer een sleep- en neerlaatactie uit. Als je het logbericht niet ziet, wijzig dan de invoerparameter: "iLogLevel".

Gerelateerde berichten

Reactie (0)