Вы попробуйте сравнивать в условиях целые числа.
Используйте в условии функцию NormalizeDouble...
if(High[i]>=NormalizeDouble(st+limit,Digits)&&Low[i]<=NormalizeDouble(st-limit,Digits))
Это тоже работать не будет.
Надо не нормализовывать путём округления (точность теряется), а умножать на 10^X, где "Х" будет требуемая точность в знаках после запятой.
Делать это надо с обоих сторон.
if (10000 * High[i] >= 10000 * (st + limit) && 10000 * Low[i] <= 10000 * (st - limit)) {}
Или так:
if (High[i] * MathPow (10, Digits) >= (st + limit) * MathPow (10, Digits) && Low[i] * MathPow (10, Digits) <= (st - limit) * MathPow (10, Digits)) {}
WWer писал (а) >>
Попробовал, но к сожелению не помогло решить проблему. Не могу понять почему нельзя использовать простое сравнение, а приходится
придумывать всякие умножение и т.п. Кстати нормализация тоже не помогла, но таких ситуаций стало минимум.
Понять нельзя, надо запомнить) Посмотрите например это 'Сравнение вещественных чисел' или 'И снова о сравнении двух double'

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!
Есть одна идея, для её реализации нужно учитывать только изминение цены (наподобие пункто-цыфровых графиков). Ну вот взялся написать
сначала скрипт, который записывает изминение цены в масив, в виде 1 и 0, тоесть если цена достигла некоторый limit, то записываем 1 или 0,
в зависимости от направления, и передвигаем ценовую метку st. Всё вроде бы хорошо, но не пойму почему иногда не сробатывает условие
High[i]>=st+limit или Low[i]<=st-limit когда High или Low достигают лимита, а иногда сробатывает, и что самое главное всегда сробатывает,
когда High или Low > лимита, но я ведь везде написал >= и <=. Помогите пожалуйста разобратся. Возможно кто-то такое уже делал?
Просто не хочется снова изобретать велосипед. Зарание спасибо.
Вот код:
Вот скриншот:
Limiter, M1