urovni-dou
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
urovni-dou
//+------------------------------------------------------------------+ 
//| DJ_Lines.mq4 | 
//| Copyright © 2005, MetaQuotes Software Corp. | 
//| http://www.metaquotes.net | 
//+------------------------------------------------------------------+ 
//+------------------------------------------------------------------+ 
//| HiLoClose.mq4 | 
//+------------------------------------------------------------------+ 
/* 
Name := HiLoClose 
Author := hawt 
Link := hawt77@bigmir.net 
*/ 

#property indicator_chart_window 
#property indicator_buffers 7 
#property indicator_color1 White 
#property indicator_color2 Red 
#property indicator_color3 Red 
#property indicator_color4 Yellow 
#property indicator_color5 Yellow 
#property indicator_color6 LimeGreen 
#property indicator_color7 LimeGreen 
//---- input parameters5 
extern int show_comment=1; // ðèñîâàòü ëè êîììåíòàðèé (0 - íåò, 1 - äà) 
extern int how_long=1000; // ñêîëüêî áàðîâ îáðàáàòûâàòü (-1 - âñå) 
//---- indicator buffers 
double E2[]; 
double ff[]; 
double E4[]; 
double E5[]; 
double E6[]; 
double E7[]; 
double E8[]; 



//+------------------------------------------------------------------+ 
//| Custom indicator initialization function | 
//+------------------------------------------------------------------+ 
int init() 
{ 
SetIndexBuffer(0, E2); 
SetIndexBuffer(1, ff); 
SetIndexBuffer(2, E4); 
SetIndexBuffer(3, E5); 
SetIndexBuffer(4, E6); 
SetIndexBuffer(5, E7); 
SetIndexBuffer(6, E8);  

SetIndexStyle(0, DRAW_LINE,1,2); 
SetIndexStyle(1, DRAW_LINE); 
SetIndexStyle(2, DRAW_LINE); 
SetIndexStyle(3, DRAW_LINE); 
SetIndexStyle(4, DRAW_LINE); 
SetIndexStyle(5, DRAW_LINE); 
SetIndexStyle(6, DRAW_LINE); 



return(0); 
} 

//+------------------------------------------------------------------+ 
//| Custom indicator deinitialization function | 
//+------------------------------------------------------------------+ 
int deinit() 
{ 
Comment(""); 
return(0); 
} 

int start() 
{ 
int cnt=0; // ñ÷åò÷èê áàðîâ 
int begin_bar=0; // áàð, ñ êîòîðîãî íà÷èíàåò ðàáîòó èíäèêàòîð 
int prev_day, cur_day; // èäåíòèôèêàòîðû òåêóùåãî è ïðåäûäóùåãî äíÿ 
double day_high=0; // äíåâíîé high 
double day_low=0; // äíåâíîé low 
double yesterday_high=0; // íàèáîëüøàÿ öåíà ïðåäûäóùåãî äíÿ 
double yesterday_low=0; // íàèìåíüøàÿ öåíà ïðåäûäóùåãî äíÿ 
double yesterday_close=0; // öåíà çàêðûòèÿ ïðåäûäóùåãî äíÿ 
double P, S, R, P1, P2, P3, C1, C2, C3; 

// ïðàâèëüíûå òàéìôðåìû äëÿ íàøåãî èíäèêàòîðà - âñå, ÷òî ìåíüøå D1 
if (Period() >= PERIOD_D1) { 
Comment("WARNING: Invalid timeframe! Valid value < D1."); 
return(0); 
} 

// ðåøàåì ñ êàêîãî áàðà ìû íà÷íåì ñ÷èòàòü íàø èíäèêàòîð 
if (how_long == -1) { 
begin_bar = Bars; 
} else { 
begin_bar = how_long; 
} 

// îáõîäèì áàðû ñëåâà íàïðàâî (0-é áàð òîæå èñïîëüçóåì, ò.ê. èç íåãî ìû áåð¸ì òîëüêî high è low) 
for (cnt = begin_bar; cnt >= 0; cnt--) { 
cur_day = TimeDay(Time[cnt]); 
if (prev_day != cur_day) { 
yesterday_close = Close[cnt+1]; 
yesterday_high = day_high; 
yesterday_low = day_low; 
P = (yesterday_high + yesterday_low + yesterday_close) / 3; 
R = yesterday_high; 
S = yesterday_low; 
P1 = 2 * P - S; 
C1 = 2 * P - R; 
P2 = P + (P1 - C1); 
C2 = P - (P1 - C1); 
P3 = R + (2 * (P - S)); 
C3 = S - (2 * (R - P)); 

// ò.ê. íà÷àëñÿ íîâûé äåíü, òî èíèöèèðóåì ìàêñ. è ìèí. òåêóùåãî (óæå) äíÿ 
day_high = High[cnt]; 
day_low = Low[cnt]; 

// çàïîìíèì äàííûé äåíü, êàê òåêóùèé 
prev_day = cur_day; 
} 

// ïðîäîëæàåì íàêàïëèâàòü äàííûå 
day_high = MathMax(day_high, High[cnt]); 
day_low = MathMin(day_low, Low[cnt]); 

// ðèñóåì pivot-ëèíèþ ïî çíà÷åíèþ, âû÷èñëåííîìó ïî ïàðàìåòðàì â÷åðàøíåãî äíÿ 
E2[cnt] = P; 
ff[cnt] = P1; 
E4[cnt] = C1; 
E5[cnt] = P2; 
E6[cnt] = C2; 
E7[cnt] = P3; 
E8[cnt] = C3; 
// ðèñóåì ëèíèè ñîïðîòèâëåíèÿ è ïîääåðæêè óðîâíÿ 1,2 èëè 3 
} 

if (show_comment == 1) { 
P = (yesterday_high + yesterday_low + yesterday_close) / 3; 
R = yesterday_high; 
S = yesterday_low; 
P1 = 2 * P - S; 
C1 = 2 * P - R; 
P2 = P + (P1 - C1); 
C2 = P - (P1 - C1); 
P3 = R + (2 * (P - S)); 
C3 = S - (2 * (R - P)); 

Comment("Current H=", R, ", L=", S, ", HLÑ/3=", P, " C2=", C2, ", H-L=", (R-S)/Point ); 
} 
return(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 ---