//+------------------------------------------------------------------+
//| ModifyFiboLines.mq4 |
//| Vladislav Shurkin, 31 ÿíâàðÿ 2013 ãîäà. |
//|Ñêðèïò ìîäèôèöèðóåò âûáðàííûé îáúåêò "Ôèáî-ëèíèè" ïî çàäàíèþ ïîëü-|
//|çîâàòåëÿ (ñäâèãàåò òî÷êè ïîñòðîåíèÿ íà çàäàííîå ÷èñëî áàðîâ, íàíî-|
//|ñèò ëèíèè ñëåäà, ñîõðàíÿåò ïåðâîíà÷àëüíûå êîîðäëèíàòû îáúåêòà, äî-|
//|áàâëÿåò óðîâíè çàäàííîãî çíà÷åíèÿ, íàíîñèò è óäàëÿåò öåíû). |
//|Óïðîùàåò è óñêîðÿåò âûïîëíåíèå ýòîé ðàáîòû. |
//+------------------------------------------------------------------+
#property copyright "Vladislav Shurkin, 31 ÿíâàðÿ 2013 ãîäà."
#property link "vlad-755@mail.ru"
#property show_inputs
//+------------------------------------------------------------------+
//|ÐÓÊÎÂÎÄÑÒÂÎ ÏÎËÜÇÎÂÀÒÅËß. |
//+------------------------------------------------------------------+
/*
Ñêðèïò ïåðåíîñèòñÿ íà ãðàôèê ìûøüþ íà îäíó èç îáðàçóþùèõ òî÷åê
(100 èëè 0) ìîäèôèöèðóåìîãî îáúåêòà FiboLines.
 îòêðûâøåìñÿ îêíå íà âêëàäêå 'Âõîäíûå ïàðàìåòðû' óñòàíàâëèâàåòñÿ
çàäàíèå.
ÂåðòèêàëüÎòÒî÷êè100èëè0=10:
- 100 - îáðàçóþùàÿ îáúåêòà óñòàíàâëèâàåòñÿ âåðòèêàëüíî îò òî÷êè 100;
- 0 - îáðàçóþùàÿ îáúåêòà óñòàíàâëèâàåòñÿ âåðòèêàëüíî îò òî÷êè 0;
- 10 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.
ÑäâèãÒî÷êè100íàÁàðîâ=0 - òî÷êà 100 âûáðàííîãî îáúåêòà ñäâèãàåòñÿ íà
óêàçàííîå êîëè÷åñòâî áàðîâ (ïîëîæèòåëüíîå ÷èñëî ñäâèãàåò òî÷êó âïðàâî,
îòðèöàòåëüíîå - âëåâî, 0 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.
ÑäâèãÒî÷êè0íàÁàðîâ=0 - òî÷êà 0 âûáðàííîãî îáúåêòà ñäâèãàåòñÿ íà óêà-
çàííîå êîëè÷åñòâî áàðîâ (ïîëîæèòåëüíîå ÷èñëî ñäâèãàåò òî÷êó âïðàâî,
îòðèöàòåëüíîå - âëåâî, 0 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.
ÍàíåñåíèåËèíèèÑëåäà:
- false (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ;
- true - íà ãðàôèê íàíîñèòñÿ ëèíèÿ, ñîåäèíÿþùàÿ èñõîäíóþ è êîíå÷íóþ
òî÷êè ñäâèãà â ëþáîì íàïðàâëåíèè.
ÇàïèñüÈñõîäíûõÄàò1èÖåí2 - èñõîäíûå êîîðäèíàòû ñîõðàíÿþòñÿ â îïèñàíèè
îáúåêòà è ñòàíîâÿòñÿ âèäèìûìè ïðè íàâåäåíèè êóðñîðà íà îáðàçóþùóþ ëè-
íèþ:
- 1 - çàïèñü èñõîäíûõ äàò;
- 2 - çàïèñü èñõîäíûõ öåí;
- 12 - çàïèñü èñõîäíûõ äàò è öåí;
- 0 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.
ÄîáàâëåíèåÓðîâíÿ=0.0 - ê ñóùåñòâóþùèì óðîâíÿì äîáàâëÿåòñÿ óðîâåíü,
çíà÷åíèå êîòîðîãî çàäàíî äåñÿòè÷íîé äðîáüþ, 0.0 (ïî óìîë÷àíèþ) - äåé-
ñòâèÿ íå ïðîèçâîäÿòñÿ.
Ïîêàç1óäàëåíèå0öåí=10:
- 1 - äîïîëíÿåò îïèñàíèå óðîâíÿ öåíîâûì çíà÷åíèåì;
- 0 - óäàëÿåò öåíîâîå çíà÷åíèå èç îïèñàíèÿ óðîâíÿ;
- 10 (ïî óìîë÷àíèþ) - äåéñòâèÿ íå ïðîèçâîäÿòñÿ.
ÂûáîðÎáúåêòàÏîÈìåíè: ïðè æåëàíèè îáúåêò ìîäèôèêàöèè ìîæíî âûáðàòü
ïî èìåíè, äëÿ ýòîãî ñêîïèðóéòå èìÿ â îêíå ñâîéñòâ îáúåêòà FiboLines,
óñòàíîâèòå ñêðèïò íà ËÞÁÓÞ òî÷êó ãðàôèêà, â îòêðûâøåìñÿ îêíå âñòàâüòå
â ýòó ñòðîêó ñêîïèðîâàííîå èìÿ è óñòàíîâèòü çàäàíèå ñêðèïòó.
Çàäàíèÿ ñêðèïòó ìîãóò óñòàíàâëèâàòüñÿ êàê ïî îòäåëüíîñòè, òàê è âìå-
ñòå â ëþáîì ëîãè÷íîì ñî÷åòàíèè.
Îá îøèáêàõ â çàäàíèè ñêðèïò èçâåùàåò çâóêîâûì è âèçóàëüíûì ñèãíàëàìè.
Îò÷¸ò î ðàáîòå ñêðèïòà ñîõðàíÿåòñÿ âî âêëàäêå "Ýêñïåðòû".
Ïàðàìåòðû ìîäèôèöèðîâàííîãî ñêðèïòîì îáúåêòà ìîãóò áûòü äîïîëíèòåëüíî
èçìåí¸íû èç îêíà åãî ñâîéñòâ, à ïîñòðîåííûå ëèíèè è ñîõðàí¸ííûå çàïè-
ñè óäàëåíû ïðè íåîáõîäèìîñòè â ëþáîå âðåìÿ.
Ïðîãðàììà ïðåäóñìàòðèâàåò âîçìîæîñòü íàíåñåíèÿ íà ãðàôèê êîíòóðà çîíû
óñòàíîâêè êóðñîðà. Ääÿ ýòîãî íóæíî èçìåíèòü çíà÷åíèå ïåðåìåííîé ShCuZ
íà true è ïåðåêîìïèëèðîâàòü ñêðèïò. Âêëþ÷åííàÿ ïåðåìåííàÿ ShCuZ çàìå-
äëÿåò ðàáîòó ñêðèïòà.
*/
//+------------------------------------------------------------------+
//|Âíåøíèå ïåðåìåííûå (äîñòóïíû èç îêíà ñâîéñòâ ïðîãðàììû) |
//+------------------------------------------------------------------+
extern int ÂåðòèêàëüÎòÒî÷êè100èëè0=10;//Âåðòèêàëèçàöèÿ îáðàçóþùåé ëèíèè
extern int ÑäâèãÒî÷êè100íàÁàðîâ=0;//Ñäâèã òî÷êè 100 íà çàäàííîå ÷èñëî áàðîâ
extern int ÑäâèãÒî÷êè0íàÁàðîâ=0;//Ñäâèã òî÷êè 0 íà çàäàííîå ÷èñëî áàðîâ
extern bool ÍàíåñåíèåËèíèèÑëåäà;//Ïîñòðîåíèå ëèíèé îò ïåðâîíà÷àëüíûõ òî÷åê
extern int ÇàïèñüÈñõîäíûõÄàò1èÖåí2;//Çàïèñü èñõîäíûõ êîîðäèíàò
extern double ÄîáàâëåíèåÓðîâíÿ=0.0;//Äîáàâëåíèå óðîâíÿ ïðîèçâîëüíîãî çíà÷åíèÿ
extern int Ïîêàç1óäàëåíèå0öåí=10;//Íàíåñåíèå/óäàëåíèå çíà÷åíèé öåíû
extern string ÂûáîðÎáúåêòàÏîÈìåíè="";//Âûáîð îáúåêòà ïî èìåíè
//+------------------------------------------------------------------+
//|Äðóãèå îáúÿâëåííûå ïåðåìåííûå |
//+------------------------------------------------------------------+
bool ShCuZ=false;//Íàíåñåíèå íà ãðàôèê çîíû óñòàíîâêè êóðñîðà(false/true)
bool DrTkL; //Ïîñòðîåíèå ëèíèé îò ïåðâîíà÷àëüíûõ òî÷åê
bool ShPr; //Íàíåñåíèå çíà÷åíèé öåíû
bool Vsb; //Ñâîéñòâî îòîáðàæåíèÿ îáúåêòà íà ðàçëè÷íûõ ïåðèîäàõ
bool Pnt0; //Ìîäèôèêàöèÿ òî÷êè 0
bool Pnt100;//Ìîäèôèêàöèÿ òî÷êè 100
bool ObByNm;//Âûáîð îáúåêòà ìîäèôèêàöèè ïî èìåíè
datetime TmOD;//Çíà÷åíèå âðåìåíè â òî÷êå óñòàíîâêè ñêðèïòà
datetime Tm100,Tm100p;//Çíà÷åíèå âðåìåíè â òî÷êå 100% îáúåêòà FIBO
datetime Tm0,Tm0p; //Çíà÷åíèå âðåìåíè â òî÷êå 0% îáúåêòà FIBO
datetime Tm1Ln100,Tm2Ln100;//Çíà÷åíèå âðåìåíè â òî÷êå 1 è 2 ëèíèè TkLn100
datetime Tm1Ln0,Tm2Ln0;//Çíà÷åíèå âðåìåíè â òî÷êå 1 è 2 ëèíèè TkLn0
double PrOD; //Çíà÷åíèå öåíû â òî÷êå óñòàíîâêè ñêðèïòà
double Pr100;//Çíà÷åíèå öåíû â òî÷êå 100 îáúåêòà FIBO
double Pr0; //Çíà÷åíèå öåíû â òî÷êå 0 îáúåêòà FIBO
double m; //Îòêëîíåíèå, ïï
double AddLn;//Çíà÷åíèå äîáàâëÿåìîãî óðîâíÿ FIBO
double MnLn; //Çíà÷åíèå óðîâíåé 0% è 100% îáúåêòà FIBO
double PrN; //Çíà÷åíèå öåíû óðîâíÿ N îáúåêòà FIBO
int VrtPnt; //ÂåðòèêàëüÎòÒî÷êè100èëè0
int MvPnt0; //Ñäâèã òî÷êè 0 íà çàäàííîå ÷èñëî áàðîâ
int MvPnt100;//Ñäâèã òî÷êè 100 íà çàäàííîå ÷èñëî áàðîâ
int SvFstP;//Ñîõðàíåíèå ïåðâîíà÷àëüíûõ êîîðäèíàò
int n;//Îòêëîíåíèå, áàðîâ
int z;//Ïóñòàÿ ïåðåìåííàÿ
int u,j,i;//Ïîêàçàòåëè ñ÷¸ò÷èêîâ
int CntFbL;//Ñ÷¸ò÷èê îáúåêòîâ 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};//Îòêëîíåíèÿ öåíû
string Txt,Txt1,Txt2;//Txt
string TxtExNm;//Èìÿ ñêðèïòà
string Name,NameM;//Èìÿ îáúåêòà FIBO
string TkLn0,TkLn100;//Èìÿ îáúåêòà TkLn
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
Print("Ñêðèïò ",WindowExpertName()," íà÷àë ðàáîòó íà ãðàôèêå ",Symbol(),
" ",TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));//Îò÷¸ò
//====0=ÏÐÅÎÁÐÀÇÎÂÀÍÈÅ ÏÅÐÅÌÅÍÍÛÕ====================================+
VrtPnt=ÂåðòèêàëüÎòÒî÷êè100èëè0;//Âåðòèêàëèçàöèÿ
MvPnt100=ÑäâèãÒî÷êè100íàÁàðîâ;//Ñäâèã òî÷êè 100 íà çàäàííîå ÷èñëî áàðîâ
MvPnt0=ÑäâèãÒî÷êè0íàÁàðîâ;//Ñäâèã òî÷êè 0 íà çàäàííîå ÷èñëî áàðîâ
DrTkL=ÍàíåñåíèåËèíèèÑëåäà;//Ïîñòðîåíèå ëèíèé îò ïåðâîíà÷àëüíûõ òî÷åê
SvFstP=ÇàïèñüÈñõîäíûõÄàò1èÖåí2;//Çàïèñü èñõîäíûõ äàò
AddLn=ÄîáàâëåíèåÓðîâíÿ;//Äîïîëíåíèå óðîâíåì ïðîèçâîëüíîãî çíà÷åíèÿ
ShPr=Ïîêàç1óäàëåíèå0öåí;//Íàíåñåíèå çíà÷åíèé öåíû
TmOD=WindowTimeOnDropped();//Çíà÷åíèå âðåìåíè â òî÷êå óñòàíîâêè ñêðèïòà
PrOD=WindowPriceOnDropped();//Çíà÷åíèå öåíû â òî÷êå óñòàíîâêè ñêðèïòà
ObjT=ObjectsTotal();//Îáùåå ÷èñëî îáúåêòîâ íà ãðàôèêå
Prd=Period();//Çíà÷åíèå ÷èñëà ìèíóò ïåðèîäà äëÿ òåêóùåãî ãðàôèêà
TxtExNm=WindowExpertName();//Èìÿ ñêðèïòà
if(ÂûáîðÎáúåêòàÏîÈìåíè!="")ObByNm=true;//Âûáîð îáúåêòà ïî èìåíè
if(ObByNm==true)NameM=ÂûáîðÎáúåêòàÏîÈìåíè;//Èìÿ îáúåêòà FIBO-ëèíèè
//====1=ÊÎÍÒÐÎËÜ ÄÎÏÓÑÒÈÌÎÑÒÈ ÇÀÄÀÍÍÛÕ ÏÀÐÀÌÅÒÐÎÂ====================+
//----1-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)
//----1-2-Çàäàíèå ñêðèïòó íå óñòàíîâëåíî-----------------------------+
if(VrtPnt==10 && MvPnt0==0 && MvPnt100==0 && SvFstP==0 && DrTkL==0
&& AddLn==0 && ShPr==10)//Íåò èçìåíåíèé â îêíå 'Âõîäíûå ïàðàìåòðû'
{
Txt=StringConcatenate("Çàäàíèå ñêðèïòó ",TxtExNm," íå óñòàíîâëåíî. ",
"\nÓñòàíîâèòå çàäàíèå â îêíå 'Âõîäíûå ïàðàìåòðû'.");//Txt
PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
Print(Txt);//Îò÷¸ò
MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
}//Çàêðûòî if(VrtPnt==10 ...
//----1-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
//----1-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
//----1-5-Çàäàíî ñëèøêîì áîëüøîå çíà÷åíèå äîïîëíèòåëüíîãî Ôèáî-óðîâíÿ+
if(AddLn>10)//Çíà÷åíèå Ôèáî-óðîâíÿ > 10
{
Txt=StringConcatenate("Çàäàííîå çíà÷åíèå äîïîëíèòåëüíîãî Ôèáî-óðîâíÿ > 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(AddLn>10)
//----1-6-Çàäàíû íåäîïóñòèìûå çíà÷åíèÿ ïàðàìåòðà 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
//====2=ÎÏÐÅÄÅËÅÍÈÅ ÎÁÚÅÊÒÀ ÌÎÄÈÔÈÊÀÖÈÈ==============================+
if(ObByNm==false)//Èìÿ îáúåêòà íå çàäàíî
{
//----2-1-Íàíåñåíèå íà ãðàôèê òî÷êè óñòàíîâêè êóðñîðà----------------+
if(ShCuZ==true)//Ðàçðåøåíèå
{
ObjectCreate("CP",OBJ_ELLIPSE,0,TmOD-Prd*60,PrOD,TmOD+Prd*60,PrOD);//Ýëëèïñ
Err=GetLastError();//Íîìåð îøèáêè
if(Err>0 && Err!=4200)Print("#FunDrTkL-ErrTREND=",Err);//Íîìåð îøèáêè
if(Err==4200)//Îáúåêò óæå ñóùåñòâóåò
{
if(ObjectDelete("CP")!=true)//Óäàëåíèå îáúåêòà CP
Print("#CP-ErrObjectDelete=",GetLastError());//Íîìåð îøèáêè
if(ObjectCreate("CP",OBJ_ELLIPSE,0,TmOD-Prd*60,PrOD,TmOD+Prd*60,PrOD)!=true)//Ýëëèïñ
Print("#CP-ErrObjectCreate=",GetLastError());//Íîìåð îøèáêè
}//Çàêðûòî if(Err==4200)
if(ObjectSet("CP",OBJPROP_COLOR,Red)!=true)//Óñòàíîâêà öâåòà ëèíèè îáúåêòà
Print("#CP-ErrSetCOLOR=",GetLastError());//Íîìåð îøèáêè
if(ObjectSet("CP",OBJPROP_SCALE,1)!=true)//Óñòàíîâêà ìàñøòàáà ëèíèè îáúåêòà
Print("#CP-ErrSetSCALE=",GetLastError());//Íîìåð îøèáêè
if(ObjectSet("CP",OBJPROP_BACK,0)!=true)//Óñòàíîâêà ôëàãà ôîíîâîãî îòîáðàæåíèÿ îáúåêòà
Print("#CP-ErrSetBACK=",GetLastError());//Íîìåð îøèáêè
if(ObjectSet("CP",OBJPROP_WIDTH,5)!=true)//Óñòàíîâêà øèðèíû ëèíèè îáúåêòà
Print("#CP-ErrSetWIDTH=",GetLastError());//Íîìåð îøèáêè
ObjectSetText("CP","Òî÷êà óñòàíîâêè êóðñîðà",10,"Arial",CLR_NONE);//Îïèñàíèå CP
Err=GetLastError();if(Err>0)Print("ObjectSetTextCP=",Err);//Íîìåð îøèáêè
WindowRedraw();//Ïðèíóäèòåëüíî ïåðåðèñîâûâàåò òåêóùèé ãðàôèê
Print("Òî÷êà óñòàíîâêè êóðñîðà: Tm=",
TimeToStr(TmOD,TIME_DATE|TIME_MINUTES),", Pr=",PrOD);//Îò÷¸ò
}//Çàêðûòî if(ShCuZ==true)
//----2-2-Âëîæåííûå öèêëû ïîèñêà îáúåêòà-----------------------------+
for(u=0;u<7;)//Öèêë u
{
if(CntFbL>0)break;//Îáúåêò íàéäåí, âûõîä èç öèêëà u
for(j=0;j<7;)//Öèêë j
{
if(CntFbL>0)break;//Îáúåêò íàéäåí, âûõîä èç öèêëà j
n=AsTm[u];//Îòêëîíåíèå ïî áàðàì
if(Digits==3 || Digits==5)m=AsPr[j]*Point*10;//Îòêëîíåíèå ïî öåíå
else m=AsPr[j]*Point;//Îòêëîíåíèå ïî öåíå
//----2-2-1-Íàíåñåíèå íà ãðàôèê çîíû óñòàíîâêè êóðñîðà---------------+
if(ShCuZ==true)//Ðàçðåøåíèå
{
ObjectCreate("RA",OBJ_RECTANGLE,0,TmOD-n*Prd*60,PrOD-m,
TmOD+n*Prd*60,PrOD+m);//Ïðÿìîóãîëüíèê
Err=GetLastError();//Íîìåð îøèáêè
if(Err>0 && Err!=4200)Print("#FunDrTkL-ErrTREND=",Err);//Íîìåð îøèáêè
if(Err==4200)//Îáúåêò óæå ñóùåñòâóåò
{
if(ObjectDelete("RA")!=true)//Óäàëåíèå îáúåêòà RA
Print("#RA-ErrObjectDelete=",GetLastError());//Íîìåð îøèáêè
if(ObjectCreate("RA",OBJ_RECTANGLE,0,TmOD-n*Prd*60,PrOD-m,
TmOD+n*Prd*60,PrOD+m)!=true)//Ïðÿìîóãîëüíèê
Print("#RA-ErrObjectCreate=",GetLastError());//Íîìåð îøèáêè
}//Çàêðûòî if(Err==4200)
if(ObjectSet("RA",OBJPROP_COLOR,Yellow)!=true)//Óñòàíîâêà öâåòà ëèíèè îáúåêòà
Print("#RA-ErrSetCOLOR=",GetLastError());//Íîìåð îøèáêè
if(ObjectSet("RA",OBJPROP_BACK,0)!=true)//Óñòàíîâêà ôëàãà ôîíîâîãî îòîáðàæåíèÿ îáúåêòà
Print("#RA-ErrSetBACK=",GetLastError());//Íîìåð îøèáêè
WindowRedraw();//Ïðèíóäèòåëüíî ïåðåðèñîâûâàåò òåêóùèé ãðàôèê
Sleep(1500);//Ïàóçà
}//Çàêðûòî if(ShCuZ==true)
//----2-2-2-Îïðåäåëåíèå êîîðäèíàò îáúåêòà----------------------------+
for(i=0;i<ObjT;i++)//Ïåðåáîð îáúåêòîâ ïî ñïèñêó
{
Name=ObjectName(i);//Èìÿ îáúåêòà
Err=GetLastError();if(Err>0)Print("#21-",i,"-ErrObjectName=",Err);//Íîìåð îøèáêè
if(ObjectType(Name)!=OBJ_FIBO)//Íå ëèíèè Ôèáîíà÷÷è...
{
Err=GetLastError();if(Err>0)Print("#21-",i,"-ObjectType=",Err);//Íîìåð îøèáêè
continue;//...ïðîïóñêàåì
}
Tm100=ObjectGet(Name,OBJPROP_TIME1);//ïåðâàÿ êîîðäèíàòà âðåìåíè (òî÷êà 100)
Err=GetLastError();if(Err>0)Print("#21-",i,"-ErrTIME1=",Err);//Íîìåð îøèáêè
Pr100=ObjectGet(Name,OBJPROP_PRICE1);//ïåðâàÿ êîîðäèíàòà öåíû (òî÷êà 100)
Err=GetLastError();if(Err>0)Print("#21-",i,"-ErrPRICE1=",Err);//Íîìåð îøèáêè
Tm0=ObjectGet(Name,OBJPROP_TIME2);//âòîðàÿ êîîðäèíàòà âðåìåíè (òî÷êà 0)
Err=GetLastError();if(Err>0)Print("#21-",i,"-ErrTIME2=",Err);//Íîìåð îøèáêè
Pr0=ObjectGet(Name,OBJPROP_PRICE2);//âòîðàÿ êîîðäèíàòà öåíû (òî÷êà 0)
Err=GetLastError();if(Err>0)Print("#21-",i,"-ErrPRICE2=",Err);//Íîìåð îøèáêè
//----2-2-3-Îïðåäåëåíèå èìåíè îáúåêòà--------------------------------+
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-ëèíèè
CntFbL++;//Ñ÷¸ò÷èê îáúåêòîâ FIBO-ëèíèè
Vsb=ObjectGet(NameM,OBJPROP_TIMEFRAMES);//ñâîéñòâî îòîáðàæåíèÿ îáúåêòà
Err=GetLastError();if(Err>0)Print("#31-",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);//Îò÷¸ò
}//Çàêðûòî if(Vsb==0)
else
{
Print("Âûáðàí îáúåêò ",i," - ",NameM," (ñêðûò íà íåêîòîðûõ òàéìôðåéìàõ)");//Îò÷¸ò
Print("Êîîðäèíàòû ",NameM,": Tm100=",TimeToStr(Tm100,TIME_DATE|TIME_MINUTES),
" Pr100=",Pr100," Tm0=",TimeToStr(Tm0,TIME_DATE|TIME_MINUTES)," Pr0=",Pr0);//Îò÷¸ò
}//Çàêðûòî else
}//Çàêðûòî 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("RA","Çîíà óñòàíîâêè êóðñîðà",10,"Arial",CLR_NONE);//Îïèñàíèå CP
Err=GetLastError();if(Err>0)Print("ObjectSetTextRA=",Err);//Íîìåð îøèáêè
}//Çàêðûòî if(ShCuZ==true)
//----2-3-Â çîíå óñòàíîâêè êóðñîðà íåò îáúåêòà Fibo-ëèíèè-----------+
if(CntFbL==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(CntFbL==0)
//----2-4-Â çîíå óñòàíîâêè êóðñîðà íåñêîëüêî îáúåêòîâ Fibo-ëèíèè----+
if(CntFbL>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," îáðàçóþùèå òî÷êè ",CntFbL,"-õ îáúåêòîâ 'Fibo-ëèíèè'. ",
"\nÎò÷¸ò ðàñïîëîæåí âî âêëàäêå Ýêñïåðòû. ",
"\nÂûáåðèòå ìîäèôèöèðóåìûé îáúåêò ïî äðóãîé òî÷êå.");//Txt
PlaySound("Inform.wav");//Çâóêîâîé ñèãíàë
Print(Txt);//Çàïèñü â æóðíàë
MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
}//Çàêðûòî if(CntFbL>1)
}//Çàêðûòî if(ObByNm==false)
//====3=ÌÎÄÈÔÈÊÀÖÈß ÂÛÁÐÀÍÍÎÃÎ ÎÁÚÅÊÒÀ===============================+
if(CntFbL==1 || ObByNm==true)//Íàéäåí îäèí îáúåêò Fibo-ëèíèè èëè îí çàäàí èìåíåì
{
//----3-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("#31-ErrGetTIME1=",Err);//Íîìåð îøèáêè
Tm100p=Tm100;//Çàôèêñèðîâàíà ïåðâàÿ êîîðäèíàòà âðåìåíè (òî÷êà 100)
Tm0=ObjectGet(NameM,OBJPROP_TIME2);//âòîðàÿ êîîðäèíàòà âðåìåíè (òî÷êà 0)
Err=GetLastError();if(Err>0)Print("#31-ErrGetTIME2=",Err);//Íîìåð îøèáêè
Tm0p=Tm0;//Çàôèêñèðîâàíà âòîðàÿ êîîðäèíàòà âðåìåíè (òî÷êà 0)
Pr100=ObjectGet(NameM,OBJPROP_PRICE1);//Ïåðâàÿ êîîðäèíàòà öåíû (òî÷êà 100)
Err=GetLastError();if(Err>0)Print("#31-ErrGetPRICE1=",Err);//Íîìåð îøèáêè
Pr0=ObjectGet(NameM,OBJPROP_PRICE2);//Âòîðàÿ êîîðäèíàòà öåíû (òî÷êà 0)
Err=GetLastError();if(Err>0)Print("#31-ErrGetPRICE2=",Err);//Íîìåð îøèáêè
//----3-2-Óñòàíîâêà îáðàçóþùåé îáúåêòà âåðòèêàëüíî îò òî÷êè 100------+
if(VrtPnt==100)//Çàäàíèå
{
Tm0=Tm100;//Ïåðåîïðåäåëåíèå Tm0
if(ObjectSet(NameM,OBJPROP_TIME2,Tm0)!=true)//Óñòàíîâêà 2-îé êîîðäèíàòû âðåìåíè
Print("#32-ErrSetTIME2=",GetLastError());//Íîìåð îøèáêè
Print("Îáúåêò ",NameM," óñòàíîâëåí âåðòèêàëüíî îò òî÷êè 100");//Îò÷¸ò
if(DrTkL==true)//Çàäàíèå
{
Pnt0=true;FunDrTkL();//Ôóíêöèÿ ïîñòðîåíèÿ ëèíèè ñëåäà
}//Çàêðûòî if(DrTkL==true)
}//Çàêðûòî if(VrtPnt==100)
//----3-3-Óñòàíîâêà îáðàçóþùåé îáúåêòà âåðòèêàëüíî îò òî÷êè 0--------+
if(VrtPnt==0)//Çàäàíèå
{
Tm100=Tm0;//Ïåðåîïðåäåëåíèå Tm100
if(ObjectSet(NameM,OBJPROP_TIME1,Tm100)!=true)//Óñòàíîâêà 1-îé êîîðäèíàòû âðåìåíè
Print("#33-ErrSetTIME1=",GetLastError());//Íîìåð îøèáêè
Print("Îáúåêò ",NameM," óñòàíîâëåí âåðòèêàëüíî îò òî÷êè 0");//Îò÷¸ò
if(DrTkL==true)//Çàäàíèå
{
Pnt100=true;FunDrTkL();//Ôóíêöèÿ ïîñòðîåíèÿ ëèíèè ñëåäà
}//Çàêðûòî if(DrTkL==true)
}//Çàêðûòî if(VrtPnt==0)
//----3-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("#34-ErrSetTIME1=",GetLastError());//Íîìåð îøèáêè
Print("Òî÷êà 100 îáúåêòà ",NameM," ñäâèíóòà íà ",MvPnt100," áàð(à)");//Îò÷¸ò
if(DrTkL==true)//Çàäàíèå
{
Pnt100=true;FunDrTkL();//Ôóíêöèÿ ïîñòðîåíèÿ ëèíèè ñëåäà
}//Çàêðûòî if(DrTkL==true)
}//Çàêðûòî if(MvPnt100!=0)
//----3-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("#35-ErrSetTIME2=",GetLastError());//Íîìåð îøèáêè
Print("Òî÷êà 0 îáúåêòà ",NameM," ñäâèíóòà íà ",MvPnt0," áàð(à)");//Îò÷¸ò
if(DrTkL==true)//Çàäàíèå
{
Pnt0=true;FunDrTkL();//Ôóíêöèÿ ïîñòðîåíèÿ ëèíèè ñëåäà
}//Çàêðûòî if(DrTkL==true)
//Print("Êñ35 "," MvPnt0=",MvPnt0," Shift=",Shift," Tm0=",Tm0," Pnt0=",Pnt0);//Êñ
}//Çàêðûòî if(MvPnt0!=0)
//----3-6-Ñîõðàíåíèå èñõîäíûõ êîîðäèíàò îáúåêòà â îïèñàíèè-----------+
if(SvFstP==1 || SvFstP==2 || SvFstP==12)//Óñëîâèå
{
Txt=ObjectDescription(NameM);//îïèñàíèå îáúåêòà
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),
" P1=",Pr100," T2=",TimeToStr(Tm0p,TIME_DATE|TIME_MINUTES)," P2=",Pr0);//Txt
if(ObjectSetText(NameM,Txt,10,"Arial",CLR_NONE)!=true)//Èçìåíåíèå îïèñàíèÿ îáúåêòà
Print("#36-ErrSetText=",GetLastError());//Íîìåð îøèáêè
Print("Èçìåí¸ííîå îïèñàíèå îáúåêòà ",NameM,": ",Txt);//Îò÷¸ò
}
//----3-7-Äîïîëíåíèå óðîâíåì ïðîèçâîëüíîãî çíà÷åíèÿ------------------+
if(AddLn!=0)//Çíà÷åíèå äîáàâëÿåìîãî óðîâíÿ íå ðàâíî íóëþ
{
//----3-7-1-Êîå-÷òî ïðîâåðèì...--------------------------------------+
for(i=0;i<32;i++)//Èíèöèàëèçàöèÿ öèêëà
{
if(AddLn==ObjectGet(NameM,OBJPROP_FIRSTLEVEL+i))//Âîçìîæíî òàêîé óðîâåíü óæå åñòü
{
Err=GetLastError();if(Err>0)Print("#371-ObjectGet=",GetLastError());//Íîìåð îøèáêè
Print(" Óðîâåíü ",AddLn," ê îáúåêòó ",NameM,
" íå äîáàâëåí, ò.ê. îí óæå åñòü ïîä íîìåðîì ",i+1);//Îò÷¸ò
AddLn=0;//Îòìåíà çàäàíèÿ íà óñòàíîâêó äîïîëíèòåëüíîãî óðîâíÿ
break;//Ïðåêðàùàåò âûïîëíåíèå îïåðàòîðà for
}//Çàêðûòî if(AddLn==ObjectGet(NameM,OBJPROP_FIRSTLEVEL+i))
Txt=ObjectGetFiboDescription(NameM,i);//Âîçìîæíî óðîâíåé ó îáúåêòà ìåíüøå, ÷åì 32
if(GetLastError()!=0) break;//Ïðåêðàùåíèå âûïîëíåíèÿ îïåðàòîðà for
//Print("Êñ371 ",NameM," íîìåð óðîâíÿ: ",i," îïèñàíèå: ",Txt);//Êñ371
}//Çàêðûòî for(i=0;i<32;i++)
}//Çàêðûòî if(AddLn!=0)
//----3-7-2-Óñòàíîâêà íîâîãî óðîâíÿ----------------------------------+
if(AddLn!=0)//Çíà÷åíèå äîáàâëÿåìîãî óðîâíÿ íå ðàâíî íóëþ
{
if(ObjectSet(NameM,OBJPROP_FIBOLEVELS,i+1)!=true)//×èñëî óðîâíåé îáúåêòà Fibo
Print("#372-ErrFIBOLEVELS=",GetLastError());//Íîìåð îøèáêè
if(ObjectSet(NameM,OBJPROP_FIRSTLEVEL+i,AddLn)!=true)//Çíà÷åíèå n-óðîâíÿ îáúåêòà Fibo
Print("#372-ErrFIRSTLEVEL+i=",GetLastError());//Íîìåð îøèáêè
else Txt=DoubleToStr(AddLn*100,1);//Txt
if(ObjectSetFiboDescription(NameM,i,Txt)!=true)//Ïðèñâîåíèå îïèñàíèÿ óðîâíþ Ôèáî
Print("#372-ErrSetFiboDescription=",GetLastError());//Íîìåð îøèáêè
else
{
Txt=ObjectGetFiboDescription(NameM,i);//Îïèñàíèå óðîâíÿ îáúåêòà Ôèáî
Print("Ê îáúåêòó ",NameM," äîáàâëåí óðîâåíü íîìåð ",i+1,", îïèñàíèå ~ ",Txt);//Îò÷¸ò
}//Çàêðûòî else
}//Çàêðûòî if(AddLn!=0)
//----3-8-Ïîêàçàòü/óäàëèòü çíà÷åíèÿ öåíû-----------------------------+
if(ShPr==1 || ShPr==0)//Óñëîâèå
{
for(n=0;n<32;n++)
{
MnLn=ObjectGet(NameM,OBJPROP_FIRSTLEVEL+n);//Ïîëó÷àåò çíà÷åíèå óðîâíÿ Fibo ñ èíäåêñîì n
if(GetLastError()!=0) break;//Çàâåðøåíèå öèêëà íà ïåðâîé îøèáêå
PrN=NormalizeDouble(Pr0+(Pr100-Pr0)*MnLn,Digits);//Öåíîâîå çíà÷åíèå óðîâíÿ
if(ShPr==0)//Çàäàíèå
Txt=DoubleToStr(MnLn*100,1);//Txt
if(ShPr==1)//Çàäàíèå
Txt=StringConcatenate(DoubleToStr(PrN,Digits),"~",DoubleToStr(MnLn*100,1));//Txt
if(ObjectSetFiboDescription(NameM,n,Txt)!=true)//ïðèñâàèâîåíèå îïèñàíèå óðîâíþ Ôèáî
Print("#38-ErrSetFiboDescription=",GetLastError());//Íîìåð îøèáêè
}//Çàêðûòî for(n=0;n<32;n++)
if(ShPr==1)Print("Íàíåñåíû çíà÷åíèÿ öåí íà ëèíèè îáúåêòà ",NameM);//Îò÷¸ò
if(ShPr==0)Print("Çíà÷åíèÿ öåí íà ëèíèÿõ îáúåêòà ",NameM," óäàëåíû");//Îò÷¸ò
}//Çàêðûòî if(ShPri==true)
//====4=ÎÒרÒÛ È ÊÎÌÌÅÍÒÀÐÈÈ=========================================+
WindowRedraw();//Ïðèíóäèòåëüíî ïåðåðèñîâûâàåò òåêóùèé ãðàôèê
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");//Çâóêîâîé ñèãíàë
// Comment(Txt);//Êîììåíòàðèé
Print(Txt1);//Îò÷¸ò
MessageBox(Txt,TxtExNm);//Ñîîáùåíèå
}//Çàêðûòî if(CntFbL==1)
return(0);//Ïðåêðàùåíèå âûïîëíåíèÿ òåêóùåé ôóíêöèè, ðåçóëüòàò=0
}
//+------------------------------------------------------------------+
//|ÔÓÍÊÖÈß ïîñòðîåíèÿ ëèíèè ñëåäà void FunDrTkL() |
//+------------------------------------------------------------------+
void FunDrTkL()
{
if((VrtPnt==0 || MvPnt100!=0) && Pnt100==true)//Äëÿ òî÷êè 100
{
TkLn100=StringConcatenate("TkLn100 ",NameM);//Íàèìåíîâàíèå ëèíèè 100 ñëåäà
ObjectCreate(TkLn100,OBJ_TREND,0,Tm100p,Pr100,Tm100,Pr100);//Òðåíäîâàÿ ëèíèÿ
Err=GetLastError();if(Err>0 && Err!=4200)Print("#FunDrTkL-ErrTREND=",Err);//Íîìåð îøèáêè
if(Err==4200)//4200 - Îáúåêò óæå ñóùåñòâóåò
{
ObjectSet(TkLn100,OBJPROP_TIME2,Tm100);//Óñòàíàâëèâàåò âòîðóþ êîîðäèíàòó âðåìåíè
Err=GetLastError();if(Err>0)Print("#FunDrTkL-ErrSetTIME2=",Err);//Íîìåð îøèáêè
}//Çàêðûòî if(Err==4200)
ObjectSet(TkLn100,OBJPROP_RAY,0);//Óñòàíàâëèâàåò ôëàã ñâîéñòâà ëó÷
Err=GetLastError();if(Err>0)Print("#FunDrTkL-ErrSetRAY=",Err);//Íîìåð îøèáêè
Tm1Ln100=ObjectGet(TkLn100,OBJPROP_TIME1);//Ïåðâàÿ êîîðäèíàòà âðåìåíè TkLn100
Tm2Ln100=ObjectGet(TkLn100,OBJPROP_TIME2);//Âòîðàÿ êîîðäèíàòà âðåìåíè TkLn100
Txt=StringConcatenate("Tm1Ln100 ",TimeToStr(Tm1Ln100,TIME_DATE|TIME_MINUTES),
"; Tm2Ln100 ",TimeToStr(Tm2Ln100,TIME_DATE|TIME_MINUTES));//Txt
ObjectSetText(TkLn100,Txt,10,"Arial",CLR_NONE);//Èçìåíåíèå îïèñàíèÿ TkLn100
Err=GetLastError();if(Err>0)Print("#FunDrTkL100-ObjectSetText=",Err);//Íîìåð îøèáêè
Pnt100=false;//Ïîñòðîåíèå ëèíèè ñëåäà òî÷êè 100 çàâåðøåíî
Print("Ïîñòðîåíà ëèíèÿ ñëåäà òî÷êè 100 ñ êîîðäèíàòàìè: ",
" Tm1Ln100=",TimeToStr(Tm1Ln100,TIME_DATE|TIME_MINUTES),
" Tm2Ln100=",TimeToStr(Tm2Ln100,TIME_DATE|TIME_MINUTES)," Pr=",Pr100);//Îò÷¸ò
}//Çàêðûòî if(VrtPnt==0 || MvPnt0!=)
//----
if((VrtPnt==100 || MvPnt0!=0) && Pnt0==true)//Äëÿ òî÷êè 0
{
TkLn0=StringConcatenate("TkLn0 ",NameM);//Íàèìåíîâàíèå ëèíèè 0 ñëåäà
ObjectCreate(TkLn0,OBJ_TREND,0,Tm0p,Pr0,Tm0,Pr0);//Òðåíäîâàÿ ëèíèÿ
Err=GetLastError();if(Err>0 && Err!=4200)Print("#FunDrTkL-ErrTREND=",Err);//Íîìåð îøèáêè
if(Err==4200)//4200 - Îáúåêò óæå ñóùåñòâóåò
{
ObjectSet(TkLn0,OBJPROP_TIME2,Tm0);//Óñòàíàâëèâàåò âòîðóþ êîîðäèíàòó âðåìåíè
Err=GetLastError();if(Err>0)Print("#FunDrTkL-ErrSetTIME2=",Err);//Íîìåð îøèáêè
}//Çàêðûòî if(Err==4200)
ObjectSet(TkLn0,OBJPROP_RAY,0);//Óñòàíàâëèâàåò ôëàã ñâîéñòâà ëó÷
Err=GetLastError();if(Err>0)Print("#FunDrTkL-ErrSetRAY=",Err);//Íîìåð îøèáêè
Tm1Ln0=ObjectGet(TkLn0,OBJPROP_TIME1);//Ïåðâàÿ êîîðäèíàòà âðåìåíè TkLn0
Tm2Ln0=ObjectGet(TkLn0,OBJPROP_TIME2);//Âòîðàÿ êîîðäèíàòà âðåìåíè TkLn0
Txt=StringConcatenate("Tm1Ln0 ",TimeToStr(Tm1Ln0,TIME_DATE|TIME_MINUTES),
"; Tm2Ln0 ",TimeToStr(Tm2Ln0,TIME_DATE|TIME_MINUTES));//Txt
ObjectSetText(TkLn0,Txt,10,"Arial",CLR_NONE);//Èçìåíåíèå îïèñàíèÿ TkLn0
Err=GetLastError();if(Err>0)Print("#FunDrTkL0-ObjectSetText=",Err);//Íîìåð îøèáêè
Pnt0=false;//Ïîñòðîåíèå ëèíèè ñëåäà òî÷êè 0 çàâåðøåíî
Print("Ïîñòðîåíà ëèíèÿ ñëåäà òî÷êè 0 ñ êîîðäèíàòàìè: ",
" Tm1Ln0=",TimeToStr(Tm1Ln0,TIME_DATE|TIME_MINUTES),
" Tm2Ln0=",TimeToStr(Tm2Ln0,TIME_DATE|TIME_MINUTES)," Pr=",Pr0);//Îò÷¸ò
}//Çàêðûòî if(VrtPnt==100 || MvPnt100!=0)
return;//Ïðåêðàùàåò âûïîëíåíèå òåêóùåé ôóíêöèè
}//Çàêðûòî FunDrTkL()
//+------------------------------------------------------------------+
Comments