Автор | Сообщение |
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.01.11 14:20. Заголовок: Разные результаты вычислений
Здравствуйте! У меня в ходе отладки программного кода возникла одна вычислительная проблема, связанная с получение разных результатов при вычислении значения разными способами. В чем здесь подвох не могу разобраться. Подскажите! Итак, фрагмент кода: int MinLevel = 1000000000; int MaxLevel = -1000000000; .................................... for (i = 0; i <= Bars; i++) { MaxMonthPrice = iHigh(NULL, PERIOD_MN1, i)/Point; MinMonthPrice = iLow(NULL, PERIOD_MN1, i)/Point; if (MinMonthPrice < MinLevel) MinLevel = MinMonthPrice; if (MaxMonthPrice > MaxLevel) MaxLevel = MaxMonthPrice; } int MaxLevelHighest = High[iHighest(Symbol(), PERIOD_MN1, MODE_HIGH, Bars)]/Point; Alert ("MaxLevel=", MaxLevel, " MaxLevelHighest=", MaxLevelHighest); ............................ Суть вычислений - поиск максимальной и минимальной цены. Значения вычислений совпадают лишь, когда код загружен на таймфрейм MN, либо когда переключились на этот таймфрейм. При переключении на другой тайм фрейм значения вычислений не совпадают. Почему. Причем то, что делается в цикле - правильно, значения вычислений истинные, равны константе, т.е. не меняются с переключением на другой таймфрейм. Значение же вычислений с применением "iHighes" кнстанте не равны. Заранее спасибо за подсказку.
|
|
|
Ответов - 2
[только новые]
|
|
|
| постоянный участник
|
Пост N: 106
Зарегистрирован: 03.09.09
|
|
Отправлено: 24.01.11 14:46. Заголовок: Проблема заключается..
Проблема заключается в том, что в функции iHighest(Symbol(), PERIOD_MN1, MODE_HIGH, Bars) вы используете переменную Bars, которая отвечает за количество баров ТЕКУЩЕГО таймфрейма. Это значение вы применяете к фиксировано заданному ТФ. Правильный подход в этом случае будет следующим: iHighest(Symbol(), PERIOD_MN1, MODE_HIGH, iBars(NULL, PERIOD_MN1)). То же самое касается переменной Bars в цикле.
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.01.11 19:53. Заголовок: Спасибо! Всё получил..
Спасибо! Всё получилось!
|
|
|
|