There are seven "ObjectMove" functions in the Pivots indicator(the one preceded by // isn't operative though, so it would be 6 of them):
//+------------------------------------------------------------------+
//| Helper |
//+------------------------------------------------------------------+
void SetLevel(string text, double level, color col1, int linestyle, int thickness, datetime startofday)
{
int digits= Digits;
string labelname= "[PIVOT] " + text + " Label",
linename= "[PIVOT] " + text + " Line",
pricelabel;
// create or move the horizontal line
int Z = OBJ_TREND;
if (FullLinesWithMarginLabels == true)
{
Z = OBJ_HLINE;
startofday=0; //if not = 0, then lines extend only from start of yesterday
}
if (ObjectFind(linename) != 0)
{
ObjectCreate(linename, Z, 0, startofday, level, Time[0],level);
ObjectSet(linename, OBJPROP_STYLE, linestyle);
ObjectSet(linename, OBJPROP_COLOR, col1);
ObjectSet(linename, OBJPROP_WIDTH, thickness);
}
else
{
ObjectMove(linename, 1, Time[0],level);
ObjectMove(linename, 0, startofday, level);
}
// put a label on the line
if (ObjectFind(labelname) != 0)
{
//ObjectCreate(labelname, OBJ_TEXT, 0, MathMin(Time[BarForLabels], startofday + 2*Period()*60), level);
ObjectCreate(labelname, OBJ_TEXT, 0, Time[MoveLabel_LR_IncrDecr], level);
}
else
{
// ObjectMove(labelname, 0, MathMin(Time[BarForLabels], startofday+2*Period()*60), level);
ObjectMove(labelname, 0, Time[MoveLabel_LR_IncrDecr] , level);
}
pricelabel= " " + text;
if (LineLabelShowsPrice && StrToInteger(text)==0) pricelabel= pricelabel + ": "+DoubleToStr(level, Digits);
ObjectSetText(labelname, pricelabel, LineLabelFontSize , "Arial", LineLabelColor); //line labels
}
//+-------------------------------------------------------------------------------------------+
//| Helper=draws vertical timelines & gets "yesterday/today" from elsewhere and displays them.| |
//+-------------------------------------------------------------------------------------------+
void SetTimeLine(string objname, string text, int idx, color col1, double vleveltext)
{
string name= "[PIVOT] " + objname;
int x= Time[idx];
if(ShowNewPeriodSeparators == true)
{
if (ObjectFind(name) != 0) ObjectCreate(name, OBJ_TREND, 0, x, 0, x, 100);
else { ObjectMove(name, 0, x, 0); ObjectMove(name, 1, x, 100); }
}
ObjectSet(name, OBJPROP_STYLE, SeparatorLineStyle_01234);
ObjectSet(name, OBJPROP_COLOR, NewPeriodSeparatorsColor);//vertical separators
ObjectSet(name, OBJPROP_WIDTH, 1);
if (ObjectFind(name + " Label") != 0) ObjectCreate(name + " Label", OBJ_TEXT, 0, x, vleveltext);
else ObjectMove(name + " Label", 0, x, vleveltext);
ObjectSetText(name + " Label", text, 9, "Arial Bold", Black); //"yesterday" and "today" labels
}
//------------------------End Program-----------------------------------------------------------------
//+------------------------------------------------------------------+
//| Helper |
//+------------------------------------------------------------------+
void SetLevel(string text, double level, color col1, int linestyle, int thickness, datetime startofday)
{
int digits= Digits;
string labelname= "[PIVOT] " + text + " Label",
linename= "[PIVOT] " + text + " Line",
pricelabel;
// create or move the horizontal line
int Z = OBJ_TREND;
if (FullLinesWithMarginLabels == true)
{
Z = OBJ_HLINE;
startofday=0; //if not = 0, then lines extend only from start of yesterday
}
if (ObjectFind(linename) != 0)
{
ObjectCreate(linename, Z, 0, startofday, level, Time[0],level);
ObjectSet(linename, OBJPROP_STYLE, linestyle);
ObjectSet(linename, OBJPROP_COLOR, col1);
ObjectSet(linename, OBJPROP_WIDTH, thickness);
}
else
{
ObjectMove(linename, 1, Time[0],level);
ObjectMove(linename, 0, startofday, level);
}
// put a label on the line
if (ObjectFind(labelname) != 0)
{
//ObjectCreate(labelname, OBJ_TEXT, 0, MathMin(Time[BarForLabels], startofday + 2*Period()*60), level);
ObjectCreate(labelname, OBJ_TEXT, 0, Time[MoveLabel_LR_IncrDecr], level);
}
else
{
// ObjectMove(labelname, 0, MathMin(Time[BarForLabels], startofday+2*Period()*60), level);
ObjectMove(labelname, 0, Time[MoveLabel_LR_IncrDecr] , level);
}
pricelabel= " " + text;
if (LineLabelShowsPrice && StrToInteger(text)==0) pricelabel= pricelabel + ": "+DoubleToStr(level, Digits);
ObjectSetText(labelname, pricelabel, LineLabelFontSize , "Arial", LineLabelColor); //line labels
}
//+-------------------------------------------------------------------------------------------+
//| Helper=draws vertical timelines & gets "yesterday/today" from elsewhere and displays them.| |
//+-------------------------------------------------------------------------------------------+
void SetTimeLine(string objname, string text, int idx, color col1, double vleveltext)
{
string name= "[PIVOT] " + objname;
int x= Time[idx];
if(ShowNewPeriodSeparators == true)
{
if (ObjectFind(name) != 0) ObjectCreate(name, OBJ_TREND, 0, x, 0, x, 100);
else { ObjectMove(name, 0, x, 0); ObjectMove(name, 1, x, 100); }
}
ObjectSet(name, OBJPROP_STYLE, SeparatorLineStyle_01234);
ObjectSet(name, OBJPROP_COLOR, NewPeriodSeparatorsColor);//vertical separators
ObjectSet(name, OBJPROP_WIDTH, 1);
if (ObjectFind(name + " Label") != 0) ObjectCreate(name + " Label", OBJ_TEXT, 0, x, vleveltext);
else ObjectMove(name + " Label", 0, x, vleveltext);
ObjectSetText(name + " Label", text, 9, "Arial Bold", Black); //"yesterday" and "today" labels
}
//------------------------End Program-----------------------------------------------------------------