Price Data Components
Miscellaneous
0
Views
0
Downloads
0
Favorites
Setka_Final
//+----------------------------------------------------------------------------+
//| Setka_Final.mq4 |
//| Àâòîð : Ñåðãåé Ïðèâàëîâ aka Prival, Skype: privalov-sv |
//+----------------------------------------------------------------------------+
//| Âåðñèÿ : 30.04.2010 |
//| Îïèñàíèå: àëüòåðíàòèâíàÿ ñåòêà, ðèñóåò âåðòèêàëüíûå ëèíèè íà÷àëà ÷àñà, äíÿ,|
//| íåäåëè è ìåñÿöà, òàêæå ðèñóåò ïñèõîëîãè÷åñêèå ãîðèçîíòàëüíûå óðîâíè |
//+----------------------------------------------------------------------------+
#property copyright "Ïðèâàëîâ Ñ.Â."
#property link "Skype -> privalov-sv"
#property indicator_chart_window
#property indicator_buffers 8
extern double Øàã=0; // øàã ñåòêè 0 âûáîð àëãðèòìà èíà÷å çàäàâàéòå ñàìè
//---- buffers
double Ind_Buffer_0[],Ind_Buffer_1[];
double Ind_Buffer_2[],Ind_Buffer_3[];
double Ind_Buffer_4[],Ind_Buffer_5[];
double Ind_Buffer_6[],Ind_Buffer_7[];
double max;
color LineColor; // ïåðåìåííàÿ äëÿ öâåòà ãîðèçîíòàëüíîé ëèíèè
int LineStile; // ïåðåìåííàÿ äëÿ ñòèëÿ
int LineWidth; // ïåðåìåííàÿ äëÿ øèðèíû ëèíèè
int Period_Ris; // ïåðèîä ãðàôèêà äëÿ àíàëèçà îòîáðàæåíèÿ
bool flag=true;
double Window_Max=0, old_Window_Max=0;
double Window_Min=0, old_Window_Min=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_HISTOGRAM, STYLE_DOT, 1, DimGray);
SetIndexStyle(1,DRAW_HISTOGRAM, STYLE_DOT, 1, DimGray);
SetIndexStyle(2,DRAW_HISTOGRAM, STYLE_DOT, 1, RoyalBlue);
SetIndexStyle(3,DRAW_HISTOGRAM, STYLE_DOT, 1, RoyalBlue);
SetIndexStyle(4,DRAW_HISTOGRAM, STYLE_DOT, 1, DeepPink);
SetIndexStyle(5,DRAW_HISTOGRAM, STYLE_DOT, 1, DeepPink);
SetIndexStyle(6,DRAW_HISTOGRAM, STYLE_DOT, 1, Gold);
SetIndexStyle(7,DRAW_HISTOGRAM, STYLE_DOT, 1, Gold);
SetIndexBuffer(0,Ind_Buffer_0);
SetIndexBuffer(1,Ind_Buffer_1);
SetIndexBuffer(2,Ind_Buffer_2);
SetIndexBuffer(3,Ind_Buffer_3);
SetIndexBuffer(4,Ind_Buffer_4);
SetIndexBuffer(5,Ind_Buffer_5);
SetIndexBuffer(6,Ind_Buffer_6);
SetIndexBuffer(7,Ind_Buffer_7);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll(0,OBJ_HLINE);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i, j, limit, counted_bars=IndicatorCounted();
bool new_Hour, new_Day, new_Week, new_Month;
if(counted_bars <0) return(-1);
if(counted_bars==0) limit=Bars-1; // ïîñ÷èòàííûõ áàðîâ åùå íåò, áóäåò ñ÷èòàòü ñ áàðà,
if(counted_bars >0) limit=Bars-counted_bars-1;// âû÷òåì èç ÷èñëà äîñòóïíûõ áàðîâ êîëè÷åñòâî ïîñ÷èòàííûõ
if(counted_bars==0) limit-=2;
if(flag) max=iHigh(0,PERIOD_MN1,iHighest(NULL,PERIOD_MN1,MODE_HIGH,iBars(0,PERIOD_MN1),0));
for(i = limit; i >= 0; i--)
{
new_Hour=TimeHour(Time[i]) != TimeHour(Time[i+1]); // íîâûé ÷àñ
new_Day=TimeDay(Time[i]) != TimeDay(Time[i+1]); // íîâûé äåíü
new_Week=TimeDayOfWeek(Time[i])==1; // íîâàÿ íåäåëÿ
if(TimeMonth(Time[i]) != TimeMonth(Time[i+1])) new_Month=true; // íîâûé ìåñÿö
Ind_Buffer_0[i]=0;
Ind_Buffer_1[i]=0;
Ind_Buffer_2[i]=0;
Ind_Buffer_3[i]=0;
Ind_Buffer_4[i]=0;
Ind_Buffer_5[i]=0;
Ind_Buffer_6[i]=0;
Ind_Buffer_7[i]=0;
if(new_Hour && Period()<15 ) Ind_Buffer_0[i]=max;
if(new_Day && Period()<240) Ind_Buffer_2[i]=max;
if(new_Week && new_Day && Period()<1440) Ind_Buffer_4[i]=max;
if(new_Month && new_Day && new_Week) {Ind_Buffer_6[i]=max; new_Month=false;}
}// end for(i...
Window_Max=WindowPriceMax();
Window_Min=WindowPriceMin();
if((Window_Max!=old_Window_Max) || (Window_Min!=old_Window_Min)) SetGLine(); // îòðèñîâêà ãîðèçîíòàëüíûõ ëèíèé
return(0);
}
// -------------- óñòàíîâêà ãîðèçîíòàëüíûõ ëèíèé ---------------------------
// âûïîëíÿåòñÿ ïðè èçìåíåíèè ðàçìåðîâ îêíà (Window_Max èëè Window_Min)
void SetGLine()
{
double Uroven=0.0; // óðîâåíü óñòàíîâêè ãîðèçîíòàëüíîé ëèíèè
ObjectsDeleteAll(0,OBJ_HLINE); // óäàëÿåì âñå ãîðèçîíòàëüíûå ëèíèè
int i=0;
if(Øàã==0) //
{
Øàã=50;
if(Digits==5) Øàã=500;
if(Digits==1) Øàã=500;
}
old_Window_Min=Window_Min;
old_Window_Max=Window_Max;
while(Uroven<Window_Max) {
i++;
Uroven=i*Øàã*Point;
if(Uroven>=Window_Min) {
if(MathMod(i,2)==0) {
LineColor=DodgerBlue; // ÷åòíàÿ ëèíèÿ
LineStile=STYLE_DASHDOTDOT;
Period_Ris=0x007F; // îòðèñîâêà òîëüêî íà Ì1,Ì5,M15,M30 è H1
}
else {
LineColor=DimGray; // íå÷åòíàÿ ëèíèÿ
LineStile=STYLE_DASHDOTDOT;
Period_Ris=0x001F; // îòðèñîâêà òîëüêî íà Ì1,Ì5,M15,M30 è H1
}
SetHLine(LineColor, "HLine_"+i, Uroven, LineStile,0,Period_Ris);
}// end if(Uroven>Min)
}// end while (Uroven<Max)
flag=false;
}//end óñòàíîâêè ãîðèçîíòàëüíûõ ëèíèé
//+----------------------------------------------------------------------------+
//| Àâòîð : Êèì Èãîðü Â. aka KimIV, http://www.kimiv.ru |
//| ìîäèôèêàöèÿ: Ñ.Ïðèâàëîâ aka Prival |
//+----------------------------------------------------------------------------+
//| Âåðñèÿ : 12.02.2009 |
//| Îïèñàíèå : Óñòàíîâêà îáúåêòà OBJ_HLINE ãîðèçîíòàëüíàÿ ëèíèÿ |
//+----------------------------------------------------------------------------+
//| Ïàðàìåòðû: |
//| cl - öâåò ëèíèè |
//| nm - íàèìåíîâàíèå ("" - âðåìÿ îòêðûòèÿ òåêóùåãî áàðà) |
//| p1 - öåíîâîé óðîâåíü (0 - Bid) |
//| st - ñòèëü ëèíèè (0 - ïðîñòàÿ ëèíèÿ) |
//| wd - øèðèíà ëèíèè (0 - ïî óìîë÷àíèþ) |
//| pr - ïåðèîä îòîáðàæåíèÿ (0 - ïî óìîë÷àíèþ -> íà âñåõ ÒÔ) |
//+----------------------------------------------------------------------------+
void SetHLine(color cl, string nm="", double p1=0, int st=0, int wd=0, int pr=0) {
if (nm=="") nm=DoubleToStr(Time[0], 0);
if (p1<=0) p1=Bid;
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_HLINE, 0, 0,0); else Print("Îøèáêà");
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_COLOR , cl);
ObjectSet(nm, OBJPROP_STYLE , st);
ObjectSet(nm, OBJPROP_WIDTH , wd);
ObjectSet(nm, OBJPROP_TIMEFRAMES , pr);
}
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
---