GetSetObjects

Miscellaneous
Uses files from the file systemIt writes information to fileIt plays sound alertsIt opens Message Boxes to the userIt issuies visual alerts to the screenIt reads information from a file
0 Views
0 Downloads
0 Favorites
GetSetObjects
ÿþ#property script_show_inputs

#include <WinUser32.mqh> // @54C?@5645=85 >1 C40;5=88

#property strict

//+------------------------------------------------------------------+

enum MODE

  {

   A=0,     // Obtain data

   B=1,     // Set the objects

  };

//+------------------------------------------------------------------+

input MODE Mode=A;

input bool DeleteObjects=true;

//+------------------------------------------------------------------+

bool Warning = true;        // @54C?@5640BL >1 C40;5=88 >1J5:B>2

//+------------------------------------------------------------------+

string imya,text,adres;

int handle,TYP;

//+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+

void OnStart()

  {

   adres="GetSetObjects\\"+Symbol()+".txt";

   if(Mode){ObjSet();}else {ObjGet();}

  }

//+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+

void ObjGet()

  {

//+-----------------------------------------------------------------------------------------------+

   FileDelete(adres,FILE_COMMON);

   handle=FileOpen(adres,FILE_WRITE|FILE_COMMON);

//+-----------------------------------------------------------------------------------------------+

   for(int obj=ObjectsTotal(); obj>=0; obj--)

     {

      imya=ObjectName(0,obj);

      if(StringLen(imya)<1){continue;}

      //+-----------------------------------------------------------------------------------------------+ V.LINE

      if(ObjectGetInteger(0,imya,OBJPROP_TYPE)==OBJ_VLINE)

        {

         //+------------------------------------------------------------------------------------------+

         FileWrite(handle,"TYP"+(string)ObjectGetInteger(0,imya,OBJPROP_TYPE));

         FileWrite(handle,imya);

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_WIDTH));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_STYLE));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIMEFRAMES));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_COLOR));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIME));

         continue;

         //+------------------------------------------------------------------------------------------+

        }

      //+-----------------------------------------------------------------------------------------------+ H.LINE

      if(ObjectGetInteger(0,imya,OBJPROP_TYPE)==OBJ_HLINE)

        {

         //+------------------------------------------------------------------------------------------+

         FileWrite(handle,"TYP"+(string)ObjectGetInteger(0,imya,OBJPROP_TYPE));

         FileWrite(handle,imya);

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_WIDTH));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_STYLE));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIMEFRAMES));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_COLOR));

         FileWrite(handle,ObjectGetDouble(0,imya,OBJPROP_PRICE));

         continue;

         //+------------------------------------------------------------------------------------------+

        }

      //+-----------------------------------------------------------------------------------------------+ T.LINE

      if(ObjectGetInteger(0,imya,OBJPROP_TYPE)==OBJ_TREND)

        {

         //+------------------------------------------------------------------------------------------+

         FileWrite(handle,"TYP"+(string)ObjectGetInteger(0,imya,OBJPROP_TYPE));

         FileWrite(handle,imya);

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_WIDTH));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_STYLE));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIMEFRAMES));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_COLOR));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_RAY));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIME1));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIME2));

         FileWrite(handle,ObjectGetDouble(0,imya,OBJPROP_PRICE1));

         FileWrite(handle,ObjectGetDouble(0,imya,OBJPROP_PRICE2));

         continue;

         //+------------------------------------------------------------------------------------------+

        }

      //+-----------------------------------------------------------------------------------------------+ F.LINE

      if(ObjectGetInteger(0,imya,OBJPROP_TYPE)==OBJ_FIBO)

        {

         //+------------------------------------------------------------------------------------------+

         FileWrite(handle,"TYP"+(string)ObjectGetInteger(0,imya,OBJPROP_TYPE));

         FileWrite(handle,imya);

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_WIDTH));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_LEVELWIDTH));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_STYLE));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_LEVELSTYLE));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIMEFRAMES));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_COLOR));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_LEVELCOLOR));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_RAY));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIME1));

         FileWrite(handle,ObjectGetInteger(0,imya,OBJPROP_TIME2));

         FileWrite(handle,ObjectGetDouble(0,imya,OBJPROP_PRICE1));

         FileWrite(handle,ObjectGetDouble(0,imya,OBJPROP_PRICE2));

         //+------------------------------------------------------------------------------------------+

         int levels=(int)ObjectGetInteger(0,imya,OBJPROP_LEVELS);

         FileWrite(handle,levels);

         //+------------------------------------------------------------------------------------------+

         for(int i=0; i<levels; i++)

           {

            FileWrite(handle,ObjectGetDouble(0,imya,OBJPROP_LEVELVALUE,i));

            FileWrite(handle,ObjectGetString(0,imya,OBJPROP_LEVELTEXT,i));

           }

         //+--------------------------------------------------------------------------------------------+

        }

     }

   FileClose(handle); PlaySound("ok.wav");

  }

//+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+

void ObjSet()

  {

//+=========================================================================================================+

   if(DeleteObjects)

     {

      if(Warning)

        {

         int ret=MessageBox("A5 >1J5:BK 1C4CB C40;5=K","GetSetObjects",MB_OKCANCEL);

         if(ret==IDCANCEL){PlaySound("timeout.wav"); return;}

        }

      ObjectsDeleteAll(0,0,0); ObjectsDeleteAll(0,0,1); ObjectsDeleteAll(0,0,2); ObjectsDeleteAll(0,0,10);

     }

//+=========================================================================================================+

   handle=FileOpen(adres,FILE_READ|FILE_COMMON);

   if(handle==INVALID_HANDLE){Alert("No copied data "+Symbol()); return;}

//+-----------------------------------------------------------------------------------------------+

   while(true)

     {

      text=FileReadString(handle);

      if(StringLen(text)==0)

        {

         FileClose(handle); ChartRedraw(0);

         PlaySound("ok.wav"); return;

        }

      if(StringFind(text,"TYP")>=0){TYP=(int)StringSubstr(text,3);}else {continue;}

      //+-----------------------------------------------------------------------------------------------------+ V.LINE

      if(TYP==0)

        {

         //+---------------------------------------------------------------------------------+

         imya=FileReadString(handle);

         int WIDTH=(int)FileReadString(handle);

         int STYLE=(int)FileReadString(handle);

         int TFRAMES=(int)FileReadString(handle);

         color COLOR=(color)(int)FileReadString(handle);

         int TIME=(int)FileReadString(handle);

         //+---------------------------------------------------------------------------------+

         ObjectCreate(0,imya,OBJ_VLINE,0,TIME,0);

         ObjectSetInteger(0,imya,OBJPROP_WIDTH,WIDTH);

         ObjectSetInteger(0,imya,OBJPROP_COLOR,COLOR);

         ObjectSetInteger(0,imya,OBJPROP_STYLE,STYLE);

         ObjectSetInteger(0,imya,OBJPROP_TIMEFRAMES,TFRAMES);

         continue;

        }

      //+-----------------------------------------------------------------------------------------------------+ H.LINE

      if(TYP==1)

        {

         //+---------------------------------------------------------------------------------+

         imya=FileReadString(handle);

         int WIDTH=(int)FileReadString(handle);

         int STYLE=(int)FileReadString(handle);

         int TFRAMES=(int)FileReadString(handle);

         color COLOR=(color)(int)FileReadString(handle);

         double PRICE=(double)FileReadString(handle);

         //+---------------------------------------------------------------------------------+

         ObjectCreate(0,imya,OBJ_HLINE,0,0,PRICE);

         ObjectSetInteger(0,imya,OBJPROP_WIDTH,WIDTH);

         ObjectSetInteger(0,imya,OBJPROP_COLOR,COLOR);

         ObjectSetInteger(0,imya,OBJPROP_STYLE,STYLE);

         ObjectSetInteger(0,imya,OBJPROP_TIMEFRAMES,TFRAMES);

         continue;

        }

      //+-----------------------------------------------------------------------------------------------------+  T.LINE

      if(TYP==2)

        {

         imya=FileReadString(handle);

         int WIDTH=(int)FileReadString(handle);

         int STYLE=(int)FileReadString(handle);

         int TFRAMES=(int)FileReadString(handle);

         color COLOR=(color)(int)FileReadString(handle);

         int RAY=(int)FileReadString(handle);

         int TIME1=(int)FileReadString(handle);

         int TIME2=(int)FileReadString(handle);

         double PRICE1=(double)FileReadString(handle);

         double PRICE2=(double)FileReadString(handle);

         //+---------------------------------------------------------------------------------+

         ObjectCreate(0,imya,OBJ_TREND,0,TIME1,PRICE1,TIME2,PRICE2);

         ObjectSetInteger(0,imya,OBJPROP_WIDTH,WIDTH);

         ObjectSetInteger(0,imya,OBJPROP_COLOR,COLOR);

         ObjectSetInteger(0,imya,OBJPROP_STYLE,STYLE);

         ObjectSetInteger(0,imya,OBJPROP_TIMEFRAMES,TFRAMES);

         ObjectSetInteger(0,imya,OBJPROP_RAY,RAY);

         continue;

        }

      //+-----------------------------------------------------------------------------------------------------+  F.LINE

      if(TYP==10)

        {

         //+---------------------------------------------------------------------------------+

         imya=FileReadString(handle);

         int WIDTH=(int)FileReadString(handle);

         int LvlWIDTH=(int)FileReadString(handle);

         int STYLE=(int)FileReadString(handle);

         int LvlSTYLE=(int)FileReadString(handle);

         int TFRAMES=(int)FileReadString(handle);

         color COLOR=(color)(int)FileReadString(handle);

         color LvlCOLOR=(color)(int)FileReadString(handle);

         int RAY=(int)FileReadString(handle);

         int TIME1=(int)FileReadString(handle);

         int TIME2=(int)FileReadString(handle);

         double PRICE1=(double)FileReadString(handle);

         double PRICE2=(double)FileReadString(handle);

         //+=========================================================================================================+

         ObjectCreate(0,imya,OBJ_FIBO,0,TIME1,PRICE1,TIME2,PRICE2);

         int levels=(int)FileReadString(handle);

         ObjectSetInteger(0,imya,OBJPROP_LEVELS,levels);

         //+-----------------------------------------------------------------------------------------------+

         for(int i=0; i<levels; i++)

           {

            double value=(double)FileReadString(handle);

            ObjectSetDouble(0,imya,OBJPROP_LEVELVALUE,i,value);

            text=FileReadString(handle);

            ObjectSetString(0,imya,OBJPROP_LEVELTEXT,i,text);

           }

         //+-----------------------------------------------------------------------------------------------+

         ObjectSetInteger(0,imya,OBJPROP_WIDTH,WIDTH);

         ObjectSetInteger(0,imya,OBJPROP_LEVELWIDTH,LvlWIDTH);

         ObjectSetInteger(0,imya,OBJPROP_STYLE,STYLE);

         ObjectSetInteger(0,imya,OBJPROP_LEVELSTYLE,LvlSTYLE);

         ObjectSetInteger(0,imya,OBJPROP_COLOR,COLOR);

         ObjectSetInteger(0,imya,OBJPROP_LEVELCOLOR,LvlCOLOR);

         ObjectSetInteger(0,imya,OBJPROP_TIMEFRAMES,TFRAMES);

         ObjectSetInteger(0,imya,OBJPROP_RAY,RAY);

         //+=========================================================================================================+

        }

     }

  }

//+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+

Comments