проблема с пользовательским индикатором

 

Всем доброго времени суток!

Я для написал простенький индикатор обозначающий на графике места пересечения CCI нулевой линии, но обратил внимание на такую особенность: когда индикатор только запускаю он выполняет свои функции, но через некоторое время он как-будто замирает и восстанавливает работоспособность когда я открываю его свойства и не меняя ничего нажимаю "Ok"!?!?!?!

Подскажите в чем может быть проблема????

Вот сам текст:

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red




double Buf_0[];
int init()
{
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,35);

return;
}

int start()
{
int i, Counted_bars;
Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-3;
while(i>=0)
{
if(iCCI(Symbol(),0,14,PRICE_CLOSE,i)>0 && iCCI(Symbol(),0,14,PRICE_CLOSE,i+1)<0)
{
Buf_0[i]=High[i]+3*Point;
}
i--; 
}
return;
}
 

Он у вас работает в промежутке только когда текущее значение > 0, а предыдущее < 0;

В остальных случаях буфер не заполняется.

То есть при старте происходит первоначальное заполнение, а потом на каждом тике если условие не выполнено - ничего не происходит.

Для вставки кода есть специальная кнопка

 
100HUNTER:

Всем доброго времени суток!

Я для написал простенький индикатор обозначающий на графике места пересечения CCI нулевой линии, но обратил внимание на такую особенность: когда индикатор только запускаю он выполняет свои функции, но через некоторое время он как-будто замирает и восстанавливает работоспособность когда я открываю его свойства и не меняя ничего нажимаю "Ok"!?!?!?!

Подскажите в чем может быть проблема????

Вот сам текст:


В Вашем случае i больше 0 только при первом запуске, при приходе тиков оно будет меньше 0. Цикл выполняться не будет

Помогает корректный расчет i или смена тайфрейма и возврат назад

 
Благодарю за разъяснения

 

;) Прикольно...

Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-3;
while(i>=0)
{
if(iCCI(Symbol(),0,14,PRICE_CLOSE,i)>0 && iCCI(Symbol(),0,14,PRICE_CLOSE,i+1)<0)


Если Вы это ( выделено ) знаете - зачем Вам какие-то индикаторы ??????????

 
VladislavVG:

;) Прикольно...


Если Вы это ( выделено ) знаете - зачем Вам какие-то индикаторы ??????????

Плюс 1, не минус 1...
 
Figar0:
Плюс 1, не минус 1...

А точно ... сорри... зарапортовался ... )))))))))))))))). Тогда надо выделить левее ;).....

Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-3;
while(i>=0)
{
if(iCCI(Symbol(),0,14,PRICE_CLOSE,i)>0 && iCCI(Symbol(),0,14,PRICE_CLOSE,i+1)<0)
 
Подскажите, кто знает, индикатор который давал бы всю сводную информацию - кол-во открытых ордеров по всем валютным парам на buy и sell, их суммарные объемы, желательно и по группам MagicNumber, вдобавок и суммы свопа и т.д.
 

svoyAlex:
Подскажите, кто знает, индикатор который давал бы всю сводную информацию - кол-во открытых ордеров по всем валютным парам на buy и sell, их суммарные объемы, желательно и по группам MagicNumber, вдобавок и суммы свопа и т.д.

Делал давно, исходник потерял.

 
Vladon:а если не в тягость может посмотрите в своих архивах
 

Vladon: Делал давно, исходник потерял.

А зачем тогда отвечать?

P.S. Претензию снимаю, пригодилось картинко. Правда, там только ex4.

Файлы:
Причина обращения: