//+------------------------------------------------------------------+ //| Woodies Daily Pivots Script.mq4 | //| Converted to MT4 / MQ4 by Flash52 | //| fxflash52@y... | //+------------------------------------------------------------------+ #property copyright "Flash52" #property link "fxflash52@y..." //+------------------------------------------------------------------+ //| Woodies Daily Pivots script program start function | //+------------------------------------------------------------------+ int start() { //---- initialize local variables double day_high=0; double day_low=0; double yesterday_high=0; double yesterday_open=0; double yesterday_low=0; double yesterday_close=0; double today_open=0; double r2=0; double r1=0; double p=0; double s1=0; double s2=0; double rates_d1[2][6]; //---- exit if period is greater than daily charts if(Period() > 1440) { Print("Error - Chart period is greater than 1 day."); return(-1); // then exit } //---- Get new daily prices ArrayCopyRates(rates_d1, Symbol(), PERIOD_D1); yesterday_close = rates_d1[1][4]; yesterday_open = rates_d1[1][1]; today_open = rates_d1[0][1]; yesterday_high = rates_d1[1][3]; yesterday_low = rates_d1[1][2]; //---- Calculate Pivots p = (yesterday_high + yesterday_low + today_open + today_open) / 4;//Woodies Pivot r1 = (2*p)-yesterday_low; s1 = (2*p)-yesterday_high; r2 = p+(yesterday_high - yesterday_low); s2 = p-(yesterday_high - yesterday_low); //---- Set line labels on chart window if(ObjectFind("R1 label") != 0) { ObjectCreate("R1 label", OBJ_TEXT, 0, Time[20], r1); ObjectSetText("R1 label", "Woodies R1", 8, "Arial", White); } else { ObjectMove("R1 label", 0, Time[20], r1); } if(ObjectFind("R2 label") != 0) { ObjectCreate("R2 label", OBJ_TEXT, 0, Time[20], r2); ObjectSetText("R2 label", "Woodies R2", 8, "Arial", White); } else { ObjectMove("R2 label", 0, Time[20], r2); } if(ObjectFind("P label") != 0) { ObjectCreate("P label", OBJ_TEXT, 0, Time[20], p); ObjectSetText("P label", "Woodies Pivot", 8, "Arial", White); } else { ObjectMove("P label", 0, Time[20], p); } if(ObjectFind("S1 label") != 0) { ObjectCreate("S1 label", OBJ_TEXT, 0, Time[20], s1); ObjectSetText("S1 label", "Woodies S1", 8, "Arial", White); } else { ObjectMove("S1 label", 0, Time[20], s1); } if(ObjectFind("S2 label") != 0) { ObjectCreate("S2 label", OBJ_TEXT, 0, Time[20], s2); ObjectSetText("S2 label", "Woodies S2", 8, "Arial", White); } else { ObjectMove("S2 label", 0, Time[20], s2); } //---- Set lines on chart window if(ObjectFind("S1 line") != 0) { ObjectCreate("S1 line", OBJ_HLINE, 0, Time[40], s1); ObjectSet("S1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("S1 line", OBJPROP_COLOR, LimeGreen); } else { ObjectMove("S1 line", 0, Time[40], s1); } if(ObjectFind("S2 line") != 0) { ObjectCreate("S2 line", OBJ_HLINE, 0, Time[40], s2); ObjectSet("S2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("S2 line", OBJPROP_COLOR, LimeGreen); } else { ObjectMove("S2 line", 0, Time[40], s2); } if(ObjectFind("P line") != 0) { ObjectCreate("P line", OBJ_HLINE, 0, Time[40], p); ObjectSet("P line", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("P line", OBJPROP_COLOR, Magenta); } else { ObjectMove("P line", 0, Time[40], p); } if(ObjectFind("R1 line") != 0) { ObjectCreate("R1 line", OBJ_HLINE, 0, Time[40], r1); ObjectSet("R1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("R1 line", OBJPROP_COLOR, OrangeRed); } else { ObjectMove("R1 line", 0, Time[40], r1); } if(ObjectFind("R2 line") != 0) { ObjectCreate("R2 line", OBJ_HLINE, 0, Time[40], r2); ObjectSet("R2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("R2 line", OBJPROP_COLOR, OrangeRed); } else { ObjectMove("R2 line", 0, Time[40], r2); } //---- done return(0); } //+------------------------------------------------------------------+