Price Data Components
3
Views
0
Downloads
0
Favorites
ZMFX_all_pivot_levels
//+------------------------------------------------------------------+
//|
//| ZMFX All pivot levels.mq4
//|
//| ZoomInForex.com
//|
//+------------------------------------------------------------------+
#property indicator_chart_window
#property link "http://ZoomInForex.com/"
extern bool Use_Sunday_Data = True;
extern bool Daily = True;
extern bool Daily_SR_Levels = True;
extern bool Weekly = True;
extern bool Weekly_SR_Levels = true;
extern bool Monthly = true;
extern bool Monthly_SR_Levels = true;
extern string Daily_Colors;
extern color cdpivot=White;
extern color cds1=LimeGreen;
extern color cds2=LimeGreen;
extern color cds3=LimeGreen;
extern color cdr1=DarkOrange;
extern color cdr2=DarkOrange;
extern color cdr3=DarkOrange;
extern string Weekly_Colors;
extern color cwpivot=White;
extern color cws1=Green;
extern color cws2=Green;
extern color cws3=Green;
extern color cwr1=Red;
extern color cwr2=Red;
extern color cwr3=Red;
extern string Monthly_Colors;
extern color cmpivot=White;
extern color cms1=DarkGreen;
extern color cms2=DarkGreen;
extern color cms3=DarkGreen;
extern color cmr1=FireBrick;
extern color cmr2=FireBrick;
extern color cmr3=FireBrick;
double YesterdayHigh;
double YesterdayLow;
double YesterdayClose;
double Day_Price[][6];
double Pivot,S1,S2,S3,R1,R2,R3;
double WeekHigh;
double WeekLow;
double WeekClose;
double Weekly_Price[][6];
double WeekPivot,WS1,WS2,WS3,WR1,WR2,WR3;
double MonthHigh;
double MonthLow;
double MonthClose;
double Month_Price[][6];
double MonthPivot,MS1,MS2,MS3,MR1,MR2,MR3;
int init()
{
return(0);
}
//--------------------------------------------------------
int deinit()
{
ObjectDelete("PivotLine");
ObjectDelete("R1_Line");
ObjectDelete("R2_Line");
ObjectDelete("R3_Line");
ObjectDelete("S1_Line");
ObjectDelete("S2_Line");
ObjectDelete("S3_Line");
//--------------------------------
ObjectDelete("PivotLabel");
ObjectDelete("R1_Label");
ObjectDelete("R2_Label");
ObjectDelete("R3_Label");
ObjectDelete("S1_Label");
ObjectDelete("S2_Label");
ObjectDelete("S3_Label");
//--------------------------------------------------------
ObjectDelete("WeekPivotLine");
ObjectDelete("WR1_Line");
ObjectDelete("WR2_Line");
ObjectDelete("WR3_Line");
ObjectDelete("WS1_Line");
ObjectDelete("WS2_Line");
ObjectDelete("WS3_Line");
//--------------------------------
ObjectDelete("WeekPivotLabel");
ObjectDelete("WR1_Label");
ObjectDelete("WR2_Label");
ObjectDelete("WR3_Label");
ObjectDelete("WS1_Label");
ObjectDelete("WS2_Label");
ObjectDelete("WS3_Label");
//--------------------------------------------------------
ObjectDelete("MonthPivotLine");
ObjectDelete("MR1_Line");
ObjectDelete("MR2_Line");
ObjectDelete("MR3_Line");
ObjectDelete("MS1_Line");
ObjectDelete("MS2_Line");
ObjectDelete("MS3_Line");
//--------------------------------
ObjectDelete("MonthPivotLabel");
ObjectDelete("MR1_Label");
ObjectDelete("MR2_Label");
ObjectDelete("MR3_Label");
ObjectDelete("MS1_Label");
ObjectDelete("MS2_Label");
ObjectDelete("MS3_Label");
return(0);
}
//---------------------------------------------------------
int start()
{
ArrayCopyRates(Day_Price,(Symbol()), 1440);
YesterdayHigh = Day_Price[1][3];
YesterdayLow = Day_Price[1][2];
YesterdayClose = Day_Price[1][4];
Pivot = ((YesterdayHigh + YesterdayLow + YesterdayClose)/3);
R1 = (2*Pivot)-YesterdayLow;
S1 = (2*Pivot)-YesterdayHigh;
R2 = Pivot+(R1-S1);
S2 = Pivot-(R1-S1);
R3 = (YesterdayHigh + (2*(Pivot-YesterdayLow)));
S3 = (YesterdayLow - (2*(YesterdayHigh-Pivot)));
if (Use_Sunday_Data == false)
{
while (DayOfWeek() == 1)
{
YesterdayHigh = Day_Price[2][3];
YesterdayLow = Day_Price[2][2];
YesterdayClose = Day_Price[2][4];
Pivot = ((YesterdayHigh + YesterdayLow + YesterdayClose)/3);
R1 = (2*Pivot)-YesterdayLow;
S1 = (2*Pivot)-YesterdayHigh;
R2 = Pivot+(R1-S1);
S2 = Pivot-(R1-S1);
R3 = (YesterdayHigh + (2*(Pivot-YesterdayLow)));
S3 = (YesterdayLow - (2*(YesterdayHigh-Pivot)));
break;
}
}
//--------------------------------------------------------
//--------------------------------------------------------
ArrayCopyRates(Weekly_Price, Symbol(), 10080);
WeekHigh = Weekly_Price[1][3];
WeekLow = Weekly_Price[1][2];
WeekClose = Weekly_Price[1][4];
WeekPivot = ((WeekHigh + WeekLow + WeekClose)/3);
WR1 = (2*WeekPivot)-WeekLow;
WS1 = (2*WeekPivot)-WeekHigh;
WR2 = WeekPivot+(WR1-WS1);
WS2 = WeekPivot-(WR1-WS1);
WS3 = (WeekLow - (2*(WeekHigh-WeekPivot)));
WR3 = (WeekHigh + (2*(WeekPivot-WeekLow)));
//--------------------------------------------------------
//--------------------------------------------------------
ArrayCopyRates(Month_Price, Symbol(), 43200);
MonthHigh = Month_Price[1][3];
MonthLow = Month_Price[1][2];
MonthClose = Month_Price[1][4];
MonthPivot = ((MonthHigh + MonthLow + MonthClose)/3);
MR1 = (2*MonthPivot)-MonthLow;
MS1 = (2*MonthPivot)-MonthHigh;
MR2 = MonthPivot+(MR1-MS1);
MS2 = MonthPivot-(MR1-MS1);
MS3 = (MonthLow - (2*(MonthHigh-MonthPivot)));
MR3 = (MonthHigh + (2*(MonthPivot-MonthLow)));
//--------------------------------------------------------
datetime dopen=iTime(Symbol(),PERIOD_D1,0);
if (Daily==true)
{
TimeToStr(CurTime());
ObjectCreate("PivotLine", OBJ_TREND, 0, dopen, Pivot, CurTime(), Pivot);
ObjectSet("PivotLine", OBJPROP_COLOR, cdpivot);
ObjectSet("PivotLine", OBJPROP_STYLE, STYLE_DASH);
if(ObjectFind("PivotLabel") != 0)
{
ObjectCreate("PivotLabel", OBJ_TEXT, 0, CurTime()+(240*60)*5, Pivot);
ObjectSetText("PivotLabel", ("D Pivot"), 8, "Arial", cdpivot);
}
else
{
ObjectMove("PivotLabel", 0, CurTime()+(240*60)*5, Pivot);
}
ObjectsRedraw();
//--------------------------------------------------------
if (Daily_SR_Levels==true)
{
ObjectCreate("R1_Line", OBJ_TREND,0, dopen, R1, CurTime(),R1);
ObjectSet("R1_Line", OBJPROP_COLOR, cdr1);
ObjectSet("R1_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("R1_Label") != 0)
{
ObjectCreate("R1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*5, R1);
ObjectSetText("R1_Label", "D R1", 8, "Arial", cdr1);
}
else
{
ObjectMove("R1_Label", 0, CurTime()+(240*60)*5, R1);
}
//--------------------------------------------------------
ObjectCreate("R2_Line", OBJ_TREND,0, dopen, R2, CurTime(),R2);
ObjectSet("R2_Line", OBJPROP_COLOR, cdr2);
ObjectSet("R2_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("R2_Label") != 0)
{
ObjectCreate("R2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*5, R2);
ObjectSetText("R2_Label", "D R2", 8, "Arial", cdr2);
}
else
{
ObjectMove("R2_Label", 0, CurTime()+(240*60)*5, R2);
}
//---------------------------------------------------------
ObjectCreate("R3_Line", OBJ_TREND,0, dopen, R3, CurTime(),R3);
ObjectSet("R3_Line", OBJPROP_COLOR, cdr3);
ObjectSet("R3_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("R3_Label") != 0)
{
ObjectCreate("R3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*5, R3);
ObjectSetText("R3_Label", "D R3", 8, "Arial", cdr3);
}
else
{
ObjectMove("R3_Label", 0, CurTime()+(240*60)*5, R3);
}
//---------------------------------------------------------
ObjectCreate("S1_Line", OBJ_TREND,0, dopen, S1, CurTime(),S1);
ObjectSet("S1_Line", OBJPROP_COLOR, cds1);
ObjectSet("S1_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("S1_Label") != 0)
{
ObjectCreate("S1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*5, S1);
ObjectSetText("S1_Label", "D S1", 8, "Arial", cds1);
}
else
{
ObjectMove("S1_Label", 0, CurTime()+(240*60)*5, S1);
}
//---------------------------------------------------------
ObjectCreate("S2_Line", OBJ_TREND,0, dopen, S2, CurTime(),S2);
ObjectSet("S2_Line", OBJPROP_COLOR, cds2);
ObjectSet("S2_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("S2_Label") != 0)
{
ObjectCreate("S2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*5, S2);
ObjectSetText("S2_Label", "D S2", 8, "Arial", cds2);
}
else
{
ObjectMove("S2_Label", 0, CurTime()+(240*60)*5, S2);
}
//---------------------------------------------------------
ObjectCreate("S3_Line", OBJ_TREND,0, dopen, S3, CurTime(),S3);
ObjectSet("S3_Line", OBJPROP_COLOR, cds3);
ObjectSet("S3_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("S3_Label") != 0)
{
ObjectCreate("S3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*5, S3);
ObjectSetText("S3_Label", "D S3", 8, "Arial", cds3);
}
else
{
ObjectMove("S3_Label", 0, CurTime()+(240*60)*5, S3);
}
}
ObjectsRedraw();
}
//---------------------------------------------------------
//---------------------------------------------------------
//---------------------------------------------------------
datetime wopen=iTime(Symbol(),PERIOD_W1,0);
if (Weekly==true)
{
ObjectCreate("WeekPivotLine", OBJ_TREND,0, wopen,WeekPivot,CurTime(),WeekPivot);
ObjectSet("WeekPivotLine", OBJPROP_COLOR, cwpivot);
ObjectSet("WeekPivotLine", OBJPROP_STYLE, STYLE_DASH);
if(ObjectFind("WeekPivotLabel") != 0)
{
ObjectCreate("WeekPivotLabel", OBJ_TEXT, 0, CurTime()+(240*60)*10, WeekPivot);
ObjectSetText("WeekPivotLabel", "W Pivot", 8, "Arial", cwpivot);
}
else
{
ObjectMove("WeekPivotLabel", 0, CurTime()+(240*60)*10, WeekPivot);
}
//--------------------------------------------------------
if (Weekly_SR_Levels==true)
{
ObjectCreate("WR1_Line", OBJ_TREND,0, wopen, WR1, CurTime(),WR1);
ObjectSet("WR1_Line", OBJPROP_COLOR, cwr1);
ObjectSet("WR1_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("WR1_Label") != 0)
{
ObjectCreate("WR1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*10, WR1);
ObjectSetText("WR1_Label", "W R1", 8, "Arial", cwr1);
}
else
{
ObjectMove("WR1_Label", 0, CurTime()+(240*60)*10, WR1);
}
//--------------------------------------------------------
ObjectCreate("WR2_Line", OBJ_TREND,0, wopen,WR2,CurTime(),WR2);
ObjectSet("WR2_Line", OBJPROP_COLOR, cwr2);
ObjectSet("WR2_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("WR2_Label") != 0)
{
ObjectCreate("WR2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*10, WR2);
ObjectSetText("WR2_Label", " W R2", 8, "Arial", cwr2);
}
else
{
ObjectMove("WR2_Label", 0, CurTime()+(240*60)*10, WR2);
}
//---------------------------------------------------------
ObjectCreate("WR3_Line", OBJ_TREND,0, wopen,WR3, CurTime(),WR3);
ObjectSet("WR3_Line", OBJPROP_COLOR, cwr3);
ObjectSet("WR3_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("WR3_Label") != 0)
{
ObjectCreate("WR3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*10, WR3);
ObjectSetText("WR3_Label", " W R3", 8, "Arial", cwr3);
}
else
{
ObjectMove("WR3_Label", 0, CurTime()+(240*60)*10, WR3);
}
//---------------------------------------------------------
ObjectCreate("WS1_Line", OBJ_TREND,0, wopen,WS1, CurTime(),WS1);
ObjectSet("WS1_Line", OBJPROP_COLOR, cws1);
ObjectSet("WS1_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("WS1_Label") != 0)
{
ObjectCreate("WS1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*10, WS1);
ObjectSetText("WS1_Label", "W S1", 8, "Arial", cws1);
}
else
{
ObjectMove("WS1_Label", 0, CurTime()+(240*60)*10, WS1);
}
//---------------------------------------------------------
ObjectCreate("WS2_Line", OBJ_TREND,0, wopen,WS2, CurTime(),WS2);
ObjectSet("WS2_Line", OBJPROP_COLOR, cws2);
ObjectSet("WS2_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("WS2_Label") != 0)
{
ObjectCreate("WS2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*10, WS2);
ObjectSetText("WS2_Label", "W S2", 8, "Arial", cws2);
}
else
{
ObjectMove("WS2_Label", 0, CurTime()+(240*60)*10, WS2);
}
//---------------------------------------------------------
ObjectCreate("WS3_Line", OBJ_TREND,0, wopen,WS3, CurTime(),WS3);
ObjectSet("WS3_Line", OBJPROP_COLOR, cws3);
ObjectSet("WS3_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("WS3_Label") != 0)
{
ObjectCreate("WS3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*10, WS3);
ObjectSetText("WS3_Label", "W S3", 8, "Arial", cws3);
}
else
{
ObjectMove("WS3_Label", 0, CurTime()+(240*60)*10, WS3);
}
}
}
//---------------------------------------------------------
//---------------------------------------------------------
//---------------------------------------------------------
datetime mopen=iTime(Symbol(),PERIOD_MN1,0);
if (Monthly==true)
{
ObjectCreate("MonthPivotLine", OBJ_TREND,0, mopen, MonthPivot, CurTime(),MonthPivot);
ObjectSet("MonthPivotLine", OBJPROP_COLOR, cmpivot);
ObjectSet("MonthPivotLine", OBJPROP_STYLE, STYLE_DASH);
if(ObjectFind("MonthPivotLabel") != 0)
{
ObjectCreate("MonthPivotLabel", OBJ_TEXT, 0, CurTime()+(240*60)*15, MonthPivot);
ObjectSetText("MonthPivotLabel", "M Pivot", 8, "Arial", cmpivot);
}
else
{
ObjectMove("MonthPivotLabel", 0, CurTime()+(240*60)*15, MonthPivot);
}
//--------------------------------------------------------
if (Monthly_SR_Levels==true)
{
ObjectCreate("MR1_Line", OBJ_TREND,0, mopen, MR1, CurTime(),MR1);
ObjectSet("MR1_Line", OBJPROP_COLOR, cmr1);
ObjectSet("MR1_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("MR1_Label") != 0)
{
ObjectCreate("MR1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*15, MR1);
ObjectSetText("MR1_Label", " M R1", 8, "Arial", cmr1);
}
else
{
ObjectMove("MR1_Label", 0, CurTime()+(240*60)*15, MR1);
}
//--------------------------------------------------------
ObjectCreate("MR2_Line", OBJ_TREND,0, mopen, MR2, CurTime(),MR2);
ObjectSet("MR2_Line", OBJPROP_COLOR, cmr2);
ObjectSet("MR2_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("MR2_Label") != 0)
{
ObjectCreate("MR2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*15, MR2);
ObjectSetText("MR2_Label", " M R2", 8, "Arial", cmr2);
}
else
{
ObjectMove("MR2_Label", 0, CurTime()+(240*60)*15, MR2);
}
//---------------------------------------------------------
ObjectCreate("MR3_Line", OBJ_TREND,0, mopen, MR3, CurTime(),MR3);
ObjectSet("MR3_Line", OBJPROP_COLOR, cmr3);
ObjectSet("MR3_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("MR3_Label") != 0)
{
ObjectCreate("MR3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*15, MR3);
ObjectSetText("MR3_Label", " M R3", 8, "Arial", cmr3);
}
else
{
ObjectMove("MR3_Label", 0, CurTime()+(240*60)*15, MR3);
}
//---------------------------------------------------------
ObjectCreate("MS1_Line", OBJ_TREND,0, mopen, MS1, CurTime(),MS1);
ObjectSet("MS1_Line", OBJPROP_COLOR, cms1);
ObjectSet("MS1_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("MS1_Label") != 0)
{
ObjectCreate("MS1_Label", OBJ_TEXT, 0, CurTime()+(240*60)*15, MS1);
ObjectSetText("MS1_Label", "M S1", 8, "Arial", cms1);
}
else
{
ObjectMove("MS1_Label", 0, CurTime()+(240*60)*15, MS1);
}
//---------------------------------------------------------
ObjectCreate("MS2_Line", OBJ_TREND,0, mopen, MS2, CurTime(),MS2);
ObjectSet("MS2_Line", OBJPROP_COLOR, cms2);
ObjectSet("MS2_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("MS2_Label") != 0)
{
ObjectCreate("MS2_Label", OBJ_TEXT, 0, CurTime()+(240*60)*15, MS2);
ObjectSetText("MS2_Label", "M S2", 8, "Arial", cms2);
}
else
{
ObjectMove("MS2_Label", 0, CurTime()+(240*60)*15, MS2);
}
//---------------------------------------------------------
ObjectCreate("MS3_Line", OBJ_TREND,0, mopen, MS3, CurTime(),MS3);
ObjectSet("MS3_Line", OBJPROP_COLOR, cms3);
ObjectSet("MS3_Line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
if(ObjectFind("MS3_Label") != 0)
{
ObjectCreate("MS3_Label", OBJ_TEXT, 0, CurTime()+(240*60)*15, MS3);
ObjectSetText("MS3_Label", "M S3", 8, "Arial", cms3);
}
else
{
ObjectMove("MS3_Label", 0, CurTime()+(240*60)*15, MS3);
}
}
}
//---------------------------------------------------------
ObjectsRedraw();
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
---