MQL4 Chart Event Types
Overview
OnChartEvent() function is the primary handler for all chart events.EventChartCustom() function.Predefined Event Types and IDs
CHARTEVENT_KEYDOWN: Keystrokes.CHARTEVENT_MOUSE_MOVE: Mouse movement and clicks (requires CHART_EVENT_MOUSE_MOVE property set to true).CHARTEVENT_OBJECT_CREATE: Graphical object creation (requires CHART_EVENT_OBJECT_CREATE property set to true).CHARTEVENT_OBJECT_CHANGE: Graphical object property change via its properties dialog.CHARTEVENT_OBJECT_DELETE: Graphical object deletion (requires CHART_EVENT_OBJECT_DELETE property set to true).CHARTEVENT_CLICK: Clicking on the chart area.CHARTEVENT_OBJECT_CLICK: Clicking on a graphical object.CHARTEVENT_OBJECT_DRAG: Dragging and dropping a graphical object.CHARTEVENT_OBJECT_ENDEDIT: End of text editing in a graphical object's edit field.CHARTEVENT_CHART_CHANGE: Chart size change or modification of chart properties through the Properties dialog.CHARTEVENT_CUSTOM: Base ID for custom events.CHARTEVENT_CUSTOM_LAST: Last ID for custom events.OnChartEvent() Function Parameters
| Event Type | id Parameter Value | lparam Parameter Value | dparam Parameter Value | sparam Parameter Value |
|---------------------|----------------------|--------------------------|--------------------------|--------------------------------------------------------------|
| Keystroke | CHARTEVENT_KEYDOWN | Key code | Repeat count | Bitmask of keyboard button status |
| Mouse Move/Click | CHARTEVENT_MOUSE_MOVE | X coordinate | Y coordinate | Bitmask of mouse/keyboard button status |
| Object Create | CHARTEVENT_OBJECT_CREATE | - | - | Name of the created graphical object |
| Object Change | CHARTEVENT_OBJECT_CHANGE | - | - | Name of the modified graphical object |
| Object Delete | CHARTEVENT_OBJECT_DELETE | - | - | Name of the deleted graphical object |
| Chart Click | CHARTEVENT_CLICK | X coordinate | Y coordinate | - |
| Object Click | CHARTEVENT_OBJECT_CLICK | X coordinate | Y coordinate | Name of the graphical object clicked |
| Object Drag | CHARTEVENT_OBJECT_DRAG | - | - | Name of the moved graphical object |
| Object End Edit | CHARTEVENT_OBJECT_ENDEDIT | - | - | Name of the LabelEdit object |
| Chart Change | CHARTEVENT_CHART_CHANGE | - | - | - |
| Custom Event (N) | CHARTEVENT_CUSTOM+N | Value from EventChartCustom() | Value from EventChartCustom() | Value from EventChartCustom() |
Mouse/Keyboard State Bitmask (sparam for CHARTEVENT_MOUSE_MOVE)
| Bit | Description | |-----|-----------------------------| | 1 | Left mouse button state | | 2 | Right mouse button state | | 4 | SHIFT key state | | 8 | CTRL key state | | 16 | Middle mouse button state | | 32 | First extra mouse button | | 64 | Second extra mouse button |
Configuration
CHARTEVENT_MOUSE_MOVE, use ChartSetInteger(ChartID(), CHART_EVENT_MOUSE_MOVE, true);.CHARTEVENT_OBJECT_CREATE, use ChartSetInteger(ChartID(), CHART_EVENT_OBJECT_CREATE, true);.CHARTEVENT_OBJECT_DELETE, use ChartSetInteger(ChartID(), CHART_EVENT_OBJECT_DELETE, true);.Related Functions
OnChartEvent()EventChartCustom()ChartSetInteger()Constants
CHARTEVENT_KEYDOWNCHARTEVENT_MOUSE_MOVECHARTEVENT_OBJECT_CREATECHARTEVENT_OBJECT_CHANGECHARTEVENT_OBJECT_DELETECHARTEVENT_CLICKCHARTEVENT_OBJECT_CLICKCHARTEVENT_OBJECT_DRAGCHARTEVENT_OBJECT_ENDEDITCHARTEVENT_CHART_CHANGECHARTEVENT_CUSTOMCHARTEVENT_CUSTOM_LASTCHART_EVENT_MOUSE_MOVECHART_EVENT_OBJECT_CREATECHART_EVENT_OBJECT_DELETE