Price Data Components
0
Views
0
Downloads
0
Favorites
Pivot_ESAZ_Week
//+------------------------------------------------------------------+
//| Pivot_ESAZ_Week.mq4 |
//| DimDimych |
//| http://goodservice.su/forum/25-3550-1 |
//+------------------------------------------------------------------+
#property copyright "DimDimych"
#property link "http://goodservice.su/forum/25-3550-1"
#property indicator_chart_window
extern int CountPeriods =3;
extern color pivot =Aqua;
extern color day =Yellow;
extern color level_up =Crimson;
extern color level_dn =Blue;
extern color setka =White;
extern color metka =MidnightBlue;
extern int LineWidth =0;
extern int style =2;
extern bool ExtSave =false;
datetime ny_time[];
datetime time1;
datetime time2;
double open,close,high,low;
double P,R1,R2,R3,S1,S2,S3,R4,S4;
int shift;
//*************
void ObjDel()
{
for (int num=0;num<=CountPeriods;num++)
{
ObjectDelete("PPwk["+num+"]");
ObjectDelete("R1wk["+num+"]");
ObjectDelete("R2wk["+num+"]");
ObjectDelete("R3wk["+num+"]" );
ObjectDelete("R4wk["+num+"]" );
ObjectDelete("S1wk["+num+"]" );
ObjectDelete("S2wk["+num+"]" );
ObjectDelete("S3wk["+num+"]" );
ObjectDelete("S4wk["+num+"]" );
ObjectDelete("R1Pwk["+num+"]");
ObjectDelete("R2Pwk["+num+"]");
ObjectDelete("R3Pwk["+num+"]" );
ObjectDelete("R4Pwk["+num+"]" );
ObjectDelete("S1Pwk["+num+"]" );
ObjectDelete("S2Pwk["+num+"]" );
ObjectDelete("S3Pwk["+num+"]" );
ObjectDelete("S4Pwk["+num+"]" );
ObjectDelete("GL1wk["+num+"]");
ObjectDelete("GL2wk["+num+"]");
ObjectDelete("GL3wk["+num+"]");
ObjectDelete("GL4wk["+num+"]");
ObjectDelete("GL5wk["+num+"]");
ObjectDelete("GL6wk["+num+"]");
ObjectDelete("GL7wk["+num+"]");
ObjectDelete("GL8wk["+num+"]");
ObjectDelete("GL9wk["+num+"]");
ObjectDelete("GL10wk["+num+"]");
ObjectDelete("GL11wk["+num+"]");
ObjectDelete("GL12wk["+num+"]");
ObjectDelete("GL13wk["+num+"]");
ObjectDelete("GL14wk["+num+"]");
ObjectDelete("GL15wk["+num+"]");
ObjectDelete("GL16wk["+num+"]");
ObjectDelete("pVwk["+num+"]");
}
ObjectDelete("pVwk0");
}
//***************
void PlotLine(string name,double value,double value1,double line_color)
{
double valueN=NormalizeDouble(value,Digits);
double valueN1=NormalizeDouble(value1,Digits);
bool res = ObjectCreate(name,OBJ_TREND,0,time1,valueN,time2,valueN1);
ObjectSet(name, OBJPROP_WIDTH, 1);
ObjectSet(name, OBJPROP_STYLE, style);
ObjectSet(name, OBJPROP_RAY, false);
ObjectSet(name, OBJPROP_BACK, true);
ObjectSet(name, OBJPROP_COLOR, line_color);
}
//***************
void PlotVLine(string name,double tm)
{
bool res = ObjectCreate(name,OBJ_VLINE,0,tm,0);
ObjectSet(name, OBJPROP_WIDTH, 0);
ObjectSet(name, OBJPROP_STYLE, 2);
ObjectSet(name, OBJPROP_COLOR, day);
}
//***********
int init()
{
return(0);
}
//***************
int deinit()
{
ObjDel();
Comment("");
return(0);
}
//***************
int start()
{
int i;
ObjDel();
string save="";
if(ExtSave==true)
{
save=TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS);
}
ArrayResize(ny_time,CountPeriods+1);
for (shift=0;shift<=CountPeriods-1;shift++)
{
ny_time[shift]=iTime(NULL,PERIOD_W1,shift);
high = iHigh(NULL,PERIOD_W1,shift+1);
low = iLow(NULL,PERIOD_W1,shift+1);
open = iOpen(NULL,PERIOD_W1,shift+1);
close = iClose(NULL,PERIOD_W1,shift+1);
P = (high+low+close)/3.0;
R1 = P+(high-low)/2;
R2 = P+(high-low);
R3 = P+(high-low)+(high-low)/2;
R4 = P+(high-low)*2;
S1 = P-(high-low)/2;
S2 = P-(high-low);
S3 = P-(high-low)-(high-low)/2;
S4 = P-(high-low)*2;
//********
time1 = ny_time[shift]+1440*60;
if (shift==0)
{
time2 = ny_time[shift] + 8640*60 ;
PlotVLine("pVwk0"+save,time2);
}
else
time2 = ny_time[shift-1]+1440*60;
//********
PlotVLine("pVwk["+shift+"]"+save,time1);
PlotLine("PPwk["+shift+"]"+save,P ,P, pivot);
PlotLine("R1wk["+shift+"]"+save,R1,R1,level_up);
PlotLine("R2wk["+shift+"]"+save,R2,R2,level_up);
PlotLine("R3wk["+shift+"]"+save,R3,R3,level_up);
PlotLine("R4wk["+shift+"]"+save,R4,R4,level_up);
PlotLine("R1Pwk["+shift+"]"+save,P+(R1-P)/2, P+(R1-P)/2,level_up);
PlotLine("R2Pwk["+shift+"]"+save,R1+(R2-R1)/2,R1+(R2-R1)/2,level_up);
PlotLine("R3Pwk["+shift+"]"+save,R2+(R3-R2)/2,R2+(R3-R2)/2,level_up);
PlotLine("R4Pwk["+shift+"]"+save,R3+(R4-R3)/2,R3+(R4-R3)/2,level_up);
PlotLine("S1wk["+shift+"]"+save,S1,S1,level_dn);
PlotLine("S2wk["+shift+"]"+save,S2 ,S2,level_dn);
PlotLine("S3wk["+shift+"]"+save,S3 ,S3,level_dn);
PlotLine("S4wk["+shift+"]"+save,S4,S4,level_dn);
PlotLine("S1Pwk["+shift+"]"+save,P- (P-S1)/2, P-(P-S1)/2,level_dn);
PlotLine("S2Pwk["+shift+"]"+save,S1-(S1-S2)/2,S1-(S1-S2)/2,level_dn);
PlotLine("S3Pwk["+shift+"]"+save,S2-(S2-S3)/2,S2-(S2-S3)/2,level_dn);
PlotLine("S4Pwk["+shift+"]"+save,S3-(S3-S4)/2,S3-(S3-S4)/2,level_dn);
//**************
PlotLine("GL1wk["+shift+"]"+save,P, R1,setka);
PlotLine("GL2wk["+shift+"]"+save,R1,R2,setka);
PlotLine("GL3wk["+shift+"]"+save,R2,R3,setka);
PlotLine("GL4wk["+shift+"]"+save,R3,R4,setka);
PlotLine("GL5wk["+shift+"]"+save,R1, P,setka);
PlotLine("GL6wk["+shift+"]"+save,R2, R1,setka);
PlotLine("GL7wk["+shift+"]"+save,R3, R2,setka);
PlotLine("GL8wk["+shift+"]"+save,R4, R3,setka);
PlotLine("GL9wk["+shift+"]"+save, P, S1,setka);
PlotLine("GL10wk["+shift+"]"+save,S1,S2,setka);
PlotLine("GL11wk["+shift+"]"+save,S2,S3,setka);
PlotLine("GL12wk["+shift+"]"+save,S3,S4,setka);
PlotLine("GL13wk["+shift+"]"+save,S1, P,setka);
PlotLine("GL14wk["+shift+"]"+save,S2, S1,setka);
PlotLine("GL15wk["+shift+"]"+save,S3, S2,setka);
PlotLine("GL16wk["+shift+"]"+save,S4, S3,setka);
}
return(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
---