# OBJ_EVENT Event object. ![Note](pics/objevent.png) Note When hovering mouse over the event, its text appears. Example The following script creates and moves Event object on the chart. Special functions have been developed to create and change graphical object's properties. You can use these functions "as is" in your own applications. ``` //--- description #property description "Script draws \"Event\" graphical object." #property description "Anchor point date is set in percentage of" #property description "the chart window width in bars." //--- display window of the input parameters during the script's launch #property script_show_inputs //--- input parameters of the script input string          InpName="Event";    // Event name input int             InpDate=25;         // Event date, % input string          InpText="Text";     // Event text input color           InpColor=clrRed;    // Event color input int             InpWidth=1;         // Point size when highlighted input bool            InpBack=false;      // Background event input bool            InpSelection=false; // Highlight to move input bool            InpHidden=true;     // Hidden in the object list input long            InpZOrder=0;        // Priority for mouse click //+------------------------------------------------------------------+ //| Create Event object on the chart                                 | //+------------------------------------------------------------------+ bool EventCreate(const long            chart_ID=0,      // chart's ID                  const string          name="Event",    // event name                  const int             sub_window=0,    // subwindow index                  const string          text="Text",     // event text                  datetime              time=0,          // time                  const color           clr=clrRed,      // color                  const int             width=1,         // point width when highlighted                  const bool            back=false,      // in the background                  const bool            selection=false, // highlight to move                  const bool            hidden=true,     // hidden in the object list                  const long            z_order=0)       // priority for mouse click   { //--- if time is not set, create the object on the last bar    if(!time)       time=TimeCurrent(); //--- reset the error value    ResetLastError(); //--- create Event object    if(!ObjectCreate(chart_ID,name,OBJ_EVENT,sub_window,time,0))      {       Print(__FUNCTION__,             ": failed to create \"Event\" object! Error code = ",GetLastError());       return(false);      } //--- set event text    ObjectSetString(chart_ID,name,OBJPROP_TEXT,text); //--- set color    ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); //--- set anchor point width if the object is highlighted    ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width); //--- display in the foreground (false) or background (true)    ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); //--- enable (true) or disable (false) the mode of moving event by mouse    ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);    ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); //--- hide (true) or display (false) graphical object name in the object list    ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); //--- set the priority for receiving the event of a mouse click in the chart    ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- successful execution    return(true);   } //+------------------------------------------------------------------+ //| Change Event object text                                         | //+------------------------------------------------------------------+ bool EventTextChange(const long   chart_ID=0,   // chart's ID                      const string name="Event", // event name                      const string text="Text")  // text   { //--- reset the error value    ResetLastError(); //--- change object text    if(!ObjectSetString(chart_ID,name,OBJPROP_TEXT,text))      {       Print(__FUNCTION__,             ": failed to change the text! Error code = ",GetLastError());       return(false);      } //--- successful execution    return(true);   } //+------------------------------------------------------------------+ //| Move Event object                                                | //+------------------------------------------------------------------+ bool EventMove(const long   chart_ID=0,   // chart's ID                const string name="Event", // event name                datetime     time=0)       // time   { //--- if time is not set, move event to the last bar    if(!time)       time=TimeCurrent(); //--- reset the error value    ResetLastError(); //--- move the object    if(!ObjectMove(chart_ID,name,0,time,0))      {       Print(__FUNCTION__,             ": failed to move \"Event\" object! Error code = ",GetLastError());       return(false);      } //--- successful execution    return(true);   } //+------------------------------------------------------------------+ //| Delete Event object                                              | //+------------------------------------------------------------------+ bool EventDelete(const long   chart_ID=0,   // chart's ID                  const string name="Event") // event name   { //--- reset the error value    ResetLastError(); //--- delete the object    if(!ObjectDelete(chart_ID,name))      {       Print(__FUNCTION__,             ": failed to delete \"Event\" object! Error code = ",GetLastError());       return(false);      } //--- successful execution    return(true);   } //+------------------------------------------------------------------+ //| Script program start function                                    | //+------------------------------------------------------------------+ void OnStart()   { //--- check correctness of the input parameters    if(InpDate<0 || InpDate>100)      {       Print("Error! Incorrect values of input parameters!");       return;      } //--- number of visible bars in the chart window    int bars=(int)ChartGetInteger(0,CHART_VISIBLE_BARS); //--- array for storing the date values to be used //--- for setting and changing Event object anchor point's coordinates    datetime date[]; //--- memory allocation    ArrayResize(date,bars); //--- fill the array of dates    ResetLastError();    if(CopyTime(Symbol(),Period(),0,bars,date)==-1)      {       Print("Failed to copy time values! Error code = ",GetLastError());       return;      } //--- define the points to create an object    int d=InpDate*(bars-1)/100; //--- create Event object    if(!EventCreate(0,InpName,0,InpText,date[d],InpColor,InpWidth,       InpBack,InpSelection,InpHidden,InpZOrder))      {       return;      } //--- redraw the chart and wait for 1 second    ChartRedraw();    Sleep(1000); //--- now, move the object //--- loop counter    int h_steps=bars/2; //--- move the object    for(int i=0;i