Price Data Components
0
Views
0
Downloads
0
Favorites
DualFiboLine_LastPeriod
//+------------------------------------------------------------------+
//| DualFiboLine_LastPeriod.mq4 |
//| Óðîâíè Ôèáîííà÷è (äâóíàïðàâëåííûå) |
//| ïî ïðåäûäóùåìó çàâåðø¸ííîìó ïåðèîäó |
//| Copyright © 2011, Andrey N. Bolkonsky |
//| 04/03.2011 |
//| email: abolk@yandex.ru | skype: abolk1 |
//| Ïèøó è ìîäåðíèçèðóþ - ñîâåòíèêè, èíäèêàòîðû, ñêðèïòû - ïîä çàêàç |
//+------------------------------------------------------------------+
// Ïðè ñîçäàíèè DualFiboLine_LastPeriod (ìîäåðíèçàöèÿ è àäàïòàöèÿ)
// èñïîëüçîâàëñÿ ñêðèïò ñî ñëåäóþùèì òåêñòîì copyright:
//
// yuraz (C) 2006-2009 yzh@mail.ru
// äëÿ ñîçäàíèÿ äâóõñòîðîííåé ôèáî
// 2006, áëàãîäàðíîñòü çà ñîäåéñòâèå Âàäèìó Æóíêî
// 2008, Âèòàëèé
//
// íàçâàíèå ôàéëà ñêðèïòà: YURAZ_CreateDualFibo.mq4
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Andrey N. Bolkonsky"
#property link "abolk@yandex.ru"
//---- indicator settings
#property indicator_chart_window
//---- input parameters
#define _LabelFibo "LabelFiboLine"
#define _LenFibo 13
//---- indicator parameters
extern int _LastPeriod =PERIOD_D1; // Ïðîøåäøèé ïåðèîä, íà êîòîðûé óñòàíàâëèâàþòñÿ óðîâíè Ôèáî
extern int _shiftStart =1; // Íîìåð áàðà íàçàä (òàéìôðåéì ïåðèîäà), ñ êîòîðãî íà÷èíàåòñÿ ïðîøåäøèé ïåðèîä
extern int _shiftEnd =0; // Íîìåð áàðà íàçàä (òàéìôðåéì ïåðèîäà), ñ êîòîðãî íà÷èíàåòñÿ òåêóùèé ïåðèîä
//---- FiboLine parameters
extern color gFiboTLColor =Red; // Öâåò íàñòðîå÷íîé ëèíèè Ôèáî (TUNING LINE)
extern color gFiboColor =Red; // Öâåò Ôèáî
extern int gFiboTLStyle =STYLE_DOT; // Íàñòðîéêà ñòèëÿ íàñòðîå÷íîé ëèíèè Ôèáî (TUNING LINE)
extern int gFiboStyle =STYLE_SOLID; // Íàñòðîéêà ñòèëÿ ëèíèè Ôèáî
extern int gFiboTLStyle_WIDTH =0; // Íàñòðîéêà òîëùèíû íàñòðîå÷íîé ëèíèè Ôèáî (TUNING LINE)
extern int gFiboStyle_WIDTH =0; // Íàñòðîéêà òîëùèíû ëèíèè Ôèáî
extern bool gFiboFONE =true; // true - ôîíîâîå îòîáðàæåíèå ëèíèé Ôèáî
// êîððåêòèðîâêà óðîâíåé: 0 - óðîâåíü íå îòîáðàæàòü
extern string str1 ="===== Âåðõíèå óðîâíè";
extern double gsFibo31 = 1109.4; // 31 1109.0
extern double gsFibo30 = 685.4; // 30 685.4
extern double gsFibo29 = 598.0; // 29 598.0
extern double gsFibo28 = 510.8; // 28 510.8
extern double gsFibo27 = 423.6; // 27 423.6
extern double gsFibo26 = 361.8; // 26 369.6
extern double gsFibo25 = 311.0; // 25 315.7
extern double gsFibo24 = 261.8; // 24 261.8
extern double gsFibo23 = 211.0; // 23 211.8
extern double gsFibo22 = 161.8; // 22 161.8
extern double gsFibo21 = 138.2; // 21 138.2
extern string str2 ="===== Âíóòðåííèå óðîâíè";
double gsFibo20 = 100.0; // 20 0.0/100.0
extern double gsFibo19 = 88.2; // 19 11.8/ 88.2
extern double gsFibo18 = 76.4; // 18 23.6/ 76.4
extern double gsFibo17 = 61.8; // 17 38.2/ 61.8
extern double gsFibo16 = 50.0; // 16 50.0/ 50.0
extern double gsFibo15 = 38.2; // 15 61.8/ 38.2
extern double gsFibo14 = 23.4; // 14 76.4/ 23.4
extern double gsFibo13 = 11.8; // 13 88.2/ 11.8
double gsFibo12 = 0.0; // 12 100.0/ 0.0
extern string str3 ="===== Íèæíèå óðîâíè";
extern double gsFibo11 = 138.2; // 11 138.2
extern double gsFibo10 = 161.8; // 10 161.8
extern double gsFibo09 = 211.0; // 09 211.8
extern double gsFibo08 = 261.8; // 08 261.8
extern double gsFibo07 = 311.0; // 07 315.7
extern double gsFibo06 = 361.8; // 06 369.6
extern double gsFibo05 = 423.6; // 05 423.6
extern double gsFibo04 = 510.4; // 04 510.8
extern double gsFibo03 = 598.4; // 03 598.0
extern double gsFibo02 = 685.4; // 02 685.4
extern double gsFibo01 = 1109.4; // 01 1109.0
//
double gsFibo31d;
double gsFibo30d;
double gsFibo29d;
double gsFibo28d;
double gsFibo27d;
double gsFibo26d;
double gsFibo25d;
double gsFibo24d;
double gsFibo23d;
double gsFibo22d;
double gsFibo21d;
//
double gsFibo20d;
double gsFibo19d;
double gsFibo18d;
double gsFibo17d;
double gsFibo16d;
double gsFibo15d;
double gsFibo14d;
double gsFibo13d;
double gsFibo12d;
//
double gsFibo11d;
double gsFibo10d;
double gsFibo09d;
double gsFibo08d;
double gsFibo07d;
double gsFibo06d;
double gsFibo05d;
double gsFibo04d;
double gsFibo03d;
double gsFibo02d;
double gsFibo01d;
//----
bool _isNewPeriod =true;
//----
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
initFibo();
DeleteGraficAlert(_LabelFibo,_LenFibo);
StartGraficAlert_Fibo();
//---- done
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
datetime time1,time2;
double price1,price2;
//----
if(iTime(Symbol(),Period(),0)!=iTime(Symbol(),Period(),1))
_isNewPeriod=true;
//
if(ObjectFind(_LabelFibo)==-1)
_isNewPeriod=true;
//----
if(_isNewPeriod)
{
StartGraficAlert_Fibo();
_isNewPeriod=false;
}
//---- done
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
DeleteGraficAlert(_LabelFibo,_LenFibo);
//---- done
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteGraficAlert(string define_Label, int len)
{
for(int i = ObjectsTotal() - 1; i >= 0; i--)
{
string label = ObjectName(i);
if(StringSubstr(label, 0, len) != define_Label)
continue;
ObjectDelete(label);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void initFibo()
{
gsFibo31d =(gsFibo31)/100;
gsFibo30d =(gsFibo30)/100;
gsFibo29d =(gsFibo29)/100;
gsFibo28d =(gsFibo28)/100;
gsFibo27d =(gsFibo27)/100;
gsFibo26d =(gsFibo26)/100;
gsFibo25d =(gsFibo25)/100;
gsFibo24d =(gsFibo24)/100;
gsFibo23d =(gsFibo23)/100;
gsFibo22d =(gsFibo22)/100;
gsFibo21d =(gsFibo21)/100;
//
gsFibo20d =(gsFibo20)/100;
gsFibo19d =(gsFibo19)/100;
gsFibo18d =(gsFibo18)/100;
gsFibo17d =(gsFibo17)/100;
gsFibo16d =(gsFibo16)/100;
gsFibo15d =(gsFibo15)/100;
gsFibo14d =(gsFibo14)/100;
gsFibo13d =(gsFibo13)/100;
gsFibo12d =(gsFibo12)/100;
//
gsFibo11d =(gsFibo11-100)/100;
gsFibo10d =(gsFibo10-100)/100;
gsFibo09d =(gsFibo09-100)/100;
gsFibo08d =(gsFibo08-100)/100;
gsFibo07d =(gsFibo07-100)/100;
gsFibo06d =(gsFibo06-100)/100;
gsFibo05d =(gsFibo05-100)/100;
gsFibo04d =(gsFibo04-100)/100;
gsFibo03d =(gsFibo03-100)/100;
gsFibo02d =(gsFibo02-100)/100;
gsFibo01d =(gsFibo01-100)/100;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void StartGraficAlert_Fibo()
{
datetime time1,time2;
double price1,price2;
//----
time1 =iTime(Symbol(),_LastPeriod,_shiftEnd);
price1=iHigh(Symbol(),_LastPeriod,_shiftStart);
time2 =iTime(Symbol(),_LastPeriod,_shiftStart);
price2=iLow (Symbol(),_LastPeriod,_shiftStart);
//
if(ObjectFind(_LabelFibo)==-1)
CreateGraficAlert_Fibo(0,0,0,0);
//
ChangeGraficAlert_Fibo(time1,price1,time2,price2);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreateGraficAlert_Fibo(datetime time1, double price1, datetime time2, double price2)
{
ObjectCreate(_LabelFibo,OBJ_FIBO,0,time1,price1,time2,price2);
ObjectSet(_LabelFibo,OBJPROP_RAY,false);
ObjectSet(_LabelFibo,OBJPROP_FIBOLEVELS,31);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void ChangeGraficAlert_Fibo(datetime time1, double price1, datetime time2, double price2)
{
ObjectSet(_LabelFibo,OBJPROP_TIME1, time1 );
ObjectSet(_LabelFibo,OBJPROP_PRICE1,price1);
ObjectSet(_LabelFibo,OBJPROP_TIME2, time2 );
ObjectSet(_LabelFibo,OBJPROP_PRICE2,price2);
//---- Âåðõíèå óðîâíè
if(gsFibo31!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 0, gsFibo31d );
ObjectSetFiboDescription(_LabelFibo, 0,DoubleToStr(gsFibo31 ,1));
}
if(gsFibo30!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 1, gsFibo30d );
ObjectSetFiboDescription(_LabelFibo, 1,DoubleToStr(gsFibo30 ,1));
}
if(gsFibo29!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 2, gsFibo29d );
ObjectSetFiboDescription(_LabelFibo, 2,DoubleToStr(gsFibo29 ,1));
}
if(gsFibo28!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 3, gsFibo28d );
ObjectSetFiboDescription(_LabelFibo, 3,DoubleToStr(gsFibo28 ,1));
}
if(gsFibo27!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 4, gsFibo27d );
ObjectSetFiboDescription(_LabelFibo, 4,DoubleToStr(gsFibo27 ,1));
}
if(gsFibo26!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 5, gsFibo26d );
ObjectSetFiboDescription(_LabelFibo, 5,DoubleToStr(gsFibo26 ,1));
}
if(gsFibo25!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 6, gsFibo25d );
ObjectSetFiboDescription(_LabelFibo, 6,DoubleToStr(gsFibo25 ,1));
}
if(gsFibo24!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 7, gsFibo24d );
ObjectSetFiboDescription(_LabelFibo, 7,DoubleToStr(gsFibo24 ,1));
}
if(gsFibo23!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 8, gsFibo23d );
ObjectSetFiboDescription(_LabelFibo, 8,DoubleToStr(gsFibo23 ,1));
}
if(gsFibo22!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+ 9, gsFibo22d );
ObjectSetFiboDescription(_LabelFibo, 9,DoubleToStr(gsFibo22 ,1));
}
if(gsFibo21!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+10, gsFibo21d );
ObjectSetFiboDescription(_LabelFibo, 10,DoubleToStr(gsFibo21 ,1));
}
//---- Âíóòðåííèå óðîâíè
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+11, gsFibo20d );
ObjectSetFiboDescription(_LabelFibo, 11,DoubleToStr(100-gsFibo20,1)+"/"+DoubleToStr(gsFibo20,1));
if(gsFibo19!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+12, gsFibo19d );
ObjectSetFiboDescription(_LabelFibo, 12,DoubleToStr(100-gsFibo19,1)+"/"+DoubleToStr(gsFibo19,1));
}
if(gsFibo18!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+13, gsFibo18d );
ObjectSetFiboDescription(_LabelFibo, 13,DoubleToStr(100-gsFibo18,1)+"/"+DoubleToStr(gsFibo18,1));
}
if(gsFibo17!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+14, gsFibo17d );
ObjectSetFiboDescription(_LabelFibo, 14,DoubleToStr(100-gsFibo17,1)+"/"+DoubleToStr(gsFibo17,1));
}
if(gsFibo16!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+15, gsFibo16d );
ObjectSetFiboDescription(_LabelFibo, 15,DoubleToStr(100-gsFibo16,1)+"/"+DoubleToStr(gsFibo16,1));
}
if(gsFibo15!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+16, gsFibo15d );
ObjectSetFiboDescription(_LabelFibo, 16,DoubleToStr(100-gsFibo15,1)+"/"+DoubleToStr(gsFibo15,1));
}
if(gsFibo14!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+17, gsFibo14d );
ObjectSetFiboDescription(_LabelFibo, 17,DoubleToStr(100-gsFibo14,1)+"/"+DoubleToStr(gsFibo14,1));
}
if(gsFibo13!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+18, gsFibo13d );
ObjectSetFiboDescription(_LabelFibo, 18,DoubleToStr(100-gsFibo13,1)+"/"+DoubleToStr(gsFibo13,1));
}
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+19, gsFibo12d );
ObjectSetFiboDescription(_LabelFibo, 19,DoubleToStr(100-gsFibo12,1)+"/"+DoubleToStr(gsFibo12,1));
//---- Íèæíèå óðîâíè
if(gsFibo11!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+20, -gsFibo11d );
ObjectSetFiboDescription(_LabelFibo, 20,DoubleToStr( gsFibo11 ,1));
}
if(gsFibo10!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+21, -gsFibo10d );
ObjectSetFiboDescription(_LabelFibo, 21,DoubleToStr( gsFibo10 ,1));
}
if(gsFibo09!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+22, -gsFibo09d );
ObjectSetFiboDescription(_LabelFibo, 22,DoubleToStr( gsFibo09 ,1));
}
if(gsFibo08!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+23, -gsFibo08d );
ObjectSetFiboDescription(_LabelFibo, 23,DoubleToStr( gsFibo08 ,1));
}
if(gsFibo07!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+24, -gsFibo07d );
ObjectSetFiboDescription(_LabelFibo, 24,DoubleToStr( gsFibo07 ,1));
}
if(gsFibo06!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+25, -gsFibo06d );
ObjectSetFiboDescription(_LabelFibo, 25,DoubleToStr( gsFibo06 ,1));
}
if(gsFibo05!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+26, -gsFibo05d );
ObjectSetFiboDescription(_LabelFibo, 26,DoubleToStr( gsFibo05 ,1));
}
if(gsFibo04!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+27, -gsFibo04d );
ObjectSetFiboDescription(_LabelFibo, 27,DoubleToStr( gsFibo04 ,1));
}
if(gsFibo03!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+28, -gsFibo03d );
ObjectSetFiboDescription(_LabelFibo, 28,DoubleToStr( gsFibo03 ,1));
}
if(gsFibo02!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+29, -gsFibo02d );
ObjectSetFiboDescription(_LabelFibo, 29,DoubleToStr( gsFibo02 ,1));
}
if(gsFibo01!=0)
{
ObjectSet (_LabelFibo,OBJPROP_FIRSTLEVEL+30, -gsFibo01d );
ObjectSetFiboDescription(_LabelFibo, 30,DoubleToStr( gsFibo01 ,1));
}
//----
ObjectSet(_LabelFibo,OBJPROP_COLOR, gFiboTLColor );
ObjectSet(_LabelFibo,OBJPROP_LEVELCOLOR,gFiboColor );
ObjectSet(_LabelFibo,OBJPROP_STYLE, gFiboTLStyle );
ObjectSet(_LabelFibo,OBJPROP_LEVELSTYLE,gFiboStyle );
ObjectSet(_LabelFibo,OBJPROP_WIDTH, gFiboTLStyle_WIDTH);
ObjectSet(_LabelFibo,OBJPROP_LEVELWIDTH,gFiboStyle_WIDTH );
ObjectSet(_LabelFibo,OBJPROP_BACK, gFiboFONE );
}
//+------------------------------------------------------------------+
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
---