Господа разработчики, ...

 
Господа разработчики, ...
объясните мне пожалуйста, почему происходит такое (3.71):/*[[
Name := ind-ADX-Trading-Arrays-Example
Author := Copyright © 2003
Link := http://www.eliart.net/
Separate Window := No
First Color := LawnGreen
First Draw Type := Histogram
Use Second Data := Yes
Second Color := Red
Second Draw Type := Histogram
]]*/
defines: shift(1);
Array: AC[5](0),AO[5](0),ADX[5](0),DIplus[5](0),DIminus[5](0),RSI[5](0),MA[5](0);
var: AlligatorRedLine(0), AlligatorGreenLine(0), AlligatorBlueLine(0);
var: cnt(0),prevTime(Time),CurrentBar(0), value1(0),value2(0);

SetLoopCount(0);
For CurrentBar = 0 To Bars-5 Begin
shift = Bars-5-CurrentBar;

AC[shift]=iAC(shift);
AC[shift+1]=iAC(shift+1);
AC[shift+2]=iAC(shift+2);
AC[shift+3]=iAC(shift+3);
AC[shift+4]=iAC(shift+4);

AO[shift]=iAO(shift); // последний работающий оператор
/* если включить следующий - if не работает
AO[shift+1]=iAO(shift+1);
/* после этого оператора if не работает
AO[shift+2]=iAO(shift+2);
AO[shift+3]=iAO(shift+3);
AO[shift+4]=iAO(shift+4);

RSI[shift]=iRSI(14,shift);
RSI[shift+1]=iRSI(14,shift+1);
RSI[shift+2]=iRSI(14,shift+2);

ADX[shift]=iADXEx(14, PRICE_CLOSE, MODE_MAIN,shift);
ADX[shift+1]=iADXEx(14, PRICE_CLOSE, MODE_MAIN,shift+1);
ADX[shift+2]=iADXEx(14, PRICE_CLOSE, MODE_MAIN,shift+2);
DIplus[shift]=iADXEx(14, PRICE_CLOSE, MODE_PLUSDI,shift);
DIplus[shift+1]=iADXEx(14, PRICE_CLOSE, MODE_PLUSDI,shift+1);
DIplus[shift+2]=iADXEx(14, PRICE_CLOSE, MODE_PLUSDI,shift+2);
DIminus[shift]=iADXEx(14, PRICE_CLOSE, MODE_MINUSDI,shift);
DIminus[shift+1]=iADXEx(14, PRICE_CLOSE, MODE_MINUSDI,shift+1);
DIminus[shift+2]=iADXEx(14, PRICE_CLOSE, MODE_MINUSDI,shift+2);
*/
AlligatorGreenLine=iAlligator(13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORLIPS ,shift);
AlligatorBlueLine=iAlligator(13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORJAW ,shift);
AlligatorRedLine=iAlligator(13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORTEETH ,shift);

// проверяем на возможность встать в длинную позицию (BUY)
If Low[shift] > AlligatorRedLine and Low[shift] > AlligatorGreenLine and // цена над аллигатором
Low[shift] > AlligatorBlueLine then
{
SetIndexValue(shift, High[shift]);
SetIndexValue2(shift, Low[shift]);
};
End;

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

К чему бы это?

Что я не так делаю?
 
конкретизируйте пожалуйста проблему
вопрос задан очень расплывчато.