//+------------------------------------------------------------------+ //| KlPivot_Weekly_yen.mq4 by Habeeb | //| | //+------------------------------------------------------------------+ #property indicator_chart_window extern bool Daily = False; extern bool Weekly = True; extern bool Monthly = False; double YesterdayHigh; double YesterdayLow; double YesterdayClose; double Day_Price[][6]; double Pivot,S1,S2,S3,R1,R2,R3; double WeekOpen; double WeekLow; double WeekClose; double Weekly_Price[][6]; double WeekPivot,WS11,WS12,WS13,WS14,WS15,WS16,WS17,WS18,WR11,WR12,WR13,WR14,WR15,WR16,WR17,WR18; 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("WR11_Line"); ObjectDelete("WR12_Line"); ObjectDelete("WR13_Line"); ObjectDelete("WR14_Line"); ObjectDelete("WR15_Line"); ObjectDelete("WR16_Line"); ObjectDelete("WR17_Line"); ObjectDelete("WR18_Line"); ObjectDelete("WS11_Line"); ObjectDelete("WS12_Line"); ObjectDelete("WS13_Line"); ObjectDelete("WS14_Line"); ObjectDelete("WS15_Line"); ObjectDelete("WS16_Line"); ObjectDelete("WS17_Line"); ObjectDelete("WS18_Line"); //-------------------------------- ObjectDelete("WR11_Label"); ObjectDelete("WR12_Label"); ObjectDelete("WR13_Label"); ObjectDelete("WR14_Label"); ObjectDelete("WR15_Label"); ObjectDelete("WR16_Label"); ObjectDelete("WR17_Label"); ObjectDelete("WR18_Label"); ObjectDelete("WS11_Label"); ObjectDelete("WS12_Label"); ObjectDelete("WS13_Label"); ObjectDelete("WS14_Label"); ObjectDelete("WS15_Label"); ObjectDelete("WS16_Label"); ObjectDelete("WS17_Label"); ObjectDelete("WS18_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() { ArrayInitialize(Day_Price,0); 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); S3 = (YesterdayLow - (2*(YesterdayHigh-Pivot))); R3 = (YesterdayHigh + (2*(Pivot-YesterdayLow))); //-------------------------------------------------------- //-------------------------------------------------------- ArrayInitialize(Weekly_Price, 0); ArrayCopyRates(Weekly_Price, Symbol(), 10080); WeekOpen = Weekly_Price[0][1]; //WeekLow = Weekly_Price[1][2]; //WeekClose = Weekly_Price[1][4]; WeekPivot = WeekOpen; WR11 = WeekPivot + 4.5; WS11 = WeekPivot - 4.5; WR12 = WeekPivot + 5.0; WS12 = WeekPivot - 5.0; WS13 = WeekPivot - 5.5; WR13 = WeekPivot + 5.5; WS14 = WeekPivot - 6.0; WR14 = WeekPivot + 6.0; WS15 = WeekPivot - 6.5; WR15 = WeekPivot + 6.5; WS16 = WeekPivot - 7.0; WR16 = WeekPivot + 7.0; WS17 = WeekPivot - 7.5; WR17 = WeekPivot + 7.5; WS18 = WeekPivot - 8.0; WR18 = WeekPivot + 8.0; //-------------------------------------------------------- //-------------------------------------------------------- ArrayInitialize(Month_Price, 0); 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))); //-------------------------------------------------------- if (Daily==true) { ObjectCreate("PivotLine", OBJ_HLINE,0, CurTime(),Pivot); ObjectSet("PivotLine", OBJPROP_COLOR, Magenta); ObjectSet("PivotLine", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("PivotLabel") != 0) { ObjectCreate("PivotLabel", OBJ_TEXT, 0, Time[20], Pivot); ObjectSetText("PivotLabel", "Daily Pivot", 8, "Arial", Magenta); } else { ObjectMove("PivotLabel", 0, Time[20], Pivot); } //-------------------------------------------------------- ObjectCreate("R1_Line", OBJ_HLINE,0, CurTime(),R1); ObjectSet("R1_Line", OBJPROP_COLOR, Maroon); ObjectSet("R1_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("R1_Label") != 0) { ObjectCreate("R1_Label", OBJ_TEXT, 0, Time[20], R1); ObjectSetText("R1_Label", "Daily R1", 8, "Arial", Red); } else { ObjectMove("R1_Label", 0, Time[20], R1); } //-------------------------------------------------------- ObjectCreate("R2_Line", OBJ_HLINE,0, CurTime(),R2); ObjectSet("R2_Line", OBJPROP_COLOR, Red); ObjectSet("R2_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("R2_Label") != 0) { ObjectCreate("R2_Label", OBJ_TEXT, 0, Time[20], R2); ObjectSetText("R2_Label", "Daily R2", 8, "Arial", Red); } else { ObjectMove("R2_Label", 0, Time[20], R2); } //--------------------------------------------------------- ObjectCreate("R3_Line", OBJ_HLINE,0, CurTime(),R3); ObjectSet("R3_Line", OBJPROP_COLOR, Red); ObjectSet("R3_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("R3_Label") != 0) { ObjectCreate("R3_Label", OBJ_TEXT, 0, Time[20], R3); ObjectSetText("R3_Label", "Daily R3", 8, "Arial", Red); } else { ObjectMove("R3_Label", 0, Time[20], R3); } //--------------------------------------------------------- ObjectCreate("S1_Line", OBJ_HLINE,0, CurTime(),S1); ObjectSet("S1_Line", OBJPROP_COLOR, LimeGreen); ObjectSet("S1_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("S1_Label") != 0) { ObjectCreate("S1_Label", OBJ_TEXT, 0, Time[20], S1); ObjectSetText("S1_Label", "Daily S1", 8, "Arial", LimeGreen); } else { ObjectMove("S1_Label", 0, Time[20], S1); } //--------------------------------------------------------- ObjectCreate("S2_Line", OBJ_HLINE,0, CurTime(),S2); ObjectSet("S2_Line", OBJPROP_COLOR, LimeGreen); ObjectSet("S2_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("S2_Label") != 0) { ObjectCreate("S2_Label", OBJ_TEXT, 0, Time[20], S2); ObjectSetText("S2_Label", "Daily S2", 8, "Arial", LimeGreen); } else { ObjectMove("S2_Label", 0, Time[20], S2); } //--------------------------------------------------------- ObjectCreate("S3_Line", OBJ_HLINE,0, CurTime(),S3); ObjectSet("S3_Line", OBJPROP_COLOR, LimeGreen); ObjectSet("S3_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("S3_Label") != 0) { ObjectCreate("S3_Label", OBJ_TEXT, 0, Time[20], S3); ObjectSetText("S3_Label", "Daily S3", 8, "Arial", LimeGreen); } else { ObjectMove("S3_Label", 0, Time[20], S3); } } ObjectsRedraw(); //--------------------------------------------------------- //--------------------------------------------------------- //--------------------------------------------------------- //-------------------------------------------------------- ObjectCreate("WR11_Line", OBJ_HLINE,0, CurTime(),WR11); ObjectSet("WR11_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WR11_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WR11_Label") != 0) { ObjectCreate("WR11_Label", OBJ_TEXT, 0, Time[30], WR11); ObjectSetText("WR11_Label", " +450", 8, "Arial", White); } else { ObjectMove("WR1_Label", 0, Time[30], WR11); } //-------------------------------------------------------- ObjectCreate("WR12_Line", OBJ_HLINE,0, CurTime(),WR12); ObjectSet("WR12_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WR12_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WR12_Label") != 0) { ObjectCreate("WR12_Label", OBJ_TEXT, 0, Time[30], WR12); ObjectSetText("WR12_Label", " +500", 8, "Arial", White); } else { ObjectMove("WR12_Label", 0, Time[30], WR12); } //--------------------------------------------------------- ObjectCreate("WR3_Line", OBJ_HLINE,0, CurTime(),WR13); ObjectSet("WR13_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WR13_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WR13_Label") != 0) { ObjectCreate("WR13_Label", OBJ_TEXT, 0, Time[30], WR13); ObjectSetText("WR13_Label", " +550", 8, "Arial", White); } else { ObjectMove("WR13_Label", 0, Time[30], WR13); } //--------------------------------------------------------- ObjectCreate("WR14_Line", OBJ_HLINE,0, CurTime(),WR14); ObjectSet("WR14_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WR14_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WR14_Label") != 0) { ObjectCreate("WR14_Label", OBJ_TEXT, 0, Time[30], WR14); ObjectSetText("WR14_Label", " +600", 8, "Arial", White); } else { ObjectMove("WR14_Label", 0, Time[30], WR14); } //--------------------------------------------------------- ObjectCreate("WR15_Line", OBJ_HLINE,0, CurTime(),WR15); ObjectSet("WR15_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WR15_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WR15_Label") != 0) { ObjectCreate("WR15_Label", OBJ_TEXT, 0, Time[30], WR15); ObjectSetText("WR15_Label", " +650", 8, "Arial", White); } else { ObjectMove("WR15_Label", 0, Time[30], WR15); } //--------------------------------------------------------- ObjectCreate("WR16_Line", OBJ_HLINE,0, CurTime(),WR16); ObjectSet("WR16_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WR16_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WR16_Label") != 0) { ObjectCreate("WR16_Label", OBJ_TEXT, 0, Time[30], WR16); ObjectSetText("WR16_Label", " +700", 8, "Arial", White); } else { ObjectMove("WR16_Label", 0, Time[30], WR16); } //--------------------------------------------------------- ObjectCreate("WR17_Line", OBJ_HLINE,0, CurTime(),WR17); ObjectSet("WR17_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WR17_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WR17_Label") != 0) { ObjectCreate("WR17_Label", OBJ_TEXT, 0, Time[30], WR17); ObjectSetText("WR17_Label", " +750", 8, "Arial", White); } else { ObjectMove("WR17_Label", 0, Time[30], WR17); } //--------------------------------------------------------- ObjectCreate("WR18_Line", OBJ_HLINE,0, CurTime(),WR18); ObjectSet("WR18_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WR18_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WR18_Label") != 0) { ObjectCreate("WR18_Label", OBJ_TEXT, 0, Time[30], WR18); ObjectSetText("WR18_Label", " +800", 8, "Arial", White); } else { ObjectMove("WR18_Label", 0, Time[30], WR18); } //-------------------------------------------------------- ObjectCreate("WS11_Line", OBJ_HLINE,0, CurTime(),WS11); ObjectSet("WS11_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WS11_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WS11_Label") != 0) { ObjectCreate("WS11_Label", OBJ_TEXT, 0, Time[30], WS11); ObjectSetText("WS11_Label", "-450", 8, "Arial", White); } else { ObjectMove("WS11_Label", 0, Time[30], WS11); } //--------------------------------------------------------- ObjectCreate("WS12_Line", OBJ_HLINE,0, CurTime(),WS12); ObjectSet("WS12_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WS12_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WS12_Label") != 0) { ObjectCreate("WS12_Label", OBJ_TEXT, 0, Time[30], WS12); ObjectSetText("WS12_Label", " -500", 8, "Arial", White); } else { ObjectMove("WS12_Label", 0, Time[30], WS12); } //--------------------------------------------------------- ObjectCreate("WS13_Line", OBJ_HLINE,0, CurTime(),WS13); ObjectSet("WS13_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WS13_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WS13_Label") != 0) { ObjectCreate("WS13_Label", OBJ_TEXT, 0, Time[30], WS13); ObjectSetText("WS13_Label", "-550", 8, "Arial", White); } else { ObjectMove("WS13_Label", 0, Time[30], WS13); } //--------------------------------------------------------- ObjectCreate("WS14_Line", OBJ_HLINE,0, CurTime(),WS14); ObjectSet("WS14_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WS14_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WS14_Label") != 0) { ObjectCreate("WS14_Label", OBJ_TEXT, 0, Time[30], WS14); ObjectSetText("WS14_Label", "-600", 8, "Arial", White); } else { ObjectMove("WS14_Label", 0, Time[30], WS14); } //--------------------------------------------------------- //--------------------------------------------------------- ObjectCreate("WS15_Line", OBJ_HLINE,0, CurTime(),WS15); ObjectSet("WS15_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WS15_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WS15_Label") != 0) { ObjectCreate("WS15_Label", OBJ_TEXT, 0, Time[30], WS15); ObjectSetText("WS15_Label", "-650", 8, "Arial", White); } else { ObjectMove("WS15_Label", 0, Time[30], WS15); } //--------------------------------------------------------- ObjectCreate("WS16_Line", OBJ_HLINE,0, CurTime(),WS16); ObjectSet("WS16_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WS16_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WS16_Label") != 0) { ObjectCreate("WS16_Label", OBJ_TEXT, 0, Time[30], WS16); ObjectSetText("WS16_Label", "-700", 8, "Arial", White); } else { ObjectMove("WS16_Label", 0, Time[30], WS16); } //--------------------------------------------------------- ObjectCreate("WS17_Line", OBJ_HLINE,0, CurTime(),WS17); ObjectSet("WS17_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WS17_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WS17_Label") != 0) { ObjectCreate("WS17_Label", OBJ_TEXT, 0, Time[30], WS17); ObjectSetText("WS17_Label", " -750", 8, "Arial", White); } else { ObjectMove("WS17_Label", 0, Time[30], WS17); } //--------------------------------------------------------- ObjectCreate("WS18_Line", OBJ_HLINE,0, CurTime(),WS18); ObjectSet("WS18_Line", OBJPROP_COLOR, MediumBlue); ObjectSet("WS18_Line", OBJPROP_STYLE, STYLE_SOLID); if(ObjectFind("WS18_Label") != 0) { ObjectCreate("WS18_Label", OBJ_TEXT, 0, Time[30], WS18); ObjectSetText("WS18_Label", " -800", 8, "Arial", White); } else { ObjectMove("WS8_Label", 0, Time[30], WS18); } } //--------------------------------------------------------- //---------------------------------------------------------
Sample
Analysis
Market Information Used:
Series array that contains open time of each bar
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: