У вас не стоит Flash Player
Настройки
#35000 - Fri Dec 23 2011 12:29 PM Индкс за пределами диапазона?..
antonsemenoff Offline
newbie

Registered: Fri Jul 22 2011
Записи: 41
Доброго всем времени суток, помогите, пожалуйста!
У меня проблема следующего характера. Проход по барам основного цикла:
//основной цикл - проход по барам
int barsCount = source.Bars.Count;
for (int bar = StartBar; bar < barsCount; bar++)
Выдает ошибку - см. "скриншот ошибки".
Если в "int barsCount = source.Bars.Count;" заменить "source" на "hours", то этой ошибки не будет, но и смысл тогда теряется... В чем подвох?!
Заранее благодарен!


Attachments
Основной цикл - source.cs (130 downloads)
скриншот ошибки.jpg (123 downloads)


Наверх
#35004 - Fri Dec 23 2011 03:42 PM Re: Индкс за пределами диапазона?.. [Re: antonsemenoff]
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
"Подвох" в том что написано:
Period1 = Period1Param;
Period2 = Period2Param;
Period3 = Period3Param;
StartBar = Period3;
затем
for (int bar = StartBar; bar < barsCount; bar++)
А ниже, в 109 строке (в которой и возникает ошибка)
if ((nMA1[bar-1] > nMA2[bar-1]) && (nMA1[bar-2] <= nMA2[bar-2])) bBuy = true;

Если Period3 < 2, то будет ошибка. Индекс в квадратных скобках "bar-2" на первой итерации будет отрицательным

Цикл - по исходному таймфрейму, а массив создан по сжатому, более короткому, поэтому и ошибка.


Отредактировано Gji (Fri Dec 23 2011 04:00 PM)

Наверх
#35015 - Sat Dec 24 2011 12:36 AM Re: Индкс за пределами диапазона?.. [Re: Gji]
antonsemenoff Offline
newbie

Registered: Fri Jul 22 2011
Записи: 41
Gji, благодарю за помощь!
Только вот я запутался, поправьте меня, пожалуйста...
"Если Period3 < 2, то будет ошибка. Индекс в квадратных скобках "bar-2" на первой итерации будет отрицательным". Окей, Period3 у меня 90, соответственно, для того, чтобы индекс был положительным, возьмем 93 часа. Умножаем на 60 = 5520 минут. Ставлю в код "for (int bar = 5520; bar < barsCount; bar++)" - ошибка не исчезает. Очевидно, что логика моя ошибочна, но как тогда?!

Наверх


Moderator:  ViL, sar