НО Работает как нужно только с одним символом. на других символах линия clrNONE
и советник линию создаёт но она не синхронизируется…
long chart_ID = ChartID();
long width = NULL;
long v_width = NULL;
color color_1 = NULL;
color color_2 = NULL;
ENUM_LINE_STYLE style = NULL;
ENUM_LINE_STYLE v_style = NULL;
double pr=0,p1=0,p2=0;
datetime TM=0,t2=0;
int k=0;
long prev=ChartFirst();
for(int i=0; i<ObjectsTotal(0,-1,-1); i++)
{
if(ObjectGetInteger(0,ObjectName(0,i,-1,-1),OBJPROP_TYPE)==OBJ_HLINE)
{
nm=ObjectName(0,i,-1,-1);
if(StringFind(nm,prefix)<0)continue;
pr=ObjectGetDouble(0,ObjectName(0,i,-1,-1),OBJPROP_PRICE);
string symbol=StringSubstr(nm,StringLen(prefix),StringFind(nm,suffix)-StringLen(prefix));
// sm=Symbol();
color_1 = (color)ObjectGetInteger(0,ObjectName(0,i,-1,-1),OBJPROP_COLOR);
style =(ENUM_LINE_STYLE)ObjectGetInteger(0,ObjectName(0,i,-1,-1),OBJPROP_STYLE);
width = ObjectGetInteger(0,ObjectName(0,i,-1,-1),OBJPROP_WIDTH);
while(k<33)
{
curr=ChartNext(prev);
if(curr<0)
break;
if(nm!="" && ChartSymbol(curr)==symbol )
{
ObjectCreate(curr,nm,OBJ_HLINE,0,0,NormalizeDouble(pr,_Digits));
ObjectSetInteger(curr,nm,OBJPROP_COLOR ,color_1);
ObjectSetInteger(curr,nm,OBJPROP_BACK ,true);
ObjectSetInteger(curr,nm,OBJPROP_STYLE ,style);
ObjectSetInteger(curr,nm,OBJPROP_WIDTH ,width);
ObjectSetInteger(curr,nm,OBJPROP_SELECTABLE,true);
ObjectSetInteger(curr,nm,OBJPROP_TIMEFRAMES,OBJ_PERIOD_H1|OBJ_PERIOD_M15|OBJ_PERIOD_M1);
}
if(ChartSymbol(curr)!=symbol) {
ObjectSetInteger(curr,nm,OBJPROP_COLOR ,clrNONE);}
if(nm=="")
{
ObjectsDeleteAll(curr,nm,-1,-1);
}
prev=curr;
k++;
}
}
}
sergeysv7