//+------------------------------------------------------------------+ //| PlotVerticalLineScriptChi.mq4 | //| Copyright © 2011, Chistabo | //| chistabo@gmail.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011 by Chistabo" #property link "chistabo@gmail.com" //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- string EDate, Description; int TimeIndex; color Colour; double Buffer; int handle; handle = FileOpen ("PlotDataChiAspects.csv", FILE_CSV|FILE_READ, ','); if (handle < 1) { Print ("File my_data.dat not found, the last error is ", GetLastError()); return (false); } while (!FileIsEnding (handle)) { EDate = FileReadString (handle); Description = FileReadString (handle); if (EDate == "") continue; datetime DDate = StrToTime (EDate); //////////////////////////////////////////////////////////////////// // Colour = Yellow; // Sy / Sun // Colour = Green; // Bu / Mer Colour = DodgerBlue; // Sa / Sa // Colour = DarkOrange; // Gu / Jup // Colour = Red; // Ma / Mar // Colour = Violet; // Sk / Ven // Colour = White; // Ch / Moon // Colour = Blue; /////////////////////////////////////////////////////////////////// SetObj (EDate + Description, OBJ_VLINE, StrToTime (EDate), 0, 1, Colour); TimeIndex = 0; for (int j = 0; j < Bars; j++) { if (Time [j] >= DDate && Time [j+1] <= DDate) TimeIndex = j; if (TimeIndex != 0) break; } SetTxtObj (EDate + " " + Description, OBJ_TEXT, StrToTime (EDate), Low [TimeIndex] - Buffer, Description, 90, C'30,30,30'); } FileClose (handle); return (0); } //+------------------------------------------------------------------+ int SetTxtObj (string Name, int ObjType, datetime Time1, double Price1, string ObjText, double Angle, color LColor) { if (ObjectFind (Name) < 0) { //object not found create new one if (ObjType == OBJ_TEXT) { ObjectCreate (Name, OBJ_TEXT, 0, Time1, Price1); ObjectSetText (Name, ObjText, 8, "Arial", LColor); ObjectSet (Name, OBJPROP_ANGLE, Angle); ObjectSet (Name, OBJPROP_BACK, 1); ObjectSet (Name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H4 | OBJ_PERIOD_D1 | OBJ_PERIOD_H1); } } else { if (ObjectType (Name) == OBJ_TEXT) { ObjectSet (Name, OBJPROP_TIME1, Time1); ObjectSet (Name, OBJPROP_PRICE1, Price1); ObjectSetText (Name, ObjText, 8, "Arial", LColor); ObjectSet (Name, OBJPROP_ANGLE, Angle); ObjectSet (Name, OBJPROP_BACK, 1); ObjectSet (Name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H4 | OBJ_PERIOD_D1 | OBJ_PERIOD_H1); } } return(0); } //+------------------------------------------------------------------+ int SetObj (string Name, int ObjType, datetime Time1, double Price1, int Thickness, color LColor) { if (ObjectFind (Name) < 0) { //object not found create new one if (ObjType == OBJ_VLINE) { ObjectCreate (Name, OBJ_VLINE, 0, Time1, Price1); ObjectSet (Name, OBJPROP_WIDTH, Thickness); ObjectSet (Name, OBJPROP_COLOR, LColor); ObjectSet (Name, OBJPROP_STYLE, STYLE_DASHDOT); ObjectSet (Name, OBJPROP_BACK, 1); ObjectSet (Name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H4 | OBJ_PERIOD_D1 | OBJ_PERIOD_H1); } } else { if (ObjectType (Name) == OBJ_VLINE) { ObjectSet (Name, OBJPROP_TIME1, Time1); ObjectSet (Name, OBJPROP_PRICE1, Price1); ObjectSet (Name, OBJPROP_WIDTH, Thickness); ObjectSet (Name, OBJPROP_COLOR, LColor); ObjectSet (Name, OBJPROP_BACK, 1); ObjectSet (Name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H4 | OBJ_PERIOD_D1 | OBJ_PERIOD_H1); } } return(0); }