Please Help me for create a simple field

 
Hello. I have been reading dozens of articles for three days, but reading those articles just gave me a headache. I just want to do something simple. Create a simple field on the chart where the user enters a value as a string and then I can enter that value into the variable. Please, without referring to the articles, just give me the codes of how to create a simple field in which the user can write a text (string) and also how to read its information. You can understand my meaning better in the picture below. I want to create a field like this image that when the user writes "My name is Farhad" I can enter it into a variable. I spent several days reading the articles but the issue was confusing to me.
Please give me both the codes for creating the field and the codes for pouring the value entered by the user into the string variable.
 

Unfortunately is not so easy because the MQL language is not geared towards creating user-interfaces.

The graphical objects that can be used are very primitive, and includes OBJ_EDIT, which is very limited in functionality.

However, there is functionality in the Standard Library that does allow you to create Panels and Dialogs, that offers the CEdit control which has more sophisticated functionality.

 

It is all dependent on your level, this is simple to understand.

string edit = "Fahrad";                // Name of Edit
string val;                            // Value entered

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(!ObjectCreate(0, edit, OBJ_EDIT, 0, 0, 0))
      Print("Error creating Edit, Error:", _LastError);
   int width = 150,
       height = 20;
   string text = "Enter your text here";
   ObjectSetInteger(0, edit, OBJPROP_XDISTANCE, 20);
   ObjectSetInteger(0, edit, OBJPROP_YDISTANCE, 20);
   ObjectSetInteger(0, edit, OBJPROP_ANCHOR, ANCHOR_LEFT);
   ObjectSetInteger(0, edit,OBJPROP_ALIGN, ALIGN_CENTER); 
   ObjectSetInteger(0, edit, OBJPROP_XSIZE, width);
   ObjectSetInteger(0, edit, OBJPROP_YSIZE, height);
   ObjectSetString(0, edit, OBJPROP_TEXT, text);
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ObjectDelete(0, edit);
  }

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam==edit)
     {
      val = ObjectGetString(0, edit, OBJPROP_TEXT);
      Print("The Text Entered>> ", val);
     }
  }