Author: Vladislav Shurkin, 3 ��� 2013 ����.
Miscellaneous
It plays sound alertsIt opens Message Boxes to the user
0 Views
0 Downloads
0 Favorites
ModifyFibo
//+------------------------------------------------------------------+
//|                                                   ModifyFibo.mq4 |
//|                              Vladislav Shurkin, 3 ìàÿ 2013 ãîäà. |
//|Ñêðèïò ìîäèôèöèðóåò âûáðàííûé îáúåêò "Fibo" ïî çàäàíèþ ïîëüçîâàòå-|
//|ëÿ: ñäâèãàåò òî÷êè ïîñòðîåíèÿ íà çàäàííîå ÷èñëî áàðîâ, ñîõðàíÿåò  |
//|èñõîäíûå êîîðäèíàòû îáúåêòà, äîïîëíÿåò îáúåêò óðîâíåì çàäàííîãî   |
//|çíà÷åíèÿ, íàíîñèò ëèíèþ ïîääåðæêè/ñîïðîòèâëåíèÿ íà çàäàííîì óðîâ- |
//|íå, ïîêàçûâàåò è óäàëÿåò öåíû íà ñóùåñòâóþùèõ óðîâíÿõ è ò.ä.      |
//+------------------------------------------------------------------+
#property copyright "Vladislav Shurkin, 3 ìàÿ 2013 ãîäà."
#property link      "vlad-755@mail.ru"
#property show_inputs
//+------------------------------------------------------------------+
//|ÐÓÊÎÂÎÄÑÒÂÎ ÏÎËÜÇÎÂÀÒÅËß.                                         |
//+------------------------------------------------------------------+
/*
Ñêðèïò ïåðåíîñèòñÿ ìûøüþ íà îäíó èç îáðàçóþùèõ òî÷åê (100 èëè 0) ìîäè-
ôèöèðóåìîãî îáúåêòà Fibo. Â îòêðûâøåìñÿ îêíå íà âêëàäêå 'Âõîäíûå ïàðà-
ìåòðû' óñòàíàâëèâàåòñÿ çàäàíèå.

ÂåðòèêàëüÎòÒî÷êè100èëè0=10:
 - 100 - îáðàçóþùàÿ îáúåêòà óñòàíàâëèâàåòñÿ âåðòèêàëüíî îò òî÷êè 100;
 - 0 - îáðàçóþùàÿ îáúåêòà óñòàíàâëèâàåòñÿ âåðòèêàëüíî îò òî÷êè 0;
 - 10 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.
 
ÑäâèãÒî÷êè100íàÁàðîâ=0 - òî÷êà 100 âûáðàííîãî îáúåêòà ñäâèãàåòñÿ íà 
óêàçàííîå êîëè÷åñòâî áàðîâ (ïîëîæèòåëüíîå ÷èñëî ñäâèãàåò òî÷êó âïðàâî,
îòðèöàòåëüíîå - âëåâî, 0 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.

ÑäâèãÒî÷êè0íàÁàðîâ=0 - òî÷êà 0 âûáðàííîãî îáúåêòà ñäâèãàåòñÿ íà óêà-
çàííîå êîëè÷åñòâî áàðîâ (ïîëîæèòåëüíîå ÷èñëî ñäâèãàåò òî÷êó âïðàâî,
îòðèöàòåëüíîå - âëåâî, 0 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.

ÇàïèñüÈñõîäíûõÄàò1èÖåí2 - èñõîäíûå êîîðäèíàòû ñîõðàíÿþòñÿ â îïèñàíèè
îáúåêòà è ñòàíîâÿòñÿ âèäèìûìè ïðè íàâåäåíèè êóðñîðà íà îáðàçóþùóþ ëè-
íèþ:
 - 1 - çàïèñü èñõîäíûõ äàò;
 - 2 - çàïèñü èñõîäíûõ öåí;
 - 12 - çàïèñü èñõîäíûõ äàò è öåí;
 - 0 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.
 
ÄîáàâëåíèåÓðîâíÿ=0.0 - ê ñóùåñòâóþùèì óðîâíÿì äîáàâëÿåòñÿ óðîâåíü,
çíà÷åíèå êîòîðîãî çàäàíî äåñÿòè÷íîé äðîáüþ.

ËèíèÿÍàÓðîâíå=10.0 - ñòðîèòñÿ ëèíèÿ ïîääåðæêè/ñîïðîòèâëåíèÿ íà óðîâíå,
çíà÷åíèå êîòîðîãî çàäàíî äåñÿòè÷íîé äðîáüþ(â òîì ÷èñëå 0.0 è 1.0).
Îïèñàíèå ëèíèè ñòàíîâèòñÿ âèäèìûì ïðè íàâåäåíèè íà íå¸ êóðñîðà.

Ïîêàç1óäàëåíèå0öåí=10:
 - 1 - äîïîëíÿåò îïèñàíèå óðîâíÿ öåíîâûì çíà÷åíèåì;
 - 0 - óäàëÿåò öåíîâîå çíà÷åíèå èç îïèñàíèÿ óðîâíÿ;
 - 10 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.

ÂûáîðÎáúåêòàÏîÈìåíè: ïðè æåëàíèè îáúåêò ìîäèôèêàöèè ìîæíî âûáðàòü ïî
åãî èìåíè, äëÿ ýòîãî íóæíî ñêîïèðîâàòü èìÿ â îêíå ñâîéñòâ îáúåêòà Fibo,
óñòàíîâèòü ñêðèïò íà ËÞÁÓÞ òî÷êó ãðàôèêà, â îòêðûâøåìñÿ îêíå âñòàâèòü
â óêàçàííóþ ñòðîêó ñêîïèðîâàííîå èìÿ è óñòàíîâèòü çàäàíèå ñêðèïòó.

Ïðîãðàììà ïðåäóñìàòðèâàåò âîçìîæîñòü íàíåñåíèÿ íà ãðàôèê êîíòóðà çîíû
óñòàíîâêè êóðñîðà (ïî óìîë÷àíèþ âûêëþ÷åíî). Ääÿ âêëþ÷åíèÿ íåîáõîäèìî
èçìåíèòü çíà÷åíèå ïåðåìåííîé ShCuZ íà true è ïåðåêîìïèëèðîâàòü ñêðèïò.
Âêëþ÷åííàÿ ïåðåìåííàÿ ShCuZ çàìåäëÿåò ðàáîòó ñêðèïòà.

 õîäå èñïîëíåíèÿ êîäà ñêðèïòà óðîâíè îáúåêòà Fibo íà âêëàäêå "Óðîâíè
Ôèáîíà÷÷è" îêíà ñâîéñòâ ñîðòèðóþòñÿ ïî âîçðàñòàíèþ, äëÿ îòêëþ÷åíèÿ 
ýòîé ôóíêöèè íåîáõîäèìî èçìåíèòü çíà÷åíèå ïåðåìåííîé SortLev íà false
è ïåðåêîìïèëèðîâàòü ñêðèïò. 

Çàäàíèÿ ñêðèïòó ìîãóò óñòàíàâëèâàòüñÿ êàê ïî îòäåëüíîñòè, òàê è âìåñòå
â ëþáîì ëîãè÷íîì ñî÷åòàíèè.

Îá îøèáêàõ â çàäàíèè ñêðèïò èçâåùàåò çâóêîâûì è âèçóàëüíûì ñèãíàëàìè.
Îò÷¸ò î ðàáîòå ñêðèïòà ñîõðàíÿåòñÿ âî âêëàäêå "Ýêñïåðòû".

Ïàðàìåòðû ìîäèôèöèðîâàííîãî ñêðèïòîì îáúåêòà ìîãóò áûòü äîïîëíèòåëüíî 
èçìåí¸íû èç îêíà åãî ñâîéñòâ, à ïîñòðîåííûå ëèíèè è ñîõðàí¸ííûå çàïèñè
óäàëåíû ïðè íåîáõîäèìîñòè â ëþáîå âðåìÿ.
*/
//+------------------------------------------------------------------+
//|Âíåøíèå ïåðåìåííûå (äîñòóïíû èç îêíà ñâîéñòâ ïðîãðàììû)           |
//+------------------------------------------------------------------+
extern int ÂåðòèêàëüÎòÒî÷êè100èëè0=10;//Âåðòèêàëèçàöèÿ îáðàçóþùåé ëèíèè
extern int ÑäâèãÒî÷êè100íàÁàðîâ=0;//Ñäâèã òî÷êè 100 íà çàäàííîå ÷èñëî áàðîâ
extern int ÑäâèãÒî÷êè0íàÁàðîâ=0;//Ñäâèã òî÷êè 0 íà çàäàííîå ÷èñëî áàðîâ
extern int ÇàïèñüÈñõîäíûõÄàò1èÖåí2;//Ñîõðàíåíèå ïåðâîíà÷àëüíûõ êîîðäèíàò
extern double ÄîáàâëåíèåÓðîâíÿ=0.0;//Äîáàâëåíèå óðîâíÿ çàäàííîãî çíà÷åíèÿ
extern double ËèíèÿÍàÓðîâíå=10.0;//Ïîñòðîåíèå ëèíèè íà çàäàííîì óðîâíå
extern int Ïîêàç1óäàëåíèå0öåí=10;//Íàíåñåíèå/óäàëåíèå çíà÷åíèé öåíû
extern string ÂûáîðÎáúåêòàÏîÈìåíè="";//Âûáîð îáúåêòà ìîäèôèêàöèè ïî èìåíè
//+------------------------------------------------------------------+
//|Äðóãèå îáúÿâëåííûå ïåðåìåííûå                                     |
//+------------------------------------------------------------------+
bool ShCuZ=false;//Íàíåñåíèå íà ãðàôèê çîíû óñòàíîâêè êóðñîðà(false/true)
bool SortLev=true;//Ñîðòèðîâêà ñïèñêà óðîâíåé(false/true)
//----
int VrtPnt;//Âåðòèêàëèçàöèÿ îáðàçóþùåé ëèíèè
int MvPnt100;//Ñäâèã òî÷êè 100 íà çàäàííîå ÷èñëî áàðîâ
int MvPnt0;//Ñäâèã òî÷êè 0 íà çàäàííîå ÷èñëî áàðîâ
int SvFstP;//Ñîõðàíåíèå ïåðâîíà÷àëüíûõ êîîðäèíàò
double AddLev;//Äîáàâëåíèå óðîâíÿ çàäàííîãî çíà÷åíèÿ
double LevLn;//Ïîñòðîåíèå ëèíèè íà çàäàííîì óðîâíå
bool ShPr;//Íàíåñåíèå/óäàëåíèå çíà÷åíèé öåíû
bool ObByNm;//Âûáîð îáúåêòà ìîäèôèêàöèè ïî èìåíè
//----
bool Vsb;//Ñâîéñòâî îòîáðàæåíèÿ îáúåêòà íà ðàçëè÷íûõ ïåðèîäàõ
int StartMoment;//Ìîìåíò ñòàðòà ñêðèïòà
int n;//Îòêëîíåíèå (áàðîâ), íîìåð óðîâíÿ
int z;//Ïóñòàÿ ïåðåìåííàÿ
int u,j,i;//Ïîêàçàòåëè ñ÷¸ò÷èêîâ
int CntFb;//Ñ÷¸ò÷èê îáúåêòîâ Fibo
int CntL;//Ñ÷¸ò÷èê óðîâíåé îáúåêòà Fibo
int Err;//Íîìåð îøèáêè
int ObjT;//Îáùåå ÷èñëî îáúåêòîâ íà ãðàôèêå
int Prd;//Çíà÷åíèå ÷èñëà ìèíóò ïåðèîäà äëÿ òåêóùåãî ãðàôèêà
int Shift;//Ñìåùåíèå áàðà, êîòîðîìó ïðèíàäëåæèò óêàçàííîå âðåìÿ
int AsTm[7]={1,2,3,4,5,6,7};//Îòêëîíåíèÿ âðåìåíè
int AsPr[7]={1,3,5,15,30,55,90};//Îòêëîíåíèÿ öåíû
double PrOD;//Çíà÷åíèå öåíû â òî÷êå óñòàíîâêè ñêðèïòà
double Pr100;//Çíà÷åíèå öåíû â òî÷êå 100 îáúåêòà Fibo
double Pr0;//Çíà÷åíèå öåíû â òî÷êå 0 îáúåêòà Fibo
double m;//Îòêëîíåíèå öåíû, ïï
double LevLnS;//Èçâëå÷¸ííîå çíà÷åíèå óðîâíÿ
double PrLevLn;//Çíà÷åíèå öåíû íà óðîâíå LevLn
double MnL[32];//Ìàññèâ çíà÷åíèé óðîâíåé Fibo, %
double PrN;//Çíà÷åíèå öåíû óðîâíÿ N îáúåêòà Fibo
datetime TmOD;//Çíà÷åíèå âðåìåíè â òî÷êå óñòàíîâêè ñêðèïòà
datetime Tm100,Tm100p;//Çíà÷åíèå âðåìåíè â òî÷êå 100% îáúåêòà Fibo
datetime Tm0,Tm0p;//Çíà÷åíèå âðåìåíè â òî÷êå 0% îáúåêòà Fibo
datetime TmLn1,TmLn2;//Çíà÷åíèå âðåìåíè â òî÷êå 1 è 2 ëèíèè NmLn
datetime TmLnS;//Èçâëå÷¸ííîå çíà÷åíèå âðåìåíè
string Txt,Txt1,Txt2;//Txt
string TxtExNm;//Èìÿ ñêðèïòà
string Name,NameM;//Èìÿ îáúåêòà Fibo
string NmLn;//Èìÿ ëèíèè íà çàäàííîì óðîâíå
color Clr;//Öâåò îáúåêòà
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//====0=ÏÐÎËÎÃ=======================================================+
   StartMoment=GetTickCount();//Ìîìåíò ñòàðòà ñêðèïòà
   Print("Ñêðèïò ",WindowExpertName()," íà÷àë ðàáîòó íà ãðàôèêå ",Symbol(),
   " ",TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));//Îò÷¸ò
//====1=ÏÐÅÎÁÐÀÇÎÂÀÍÈÅ ÏÅÐÅÌÅÍÍÛÕ====================================+
   VrtPnt=ÂåðòèêàëüÎòÒî÷êè100èëè0;//Âåðòèêàëèçàöèÿ
   MvPnt100=ÑäâèãÒî÷êè100íàÁàðîâ;//Ñäâèã òî÷êè 100 íà çàäàííîå ÷èñëî áàðîâ
   MvPnt0=ÑäâèãÒî÷êè0íàÁàðîâ;//Ñäâèã òî÷êè 0 íà çàäàííîå ÷èñëî áàðîâ
   SvFstP=ÇàïèñüÈñõîäíûõÄàò1èÖåí2;//Ñîõðàíåíèå ïåðâîíà÷àëüíûõ êîîðäèíàò
   AddLev=ÄîáàâëåíèåÓðîâíÿ;//Äîáàâëåíèå óðîâíÿ çàäàííîãî çíà÷åíèÿ
   LevLn=ËèíèÿÍàÓðîâíå;//Ïîñòðîåíèå ëèíèè íà çàäàííîì óðîâíå
   ShPr=Ïîêàç1óäàëåíèå0öåí;//Íàíåñåíèå/óäàëåíèå çíà÷åíèé öåíû
   TmOD=WindowTimeOnDropped();//Çíà÷åíèå âðåìåíè â òî÷êå óñòàíîâêè ñêðèïòà
   PrOD=WindowPriceOnDropped();//Çíà÷åíèå öåíû â òî÷êå óñòàíîâêè ñêðèïòà
   ObjT=ObjectsTotal();//Îáùåå ÷èñëî îáúåêòîâ íà ãðàôèêå   
   Prd=Period();//Çíà÷åíèå ÷èñëà ìèíóò ïåðèîäà äëÿ òåêóùåãî ãðàôèêà
   TxtExNm=WindowExpertName();//Èìÿ ñêðèïòà
   if(ÂûáîðÎáúåêòàÏîÈìåíè!="")ObByNm=true;//Âûáîð îáúåêòà ïî èìåíè
   if(ObByNm==true)NameM=ÂûáîðÎáúåêòàÏîÈìåíè;//Èìÿ îáúåêòà Fibo
//====2=ÊÎÍÒÐÎËÜ ÄÎÏÓÑÒÈÌÎÑÒÈ ÇÀÄÀÍÍÛÕ ÏÀÐÀÌÅÒÐÎÂ====================+
//----2-1-Ñêðèïò íå óñòàíîâëåí íà ãðàôèê ìûøüþ-----------------------+
   if(TmOD==0 && PrOD==0 && ObByNm==false)//Êîîðäèíàòû ðàâíû 0
   {
   Txt=StringConcatenate("Îáúåêò äëÿ ìîäèôèêàöèè íå âûáðàí.\n Äëÿ âûáîðà ",
   "îáúåêòà óñòàíîâèòå ñêðèïò óêàçàòåëåì ìûøè íà îäíó èç îáðàçóþùèõ òî÷åê ",
   "îáúåêòà 'Fibo' (0 èëè 100).");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå  
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
   }//Çàêðûòî if(TmOD==0 && PrOD==0)
//----2-2-Çàäàíèå ñêðèïòó íå óñòàíîâëåíî-----------------------------+
   if(VrtPnt==10 && MvPnt0==0 && MvPnt100==0 && SvFstP==0&& AddLev==0
   && LevLn==10 && ShPr==10)//Íåò èçìåíåíèé â îêíå 'Âõîäíûå ïàðàìåòðû'
   {
   Txt=StringConcatenate("Çàäàíèå ñêðèïòó ",TxtExNm," íå óñòàíîâëåíî. ",
   "\nÓñòàíîâèòå çàäàíèå â îêíå 'Âõîäíûå ïàðàìåòðû'.");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
   }//Çàêðûòî if(VrtPnt==10 ...
//----2-3-Çàäàíû íåäîïóñòèìûå çíà÷åíèÿ ïàðàìåòðà VrtPnt--------------+
   if(VrtPnt==0 || VrtPnt==10 || VrtPnt==100)z=0;//z-ïóñòàÿ ïåðåìåííàÿ
   else
   {
   Txt=StringConcatenate(" ñòðîêå 'ÂåðòèêàëüÎòÒî÷êè100èëè0' çíà÷åíèå ",
   VrtPnt," íå äîïóñòèìî. \nÄîïóñòèìû òîëüêî òðè çíà÷åíèÿ: 0, 10, 100. ",
   "\nÈçìåíèòå çàäàíèå ñêðèïòó.");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
   }//Çàêðûòî else
//----2-4-Çàäàíû íåäîïóñòèìûå çíà÷åíèÿ ïàðàìåòðà SvFstP--------------+
   if(SvFstP==0 || SvFstP==1 || SvFstP==2 || SvFstP==12)z=0;//z-ïóñòàÿ ïåðåìåííàÿ
   else
   {
   Txt=StringConcatenate(" ñòðîêå 'ÇàïèñüÈñõîäíûõÄàò1èÖåí2' çíà÷åíèå ",
   SvFstP," íå äîïóñòèìî. \nÄîïóñòèìû òîëüêî ÷åòûðå çíà÷åíèÿ: 0, 1, 2, 12. ",
   "\nÈçìåíèòå çàäàíèå ñêðèïòó.");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
   }//Çàêðûòî else   
//----2-5-Çàäàíî ñëèøêîì áîëüøîå çíà÷åíèå äîïîëíèòåëüíîãî Fibo-óðîâíÿ+
   if(AddLev>10)//Çíà÷åíèå Fibo-óðîâíÿ > 10
   {
   Txt=StringConcatenate("Çàäàííîå çíà÷åíèå äîïîëíèòåëüíîãî Fibo-óðîâíÿ > 10. ",
   "\n","Íàèáîëåå óïîòðåáèòåëüíûå äîïîëíèòåëüíûå çíà÷åíèÿ: ",
   "\n0.118, 0.786, 1.118, 1.272, 1.382, 1.764, 1.882 è ò.ä. ",
   "\nÈçìåíèòå çàäàíèå ñêðèïòó.");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
   }//Çàêðûòî if(AddLev>10)
//----2-6-Çàäàíî ñëèøêîì áîëüøîå çíà÷åíèå óðîâíÿ äëÿ ïîñòðîåíèÿ ëèíèè+
   if(LevLn>10)//Çíà÷åíèå óðîâíÿ > 10
   {
   Txt=StringConcatenate("Çàäàííîå çíà÷åíèå óðîâíÿ äëÿ ïîñòðîåíèÿ ëèíèè > 10. ",
   "\n","Íàèáîëåå óïîòðåáèòåëüíûå çíà÷åíèÿ Fibo-óðîâíåé: ",
   "\n0.118, 0.786, 1.118, 1.272, 1.382, 1.764, 1.882 è ò.ä. ",
   "\nÈçìåíèòå çàäàíèå ñêðèïòó.");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
   }//Çàêðûòî if(AddLev>10)
//----2-7-Çàäàíû íåäîïóñòèìûå çíà÷åíèÿ ïàðàìåòðà ShPr----------------+
   if(ShPr==0 || ShPr==1 || ShPr==10)z=0;//z-ïóñòàÿ ïåðåìåííàÿ
   else
   {
   Txt=StringConcatenate(" ñòðîêå 'Ïîêàç1óäàëåíèå0öåí' çíà÷åíèå ",
   ShPr," íå äîïóñòèìî. \nÄîïóñòèìî òîëüêî òðè çíà÷åíèÿ: 0, 1, 10. ",
   "\nÈçìåíèòå çàäàíèå ñêðèïòó.");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
   }//Çàêðûòî else   
//====3=ÎÏÐÅÄÅËÅÍÈÅ ÎÁÚÅÊÒÀ ÌÎÄÈÔÈÊÀÖÈÈ==============================+
   if(ObByNm==false)//Èìÿ îáúåêòà íå çàäàíî
   {
//----3-1-Íàíåñåíèå íà ãðàôèê òî÷êè óñòàíîâêè êóðñîðà----------------+
   if(ShCuZ==true)//Ðàçðåøåíèå
    {
   ObjectCreate("SpModFibo",OBJ_ELLIPSE,0,TmOD-Prd*60,PrOD,TmOD+Prd*60,PrOD);//Ýëëèïñ
   Err=GetLastError();//Çàïðîñ îøèáêè
   if(Err>0 && Err!=4200)Print("#31-ErrCreateELLIPSE=",Err);//Íîìåð îøèáêè
   if(Err==4200)//Îáúåêò óæå ñóùåñòâóåò
     {
   if(ObjectDelete("SpModFibo")!=true)//Óäàëåíèå îáúåêòà SpModFibo
   Print("#31-ErrObjectDelete=",GetLastError());//Íîìåð îøèáêè
   if(ObjectCreate("SpModFibo",OBJ_ELLIPSE,0,TmOD-Prd*60,PrOD,TmOD+Prd*60,PrOD)!=true)//
   Print("#31-ErrCreateELLIPSE=",GetLastError());//Íîìåð îøèáêè
     }//Çàêðûòî if(Err==4200)
   if(ObjectSet("SpModFibo",OBJPROP_COLOR,Red)!=true)//Óñòàíîâêà öâåòà ëèíèè îáúåêòà
   Print("#31-ErrSetCOLOR=",GetLastError());//Íîìåð îøèáêè
   if(ObjectSet("SpModFibo",OBJPROP_SCALE,1)!=true)//Óñòàíîâêà ìàñøòàáà ëèíèè îáúåêòà
   Print("#31-ErrSetSCALE=",GetLastError());//Íîìåð îøèáêè
   if(ObjectSet("SpModFibo",OBJPROP_BACK,0)!=true)//Óñòàíîâêà ôëàãà ôîíîâîãî îòîáðàæåíèÿ
   Print("#31-ErrSetBACK=",GetLastError());//Íîìåð îøèáêè
   if(ObjectSet("SpModFibo",OBJPROP_WIDTH,5)!=true)//Óñòàíîâêà øèðèíû ëèíèè îáúåêòà
   Print("#31-ErrSetWIDTH=",GetLastError());//Íîìåð îøèáêè
   ObjectSetText("SpModFibo","Òî÷êà óñòàíîâêè êóðñîðà",10,"Arial",CLR_NONE);//Îïèñàíèå
   Err=GetLastError();if(Err>0)Print("ObjectSetTextCP=",Err);//Íîìåð îøèáêè
   WindowRedraw();//Ïðèíóäèòåëüíî ïåðåðèñîâûâàåò òåêóùèé ãðàôèê
   Print("Òî÷êà óñòàíîâêè êóðñîðà: Tm=",
   TimeToStr(TmOD,TIME_DATE|TIME_MINUTES),", Pr=",PrOD);//Îò÷¸ò
    }//Çàêðûòî if(ShCuZ==true)
//----3-2-Âëîæåííûå öèêëû ïîèñêà îáúåêòà-----------------------------+
   for(u=0;u<7;)//Öèêë u
    {
   if(CntFb>0)break;//Îáúåêò íàéäåí, âûõîä èç öèêëà u
   for(j=0;j<7;)//Öèêë j
     {
   if(CntFb>0)break;//Îáúåêò íàéäåí, âûõîä èç öèêëà j
   n=AsTm[u];//Îòêëîíåíèå ïî áàðàì
   if(Digits==3 || Digits==5)m=AsPr[j]*Point*10;//Îòêëîíåíèå ïî öåíå
   else m=AsPr[j]*Point;//Îòêëîíåíèå ïî öåíå
//----3-3-Íàíåñåíèå íà ãðàôèê çîíû óñòàíîâêè êóðñîðà-----------------+
   if(ShCuZ==true)//Ðàçðåøåíèå
    {
   ObjectCreate("RaModFibo",OBJ_RECTANGLE,0,TmOD-n*Prd*60,PrOD-m,
   TmOD+n*Prd*60,PrOD+m);//Ïðÿìîóãîëüíèê
   Err=GetLastError();//Çàïðîñ îøèáêè
   if(Err>0 && Err!=4200)Print("#33-ErrObjectCreateRa=",Err);//Íîìåð îøèáêè
   if(Err==4200)//Îáúåêò óæå ñóùåñòâóåò
     {
   if(ObjectDelete("RaModFibo")!=true)//Óäàëåíèå îáúåêòà "RaModFibo"
   Print("#33-ErrObjectDeleteRa=",GetLastError());//Íîìåð îøèáêè
   if(ObjectCreate("RaModFibo",OBJ_RECTANGLE,0,TmOD-n*Prd*60,PrOD-m,
   TmOD+n*Prd*60,PrOD+m)!=true)//Ïðÿìîóãîëüíèê
   Print("#33-ErrObjectCreateRa=",GetLastError());//Íîìåð îøèáêè
     }//Çàêðûòî if(Err==4200)
   if(ObjectSet("RaModFibo",OBJPROP_COLOR,Yellow)!=true)//Óñòàíîâêà öâåòà ëèíèè îáúåêòà
   Print("#33-ErrSetCOLOR=",GetLastError());//Íîìåð îøèáêè
   if(ObjectSet("RaModFibo",OBJPROP_BACK,0)!=true)//Óñòàíîâêà ôëàãà ôîíîâîãî îòîáðàæåíèÿ
   Print("#33-ErrSetBACK=",GetLastError());//Íîìåð îøèáêè
   WindowRedraw();//Ïðèíóäèòåëüíî ïåðåðèñîâûâàåò òåêóùèé ãðàôèê
   Sleep(1500);//Ïàóçà
    }//Çàêðûòî if(ShCuZ==true)
//----3-4-Îïðåäåëåíèå êîîðäèíàò îáúåêòà------------------------------+
   for(i=0;i<ObjT;i++)//Ïåðåáîð îáúåêòîâ ïî ñïèñêó
     {
   Name=ObjectName(i);//Èìÿ îáúåêòà
   Err=GetLastError();if(Err>0)Print("#34-",i,"-ErrObjectName=",Err);//Íîìåð îøèáêè
   if(ObjectType(Name)!=OBJ_FIBO)//Íå ëèíèè Ôèáîíà÷÷è...
      {
   Err=GetLastError();if(Err>0)Print("#34-",i,"-ObjectType=",Err);//Íîìåð îøèáêè
   continue;//...ïðîïóñêàåì
      }
   Tm100=ObjectGet(Name,OBJPROP_TIME1);//ïåðâàÿ êîîðäèíàòà âðåìåíè (òî÷êà 100)
   Err=GetLastError();if(Err>0)Print("#34-",i,"-ErrTIME1=",Err);//Íîìåð îøèáêè
   Pr100=ObjectGet(Name,OBJPROP_PRICE1);//ïåðâàÿ êîîðäèíàòà öåíû (òî÷êà 100)
   Err=GetLastError();if(Err>0)Print("#34-",i,"-ErrPRICE1=",Err);//Íîìåð îøèáêè
   Tm0=ObjectGet(Name,OBJPROP_TIME2);//âòîðàÿ êîîðäèíàòà âðåìåíè (òî÷êà 0)
   Err=GetLastError();if(Err>0)Print("#34-",i,"-ErrTIME2=",Err);//Íîìåð îøèáêè   
   Pr0=ObjectGet(Name,OBJPROP_PRICE2);//âòîðàÿ êîîðäèíàòà öåíû (òî÷êà 0)
   Err=GetLastError();if(Err>0)Print("#34-",i,"-ErrPRICE2=",Err);//Íîìåð îøèáêè
//----3-5-Îïðåäåëåíèå èìåíè îáúåêòà----------------------------------+
   if((Tm100<TmOD+n*Prd*60 && Tm100>TmOD-n*Prd*60) 
   || (Tm0<TmOD+n*Prd*60 && Tm0>TmOD-n*Prd*60) && (Pr100<PrOD+m && Pr100>PrOD-m) 
   || (Pr0<PrOD+m && Pr0>PrOD-m))//Óñëîâèå
       {
   NameM=Name;//Èìÿ ìîäèôèöèðóåìîãî îáúåêòà Fibo
   CntFb++;//Ñ÷¸ò÷èê îáúåêòîâ Fibo
   Vsb=ObjectGet(NameM,OBJPROP_TIMEFRAMES);//ñâîéñòâî îòîáðàæåíèÿ îáúåêòà
   Err=GetLastError();if(Err>0)Print("#25-",i,"-ErrTIMEFRAMES=",Err);//Íîìåð îøèáêè   
   if(Vsb==0)//îòîáàæ¸í íà âñåõ òàéìôðåéìàõ
        {
   Print("Âûáðàí îáúåêò ",i," - ",NameM);//Îò÷¸ò
   Print("Íà÷àëüíûå êîîðäèíàòû îáúåêòà ",NameM,
   ": Tm100=",TimeToStr(Tm100,TIME_DATE|TIME_MINUTES)," Pr100=",Pr100,
   " Tm0=",TimeToStr(Tm0,TIME_DATE|TIME_MINUTES)," Pr0=",Pr0);//Îò÷¸ò
        }
   else 
        {
   Print("Âûáðàí îáúåêò ",i," - ",NameM," (ñêðûò íà íåêîòîðûõ òàéìôðåéìàõ)");//Îò÷¸ò
   Print("Êîîðäèíàòû ",NameM,": Tm100=",TimeToStr(Tm100,TIME_DATE|TIME_MINUTES),
   " Pr100=",Pr100," Tm0=",TimeToStr(Tm0,TIME_DATE|TIME_MINUTES)," Pr0=",Pr0);//Îò÷¸ò
        }
       }//Çàêðûòî if((Tm100<TmOD+Prd*60 && Tm100>TmOD-Prd*60))...
      }//Çàêðûòî for(i=0;i<ObjT;i++)
   u++;//ñ÷¸ò÷èê u
   j++;//ñ÷¸ò÷èê j
     }//Çàêðûòî for(j=0;j<7;)
    }//Çàêðûòî for(u=0;u<7;)
   if(ShCuZ==true)//Çàâåðøàþùàÿ óñòàíîâêà âíå öèêëà
    {
   ObjectSetText("RaModFibo","Çîíà óñòàíîâêè êóðñîðà",10,"Arial",CLR_NONE);//Îïèñàíèå 
   Err=GetLastError();if(Err>0)Print("ObjectSetTextRa=",Err);//Íîìåð îøèáêè
    }//Çàêðûòî if(ShCuZ==true)
//----3-6-Â çîíå óñòàíîâêè êóðñîðà íåò îáúåêòà Fibo------------------+
   if(CntFb==0)//íåò îáúåêòà Fibo
    {
   Txt1=StringConcatenate("Â äèàïàçîíå âðåìåíè ",
   TimeToStr(TmOD-n*Prd*60,TIME_DATE|TIME_MINUTES),
   " - ",TimeToStr(TmOD+n*Prd*60,TIME_DATE|TIME_MINUTES)," è öåíû ",PrOD-m,
   " - ",PrOD+m," îáðàçóþùèõ òî÷åê îáúåêòà 'Fibo' íåò.");//Txt1
   Txt2=StringConcatenate("\nÄëÿ âûáîðà ìîäèôèöèðóåìîãî îáúåêòà óñòàíîâèòå ñêðèïò ",
   "óêàçàòåëåì ìûøè íà îäíó èç îáðàçóþùèõ òî÷åê îáúåêòà 'Fibo' (0 èëè 100).");//Txt2
   Txt=StringConcatenate(Txt1,Txt2);//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt1);Print(Txt2);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
    }//Çàêðûòî if(CntFb==0)
//----3-7-Â çîíå óñòàíîâêè êóðñîðà íåñêîëüêî îáúåêòîâ Fibo-----------+
   if(CntFb>1)// òî÷êå óñòàíîâêè êóðñîðà ìûøè áîëåå îäíîãî îáúåêòà Fibo
    {
   Txt=StringConcatenate("Â äèàïàçîíå âðåìåíè ",
   TimeToStr(TmOD-n*Prd*60,TIME_DATE|TIME_MINUTES),
   " - ",TimeToStr(TmOD+n*Prd*60,TIME_DATE|TIME_MINUTES),
   " è öåíû ",PrOD-m," - ",PrOD+m," îáðàçóþùèå òî÷êè ",CntFb,
   "-õ îáúåêòîâ 'Fibo'. ","\nÎò÷¸ò ðàñïîëîæåí âî âêëàäêå Ýêñïåðòû. ",
   "\nÂûáåðèòå ìîäèôèöèðóåìûé îáúåêò ïî äðóãîé òî÷êå.");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå  
    }//Çàêðûòî if(CntFb>1)
   }//Çàêðûòî if(ObByNm==false)
//====4=ÌÎÄÈÔÈÊÀÖÈß ÂÛÁÐÀÍÍÎÃÎ ÎÁÚÅÊÒÀ===============================+
   if(CntFb==1 || ObByNm==true)//Íàéäåí îäèí îáúåêò Fibo èëè îí çàäàí èìåíåì
    {
//----4-1-Îïðåäåëåíèå êîîðäèíàò îáúåêòà------------------------------+
   Tm100=ObjectGet(NameM,OBJPROP_TIME1);//Ïåðâàÿ êîîðäèíàòà âðåìåíè (òî÷êà 100)
   Err=GetLastError();//Çàïðîñ îøèáêè
   if(Err==4202)
     {
   Txt=StringConcatenate("Îáúåêò ñ èìåíåì ",NameM," íà ãðàôèêå ",Symbol(),
   " íå ñóùåñòâóåò. ","\nÑêîïèðóéòå èìÿ âûáðàííîãî îáúåêòà â îêíå Ñâîéñòâà Fibo",
   "\nè âñòàâüòå â ñòðîêó 'ÂûáîðÎáúåêòàÏîÈìåíè'.");//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt);//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå  
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
     }//Çàêðûòî if(Err==4202)
   if(Err>0)Print("#41-ErrGetTIME1=",Err);//Íîìåð îøèáêè
   Tm100p=Tm100;//Çàôèêñèðîâàíà ïåðâàÿ êîîðäèíàòà âðåìåíè (òî÷êà 100)
   Tm0=ObjectGet(NameM,OBJPROP_TIME2);//âòîðàÿ êîîðäèíàòà âðåìåíè (òî÷êà 0)
   Err=GetLastError();if(Err>0)Print("#41-ErrGetTIME2=",Err);//Íîìåð îøèáêè
   Tm0p=Tm0;//Çàôèêñèðîâàíà âòîðàÿ êîîðäèíàòà âðåìåíè (òî÷êà 0)
   Pr100=ObjectGet(NameM,OBJPROP_PRICE1);//Ïåðâàÿ êîîðäèíàòà öåíû (òî÷êà 100)
   Err=GetLastError();if(Err>0)Print("#41-ErrGetPRICE1=",Err);//Íîìåð îøèáêè
   Pr0=ObjectGet(NameM,OBJPROP_PRICE2);//Âòîðàÿ êîîðäèíàòà öåíû (òî÷êà 0)
   Err=GetLastError();if(Err>0)Print("#41-ErrGetPRICE2=",Err);//Íîìåð îøèáêè
//----4-2-Óñòàíîâêà îáðàçóþùåé îáúåêòà âåðòèêàëüíî îò òî÷êè 100------+
   if(VrtPnt==100)//Çàäàíèå
    {
   Tm0=Tm100;//Ïåðåîïðåäåëåíèå Tm0
   if(ObjectSet(NameM,OBJPROP_TIME2,Tm0)!=true)//Óñòàíîâêà 2-îé êîîðäèíàòû âðåìåíè
   Print("#42-ErrSetTIME2=",GetLastError());//Íîìåð îøèáêè
   Print("Îáúåêò ",NameM," óñòàíîâëåí âåðòèêàëüíî îò òî÷êè 100");//Îò÷¸ò
    }//Çàêðûòî if(VrtPnt==100)
//----4-3-Óñòàíîâêà îáðàçóþùåé îáúåêòà âåðòèêàëüíî îò òî÷êè 0--------+
   if(VrtPnt==0)//Çàäàíèå
    {
   Tm100=Tm0;//Ïåðåîïðåäåëåíèå Tm100
   if(ObjectSet(NameM,OBJPROP_TIME1,Tm100)!=true)//Óñòàíîâêà 1-îé êîîðäèíàòû âðåìåíè
   Print("#43-ErrSetTIME1=",GetLastError());//Íîìåð îøèáêè
   Print("Îáúåêò ",NameM," óñòàíîâëåí âåðòèêàëüíî îò òî÷êè 0");//Îò÷¸ò
    }//Çàêðûòî if(VrtPnt==0)
//----4-4-Ñäâèã òî÷êè 100 íà çàäàííîå ÷èñëî áàðîâ--------------------+
   if(MvPnt100!=0)//Çàäàíèå
    {
   Shift=iBarShift(Symbol(),0,Tm100,false);//Ïîèñê áàðà ïî âðåìåíè
   if(Shift<MvPnt100)
     {
   Print("Òî÷êó 100 îáúåêòà ",NameM," ìîæíî ñäâèíóòü òîëüêî íà ",Shift,
   " áàð(à), âìåñòî çàäàííûõ ",MvPnt100,". Äàëüøå âðó÷íóþ ...");//Îò÷¸ò
   MvPnt100=Shift;//Ïåðåîïðåäåëåíèå MvPnt0
     }//Çàêðûòî if(Shift<MvPnt100)
   Tm100=iTime(NULL,0,Shift-MvPnt100);//Tm100
   if(ObjectSet(NameM,OBJPROP_TIME1,Tm100)!=true)//Óñòàíîâêà êîîðäèíàòû âðåìåíè òî÷êè 100
   Print("#44-ErrSetTIME1=",GetLastError());//Íîìåð îøèáêè
   Print("Òî÷êà 100 îáúåêòà ",NameM," ñäâèíóòà íà ",MvPnt100," áàð(à)");//Îò÷¸ò
    }//Çàêðûòî if(MvPnt100!=0)
//----4-5-Ñäâèã òî÷êè 0 íà çàäàííîå ÷èñëî áàðîâ----------------------+
   if(MvPnt0!=0)//Çàäàíèå
    {
   Shift=iBarShift(Symbol(),0,Tm0,false);//Ïîèñê áàðà ïî âðåìåíè
   if(Shift<MvPnt0)//Óñëîâèå
     {
   Print("Òî÷êó 0 îáúåêòà ",NameM," ìîæíî ñäâèíóòü òîëüêî íà ",Shift,
   " áàð(à), âìåñòî çàäàííûõ ",MvPnt0,". Äàëüøå âðó÷íóþ ...");//Îò÷¸ò
   MvPnt0=Shift;//Ïåðåîïðåäåëåíèå MvPnt0
     }//Çàêðûòî if(Shift<MvPnt0)
   Tm0=iTime(NULL,0,Shift-MvPnt0);//Tm0
   if(ObjectSet(NameM,OBJPROP_TIME2,Tm0)!=true)//Óñòàíîâêà êîîðäèíàòû âðåìåíè òî÷êè 0
   Print("#45-ErrSetTIME2=",GetLastError());//Íîìåð îøèáêè
   Print("Òî÷êà 0 îáúåêòà ",NameM," ñäâèíóòà íà ",MvPnt0," áàð(à)");//Îò÷¸ò
    }//Çàêðûòî if(MvPnt0!=0)    
//----4-6-Êîððåêöèÿ êîîðäèíàò ñóùåñòâóþùèõ ëèíèé NmLn----------------+
   if(VrtPnt==100 || VrtPnt==0 || MvPnt100!=0 || MvPnt0!=0)//Óñëîâèå
    {
   for(i=0;i<ObjT;i++)//Ïåðåáîð îáúåêòîâ ïî ñïèñêó
     {
   Name=ObjectName(i);//Èìÿ îáúåêòà i
   if(StringSubstr(Name,0,7)=="LevLine" &&//Èìÿ ëèíèè LevLine
   StringSubstr(Name,14,10)==NameM)//Èìÿ ìîäèôèöèðóåìîãî îáúåêòà Fibo
      {
   Txt=StringSubstr(ObjectName(i),8,5);//Txt
   LevLnS=NormalizeDouble(StrToDouble(Txt),3);//Èçâëå÷¸ííîå çíà÷åíèå óðîâíÿ
   TmLnS=ObjectGet(ObjectName(i),OBJPROP_TIME1);//Èçâëå÷¸ííîå çíà÷åíèå âðåìåíè 
   TmLn1=Tm100+(Tm0-Tm100)*(1-LevLnS);//Èçìåí¸ííîå çíà÷åíèå TmLn1
   if((Txt=="0.000" || Txt=="1.000") && (TmLnS<TmLn1))z=0;//z-ïóñòàÿ ïåðåìåííàÿ
   else
       {
   if(ObjectSet(ObjectName(i),OBJPROP_TIME1,TmLn1)!=true)//Ïåðâàÿ êîîðäèíàòà âðåìåíè
   Print("#46-ErrSetOBJPROP_TIME1=",GetLastError());//Íîìåð îøèáêè
       }//Çàêðûòî if(Txt=="0.000" || Txt=="1.000")
      }//Çàêðûòî if(StringSubstr(ObjectName(i),0,7)=="LevLine")
     }//Çàêðûòî for(i=0;i<ObjT;i++)     
    }//Çàêðûòî if(VrtPnt==100 || VrtPnt==0 || MvPnt100!=0 || MvPnt0!=0)    
//----4-7-Ñîõðàíåíèå èñõîäíûõ êîîðäèíàò îáúåêòà â îïèñàíèè-----------+
   if(SvFstP==1 || SvFstP==2 || SvFstP==12)//Óñëîâèå
   {
   Txt=ObjectDescription(NameM);//Îïèñàíèå îáúåêòà
   if(Txt=="")Txt="îïèñàíèÿ íåò";//Îïèñàíèå îáúåêòà
   Print("Ïðåäøåñòâóþùåå îïèñàíèå îáúåêòà ",NameM,": ",Txt);//Îò÷¸ò
   if(SvFstP==1)Txt=StringConcatenate("T1=",TimeToStr(Tm100p,TIME_DATE|TIME_MINUTES),
   " T2=",TimeToStr(Tm0p,TIME_DATE|TIME_MINUTES));//Txt
   if(SvFstP==2)Txt=StringConcatenate("P1=",Pr100," P2=",Pr0);//Txt
   if(SvFstP==12)Txt=StringConcatenate("T1=",TimeToStr(Tm100p,TIME_DATE|TIME_MINUTES),
   " T2=",TimeToStr(Tm0p,TIME_DATE|TIME_MINUTES)," P1=",Pr100," P2=",Pr0);//Txt
   if(ObjectSetText(NameM,Txt,10,"Arial",CLR_NONE)!=true)//Èçìåíåíèå îïèñàíèÿ îáúåêòà
   Print("#47-ErrSetText=",GetLastError());//Íîìåð îøèáêè
   Print("Èçìåí¸ííîå îïèñàíèå îáúåêòà ",NameM,": ",Txt);//Îò÷¸ò
   }//Çàêðûòî if(SvFstP==1 || SvFstP==2 || SvFstP==12)
//----4-8-Äîïîëíåíèå óðîâíåì ïðîèçâîëüíîãî çíà÷åíèÿ------------------+
   if(AddLev!=0)//Çíà÷åíèå äîáàâëÿåìîãî óðîâíÿ íå ðàâíî íóëþ
   {
//----4-8-1-Êîå-÷òî ïðîâåðèì...--------------------------------------+
    for(i=0;i<32;i++)//Èíèöèàëèçàöèÿ öèêëà
    {
   if(AddLev==ObjectGet(NameM,OBJPROP_FIRSTLEVEL+i))//Âîçìîæíî òàêîé óðîâåíü óæå åñòü
     {
   Err=GetLastError();if(Err>0)Print("#481-ObjectGet=",GetLastError());//Íîìåð îøèáêè
   Print(" Óðîâåíü ",AddLev," ê îáúåêòó ",NameM,
   " íå äîáàâëåí, ò.ê. îí óæå ñóùåñòâóåò ïîä íîìåðîì ",i+1);//Îò÷¸ò
   AddLev=0;//Îòìåíà çàäàíèÿ íà óñòàíîâêó äîïîëíèòåëüíîãî óðîâíÿ
   break;//Ïðåêðàùàåò âûïîëíåíèå îïåðàòîðà for
     }//Çàêðûòî if(AddLev==ObjectGet(NameM,OBJPROP_FIRSTLEVEL+i))   
   Txt=ObjectGetFiboDescription(NameM,i);//Âîçìîæíî óðîâíåé ó îáúåêòà ìåíüøå, ÷åì 32
   if(GetLastError()!=0) break;//Ïðåêðàùåíèå âûïîëíåíèÿ îïåðàòîðà for
    }//Çàêðûòî for(i=0;i<32;i++)
//----4-8-2-Óñòàíîâêà íîâîãî óðîâíÿ----------------------------------+
   if(ObjectSet(NameM,OBJPROP_FIBOLEVELS,i+1)!=true)//×èñëî óðîâíåé îáúåêòà Fibo
   Print("#482-ErrFIBOLEVELS=",GetLastError());//Íîìåð îøèáêè
   if(ObjectSet(NameM,OBJPROP_FIRSTLEVEL+i,AddLev)!=true)//Çíà÷åíèå i-óðîâíÿ îáúåêòà Fibo
   Print("#482-ErrFIRSTLEVEL+i=",GetLastError());//Íîìåð îøèáêè
   else Txt=DoubleToStr(AddLev*100,1);//Txt
   if(ObjectSetFiboDescription(NameM,i,Txt)!=true)//Ïðèñâîåíèå îïèñàíèÿ óðîâíþ Fibo
   Print("#482-ErrSetFiboDescription=",GetLastError());//Íîìåð îøèáêè
   else
    {
   Txt=ObjectGetFiboDescription(NameM,i);//Îïèñàíèå óðîâíÿ îáúåêòà Fibo
   Print("Ê îáúåêòó ",NameM," äîáàâëåí óðîâåíü íîìåð ",i+1,", îïèñàíèå ~ ",Txt);//Îò÷¸ò
    }//Çàêðûòî else
   }//Çàêðûòî if(AddLev!=0)
//----4-9-Ïîñòðîåíèå ëèíèè íà çàäàííîì óðîâíå------------------------+
   if(LevLn!=10)//Çíà÷åíèå óðîâíÿ íå ðàâíî 10
   {
   NmLn=StringConcatenate("LevLine-",DoubleToStr(LevLn,3)," ",NameM);//Èìÿ ëèíèè
   TmLn1=Tm100+(Tm0-Tm100)*(1-LevLn);//Çíà÷åíèå âðåìåíè â òî÷êå 1 ëèíèè NmLn
   TmLn2=iTime(NULL,PERIOD_D1,0)+86400;//Âðåìÿ îòêðûòèÿ ôîðìèðóåìîãî äíåâíîãî áàðà+ñóòêè
   PrLevLn=NormalizeDouble(Pr0+(Pr100-Pr0)*LevLn,Digits);//Çíà÷åíèå öåíû íà óðîâíå LevLn
   ObjectCreate(NmLn,OBJ_TREND,0,TmLn1,PrLevLn,TmLn2,PrLevLn);//Ëèíèÿ NmLn
   Err=GetLastError();//Çàïðîñ îøèáêè
   if(Err==4200)//Îáúåêò c òàêèì èìåíåì óæå ñóùåñòâóåò
     {
   if(ObjectDelete(NmLn)!=true)//Óäàëåíèå îáúåêòà NmLn
   Print("#49-ErrObjectDelete=",GetLastError());//Íîìåð îøèáêè
   if(ObjectCreate(NmLn,OBJ_TREND,0,TmLn1,PrLevLn,TmLn2,PrLevLn)!=true)//Ëèíèÿ NmLn
   Print("#49-ErrObjectCreate=",GetLastError());//Íîìåð îøèáêè
     }//Çàêðûòî if(Err==4200)
   else if(Err>0 && Err!=4066)Print("#49-ErrObjectCreateLevLine=",Err);//Íîìåð îøèáêè
   if(ObjectSet(NmLn,OBJPROP_RAY,0)!=true)//Ñâîéñòâà ëó÷ äëÿ îáúåêòà NmLn=0
   Print("#49-ErrSetRAY=",GetLastError());//Íîìåð îøèáêè
   if(ObjectSet(NmLn,OBJPROP_STYLE,STYLE_DASH)!=true)//Øòðèõîâàÿ ëèíèÿ
   Print("#49-ErrObjectSetSTYLE=",GetLastError());//Íîìåð îøèáêè   
   Clr=ObjectGet(NameM,OBJPROP_COLOR);//Ïîëó÷åíèå öâåòà îáúåêòà
   Err=GetLastError();if(Err>0)Print("#39-ObjectGetCOLOR=",Err);//Íîìåð îøèáêè
   if(ObjectSet(NmLn,OBJPROP_COLOR,Clr)!=true)//Øòðèõîâàÿ ëèíèÿ
   Print("#49-ErrSetCOLOR=",GetLastError());//Íîìåð îøèáêè   
   Txt=StringConcatenate("Óðîâåíü ",LevLn*100,"%, öåíà=",DoubleToStr(PrLevLn,Digits),
   ", (äèàïàçîí öåí: ",DoubleToStr(Pr100,Digits),"~",DoubleToStr(Pr0,Digits),")");//Txt
   if(ObjectSetText(NmLn,Txt,10,"Arial",CLR_NONE)!=true)//Èçìåíåíèå îïèñàíèÿ îáúåêòà
   Print("#49-ErrSetText=",GetLastError());//Íîìåð îøèáêè   
   Print("Íà îáúåêòå ",NameM," (äèàïàçîí öåí: ",Pr100,"~",Pr0,
   ") ïîñòðîåíà ëèíèÿ ïîääåðæêè/ñîïðîòèâëåíèÿ íà óðîâíå ",LevLn*100,
   "%, (öåíà=",PrLevLn,")");//Îò÷¸ò
   }//Çàêðûòî if(LevLn!=10)
//----4-10-Ñîðòèðîâêà ñïèñêà óðîâíåé---------------------------------+
    if(SortLev==true)//Ñîðòèðîâêà ðàçðåøåíà
    {
   for(n=0;n<32;n++)
     {
   MnL[n]=ObjectGet(NameM,OBJPROP_FIRSTLEVEL+n);//Ïîëó÷åíèå çíà÷åíèÿ óðîâíÿ Fibo[n]
   if(GetLastError()!=0) break;//Çàâåðøåíèå öèêëà íà ïåðâîé îøèáêå
   CntL++;//Ñ÷¸ò÷èê óðîâíåé
     }//Çàêðûòî for(n=0;n<32;n++)
   MnL[n]=ArraySort(MnL,CntL,0,MODE_ASCEND);//Ñîðòèðîâêà ìàññèâà
//----
   for(n=0;n<CntL;n++)
     {
   if(ObjectSet(NameM,OBJPROP_FIRSTLEVEL+n,MnL[n])!=true)//Èçìåíåíèå çíà÷åíèÿ óðîâíÿ Fibo[n]
   Print("#410-ErrSetFIRSTLEVEL+n=",GetLastError());//Íîìåð îøèáêè
   Txt=DoubleToStr(MnL[n]*100,1);//Txt
   if(ObjectSetFiboDescription(NameM,n,Txt)!=true)//Ïðèñâîåíèå îïèñàíèÿ óðîâíþ Fibo
   Print("#410-ErrSetFiboDescription=",GetLastError());//Íîìåð îøèáêè
     }//Çàêðûòî for(n=0;n<32;n++)
    }//Çàêðûòî if(SortLev==true)
//----4-11-Ïîêàçàòü/óäàëèòü çíà÷åíèÿ öåíû----------------------------+
   if(ShPr==1 || ShPr==0)//Óñëîâèå
    {
   for(n=0;n<32;n++)
     {
   MnL[n]=ObjectGet(NameM,OBJPROP_FIRSTLEVEL+n);//Ïîëó÷àåò çíà÷åíèå óðîâíÿ Fibo[n]
   if(GetLastError()!=0) break;//Çàâåðøåíèå öèêëà íà ïåðâîé îøèáêå
   PrN=NormalizeDouble(Pr0+(Pr100-Pr0)*MnL[n],Digits);//Öåíîâîå çíà÷åíèå óðîâíÿ
   if(ShPr==0)//Çàäàíèå
   Txt=DoubleToStr(MnL[n]*100,1);//Txt
   if(ShPr==1)//Çàäàíèå
   Txt=StringConcatenate(DoubleToStr(PrN,Digits),"~",DoubleToStr(MnL[n]*100,1));//Txt
   if(ObjectSetFiboDescription(NameM,n,Txt)!=true)//Ïðèñâîåíèå îïèñàíèÿ óðîâíþ Fibo
   Print("#411-ErrSetFiboDescription=",GetLastError());//Íîìåð îøèáêè
     }//Çàêðûòî for(n=0;n<32;n++)
   if(ShPr==1)Print("Ïîêàçàíû çíà÷åíèÿ öåí íà ñóùåñòâóþùèõ óðîâíÿõ îáúåêòà ",NameM);//Îò÷¸ò
   if(ShPr==0)Print("Çíà÷åíèÿ öåí íà ñóùåñòâóþùèõ óðîâíÿõ îáúåêòà ",NameM," óäàëåíû");//Îò÷¸ò
    }//Çàêðûòî if(ShPri==true)
//====5=ÝÏÈËÎÃ=======================================================+
   WindowRedraw();//Ïðèíóäèòåëüíî ïåðåðèñîâûâàåò òåêóùèé ãðàôèê
   Sleep(5);//Òåõíîëîãè÷åñêàÿ ïàóçà
   Print("Êîíå÷íûå êîîðäèíàòû îáúåêòà ",NameM,
   ": Tm100=",TimeToStr(Tm100,TIME_DATE|TIME_MINUTES)," Pr100=",Pr100,
   " Tm0=",TimeToStr(Tm0,TIME_DATE|TIME_MINUTES)," Pr0=",Pr0);//Îò÷¸ò
   Txt1=StringConcatenate("Ñêðèïò ",TxtExNm," ðàáîòó íà ãðàôèêå ",Symbol(),
   " çàâåðøèë ",TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));//Txt1
   Txt2=("\nÎò÷¸ò ðàñïîëîæåí âî âêëàäêå Ýêñïåðòû.");//Txt2
   Txt=Txt1+Txt2;//Txt
   PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
   Print(Txt1,", ïðîäîëæèòåëüíîñòü ðàáîòû ñêðèïòà, ìèëëèñåêóíä - ",
   GetTickCount()-StartMoment,".");//Îò÷¸ò
   MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
   }//Çàêðûòî if(CntFb==1)
   return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---