Checkbox

 

Хочу сделать индикатор, в котором будет текст в виде чекбокса. При клике на текст его цвет меняется, и сохраняется при переключении ТФ. Для этого хотел записывать переменную в файл, но при клике на текст переменная не сохраняется.

int OnInit()
  {
   int handle_read;
   handle_read=FileOpen("checkbox_color.txt",FILE_READ|FILE_WRITE|FILE_TXT,';');
   string checkbox_color=FileReadString(handle_read);

   ObjectCreate("checkbox",OBJ_LABEL,0,0,0,0,0);
   ObjectSet("checkbox",OBJPROP_CORNER,0);
   ObjectSet("checkbox",OBJPROP_XDISTANCE,100);
   ObjectSet("checkbox",OBJPROP_YDISTANCE,100);
   ObjectSetText("checkbox","Checkbox_text",20,"Arial",checkbox_color);

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   return(rates_total);
  }
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {

   if(id==CHARTEVENT_OBJECT_CLICK)
     {
      if(sparam=="checkbox")
        {
         int handle_write;
         handle_write=FileOpen("checkbox_color.txt",FILE_READ|FILE_WRITE|FILE_TXT,';');
         if(handle_write>0)
           {
            FileWrite(handle_write,0x008000); // Зеленый цвет
            FileClose(handle_write);
           }
        }
     }

  }
//+------------------------------------------------------------------+

   

 
Влад:

Хочу сделать индикатор, в котором будет текст в виде чекбокса. При клике на текст его цвет меняется, и сохраняется при переключении ТФ. Для этого хотел записывать переменную в файл, но при клике на текст переменная не сохраняется.

   

Тема решена. Использовал:

handle_write=FileOpen("checkbox_color.txt",FILE_READ|FILE_WRITE|FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_TXT,';');
handle_read=FileOpen("checkbox_color.txt",FILE_READ|FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_TXT,';');
Причина обращения: