Как буферную стрелку можно определить на графике, если не через iCustom?

 
Там такой индикатор, который работает в режиме "здесь и сейчас". Он историю не прорисовывает, он только на текущем баре, если условия подходящие, может стрелку поставить.

Как эту буферную стрелку уловить на текущем баре?
 
igrok333:
Там такой индикатор, который работает в режиме "здесь и сейчас". Он историю не прорисовывает, он только на текущем баре, если условия подходящие, может стрелку поставить.

Как эту буферную стрелку уловить на текущем баре?

Алг:

1. сохранить список объектов и их кол.во

2. периодически (по таймеру, OnChartEvent ) сверять кол-во, если изменилось, то перебрать объекты в поисках искомого+нового на текущем баре. Заодно скорректировать список и кол-во

hint: при создании объекта получается событие OnChartEvent - можно прямо там смотреть. Но это ненадёжно, всё одно придётся периодически перепроверять всё

 
Maxim Kuznetsov #:

Алг:

1. сохранить список объектов и их кол.во

2. периодически (по таймеру, OnChartEvent ) сверять кол-во, если изменилось, то перебрать объекты в поисках искомого+нового на текущем баре. Заодно скорректировать список и кол-во

hint: при создании объекта получается событие OnChartEvent - можно прямо там смотреть. Но это ненадёжно, всё одно придётся периодически перепроверять всё

А там не объекты, там она буферная.

В том индикаторе, который отслеживается, пишет:

buf_1[0]=Low[0];

в моменты создания стрелок.

 
Maxim Kuznetsov #:

Алг:

1. сохранить список объектов и их кол.во

2. периодически (по таймеру, OnChartEvent ) сверять кол-во, если изменилось, то перебрать объекты в поисках искомого+нового на текущем баре. Заодно скорректировать список и кол-во

hint: при создании объекта получается событие OnChartEvent - можно прямо там смотреть. Но это ненадёжно, всё одно придётся периодически перепроверять всё

тыкай в текущий бар и сортируй - все объекты - объекты типа стрелка (код стрелки) и время установки этого объекта - есть объект - есть сигнал, как-то так

uchar ArrowCodeBuy  = 233;        //Arrow Code for Buy
uchar ArrowCodeSell = 234;        //Arrow Code for Sell
datetime ObjBuyTime = 0;
datetime ObjSellTime = 0;
for(int o=0; o < objtotal; o++)
{
string NameObj = ObjectName(o);
if((ObjectType(NameObj)==OBJ_ARROW)&&(ObjectGetInteger(0,NameObj,OBJPROP_TIME)>TimeCurrent()-((_Period*60*LookBack)+600)))
{
//Comment(NameObj);
 if((ObjectGetInteger(0,NameObj,OBJPROP_ARROWCODE)==ArrowCodeBuy)&&ObjectGetInteger(0,NameObj,OBJPROP_TIME)>ObjBuyTime)
{
SignalArrowB = true;ObjBuyTime=ObjectGetInteger(0,NameObj,OBJPROP_TIME);
}
 if((ObjectGetInteger(0,NameObj,OBJPROP_ARROWCODE)==ArrowCodeSell)&&ObjectGetInteger(0,NameObj,OBJPROP_TIME)>ObjSellTime)
 {
SignalArrowS = true;ObjSellTime=ObjectGetInteger(0,NameObj,OBJPROP_TIME);
}
}
}
 

то есть индикатор запущен отдельно ?

был какой-то злобный хак - как через WinAPI вытащить данные из DataWindow (табличка, которая по Ctrl-D открывается)

где-то в дебрях форума или на просторах интернета видел такое

Причина обращения: