Miscellaneous
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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---