Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
постом выше выложил код, где значения сравниваются без этой строки, проблема остается. строка добавлена для того, чтобы компилятор меньше ругался на преобразование
А если присвоить новой переменной значение zn_RSI3_[2][2] , потом принтануть и сделать сравнение?
обязательно попробую, но у меня 5 подобных условий на бай, и столько же на селл, и только пара из них ведет себя подобным образом, остальные нормально обрабатываются (щас вот одно условие проходит нормально, но у него другие цифры в скобках (массив))
обязательно попробую, но у меня 5 подобных условий на бай, и столько же на селл, и только пара из них ведет себя подобным образом, остальные нормально обрабатываются (щас вот одно условие проходит нормально, но у него другие цифры в скобках (массив))
От того что значение ячейки массива присвоишь переменной ничего не изменится. Твоя проблема в том, что переменная zn_RSI3_[2][2] имеет тип double которое сравнивается с целочисленным значением 30 тип int
Если написать
Чтобы компилятор не ругался на преобразование надо это преобразование грамотно сделать. Но на мой вопрос ответа так и нету...
если Вы подскажите как грамотно делать - буду признателен
на Ваш предыдущий вопрос тогда затрудняюсь ответить, возможно я что то не так делаю
От того что значение ячейки массива присвоишь переменной ничего не изменится. Твоя проблема в том, что переменная zn_RSI3_[2][2] имеет тип double которое сравнивается с целочисленным значением 30 тип int
Если написать
то что я добавляю эту строку, в итоге дает значение 30.00, это не одно и тоже?
я попробую как Вы написали, как начнут выполняться эти условия, спасибо
Где это написано, что число само по себе преобразуется в int или double?
По вашей логике 10 и 10,1 нельзя сравнивать между собой, пока 10 не будет выражена в виде 10.0?
Где это написано, что число само по себе преобразуется в int или double?
По вашей логике 10 и 10,1 нельзя сравнивать между собой, пока 10 не будет выражена в виде 10.0?
Это не моя логика, это ваши фантазии.
Тогда излагайте,пожалуйста, свою логику четче, что б не было месту моим фантазиям.
Print (DoubleToStr((zn_RSI3_[2][1]),2));
if (DoubleToStr((zn_RSI3_[2][1]),2)<(DoubleToStr(30,2))){
RSI_TARGET_buy=RSI_TARGET_buy+2;
RSI_TARGET_D1_1_time=iTime(Symbol(),PERIOD_D1,1);}
if (DoubleToStr((zn_RSI3_[2][1]),2)>(DoubleToStr(70,2))){
RSI_TARGET_sell=RSI_TARGET_sell+2;
RSI_TARGET_D1_1_time=iTime(Symbol(),PERIOD_D1,1);}
Вы сравниваете строки, а не значения.
Нужно так:
RSI_TARGET_buy=RSI_TARGET_buy+2;
RSI_TARGET_D1_1_time=iTime(Symbol(),PERIOD_D1,1);
}
if(zn_RSI3_[2][1]>70) {
RSI_TARGET_sell=RSI_TARGET_sell+2;
RSI_TARGET_D1_1_time=iTime(Symbol(),PERIOD_D1,1);
}