Помощь в кодировании - страница 665

 
      double trendCurr = iCustom(Symbol(),0,"HalfTrend 2",PERIOD_CURRENT,Amplitude,alertsOn,alertsOnCurrent,alertsMessage,alertsNotification,alertsSound,alertsEmail,6,y);
      double trendPrev = iCustom(Symbol(),0,"HalfTrend 2",PERIOD_CURRENT,Amplitude,alertsOn,alertsOnCurrent,alertsMessage,alertsNotification,alertsSound,alertsEmail,6,y); 

Могу ли я узнать, как я могу вызвать icustom из этого инди?

У меня ошибка в форме "y".

('y' - необъявленный идентификатор).

Файлы:
HalfTrend 2.mq4  19 kb
 
stevenpun:

Могу ли я узнать, как я могу вызвать icustom из этого инди?

У вас ошибка в форме "y".

('y' - необъявленный идентификатор)

Это означает, что вы не объявили переменную y. Она должна быть объявлена (как в коде, который вы пытаетесь вызвать):

int y = iBarShift(NULL,TimeFrame,Time[i]);  
 
mladen:

Это означает, что вы не объявили переменную y. Она должна быть объявлена (как в коде, который вы пытаетесь вызвать):

Я пробовал это раньше, и у меня была ошибка 'TimeFrame' - undeclared identifier".

Я просто запутался в этом коде, куда мне нужно копировать?

{  int counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
           int limit=MathMin(Bars-counted_bars,Bars-1);
           if (returnBars) { up[0] = limit+1; return(0); }
            if (TimeFrame!=Period())
            {
               int shift = -1; if (ArrowsOnFirstBar) shift=1;
               limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,TimeFrame,indicatorFileName,-99,0,0)*TimeFrame/Period()));
               for (int i=limit; i>=0; i--)
               {
                   int y = iBarShift(NULL,TimeFrame,Time[i]);  
                   int x = iBarShift(NULL,TimeFrame,Time[i+shift]); 


 
stevenpun:

Я пробовал это раньше, и у меня была ошибка 'TimeFrame' - undeclared identifier'.

Я просто запутался в этом коде, куда мне нужно копировать?


Вы не можете просто скопировать часть кода без объявления всех переменных.

В вашем случае вы должны объявить и переменную TimeFrame.

 
mladen:

Вы не можете просто скопировать часть кода без объявления всех переменных.

В вашем случае вы должны объявить и переменную TimeFrame.

Да, я решил проблему, спасибо :D

Теперь я пытаюсь добавить другие фильтры, если у меня есть какие-либо другие проблемы, надеюсь, вы можете дать мне несколько советов.

 
stevenpun:

Да, я решил проблему, спасибо :D

Теперь я пытаюсь добавить другие фильтры, если у вас есть другие проблемы, надеюсь, вы можете дать мне несколько советов.

:)

Счастливого кодирования :)

 

не могли бы вы помочь мне с этой проблемой? кажется, что когда цена вырывается из длинного диапазона ценового действия, cci не может хорошо отразить импульс и при небольшой паузе в цене и следовании тренду, cci начинает расходиться. например, на этом рисунке вы можете видеть в конце второй вертикальной линии, cci имеет высокий импульс, как и цена. цена делает небольшую паузу (первая коробка), но после этого cci начинает расходиться.

Мой вопрос: почему так происходит? Какой тип ценового действия может вызвать это с точки зрения кодирования индикатора?

Я использовал период 3(10,20,40), чтобы показать эту проблему, но я знаю, что если я использую период 100 и добавлю уровни -500,+500, эта проблема исчезнет (возможно).


mladen:

:)

Счастливого кодирования :)

 
Пожалуйста, примите мои самые искренние извинения, я не заметил, что он был декомпилирован, иначе я бы не стал его размещать... наверное, я торопился...
 
KumoBreake:

не могли бы вы помочь мне с этой проблемой? кажется, что когда цена вырывается из длинного диапазона ценового действия, cci не может хорошо отразить импульс и при небольшой паузе в цене и следовании тренду, cci начинает расходиться. например, на этом рисунке вы можете видеть в конце второй вертикальной линии, cci имеет высокий импульс, как и цена. цена немного приостанавливается (первая коробка), но после этого cci начинает расходиться.

Мой вопрос: почему так происходит? Какой тип ценового действия может вызвать это с точки зрения кодирования индикатора?

Я использовал период 3(10,20,40), чтобы показать эту проблему, но я знаю, что если я использую период 100 и добавлю уровни -500,+500, эта проблема исчезнет (возможно).


Извините, но у меня нет идей. Что точно, так это то, что мы не можем отфильтровать отдельные события без корректировки всей математической модели, что означало бы, в описанном вами случае, создание совершенно нового CCI (если в этом случае название будет переименовано).
 
mladen:
Извините, но не имею понятия. Что точно, так это то, что мы не можем отфильтровать отдельные события без корректировки всей математической модели, что означало бы, в описанном вами случае, создание совершенно нового CCI (если в этом случае название будет переименовано).
У меня есть некоторые идеи о том, что может вызвать это, но нужно больше исследований, я свяжусь с вами позже.