Не правильно выполняется условие if - страница 3

 
BlackTomcat:
Почитайте Документацию, раздел "Основы языка"  - "Типы данных" - "Приведение типов". Кроме основного текста, обратите внимание на примеры кода, они многое проясняют. В деле приведения типов очень много подводных камней.

Ну, вот, спасибо за внятный ответ - действительно если записать целое число с десятичным разрядом в виде нуля то происходит преобразование в тип double.

Однако мне по прежнему не ясна логика предложения этого действия - преобразовать string в double ? Так Dmitriy Pashkov вроде ж понимает ущербность string и пишет это в целях эксперимента, нет?

 
-Aleks-:

Ну, вот, спасибо за внятный ответ - действительно если записать целое число с десятичным разрядом в виде нуля то происходит преобразование в тип double.

Однако мне по прежнему не ясна логика предложения этого действия - преобразовать string в double ? Так Dmitriy Pashkov вроде ж понимает ущербность string и пишет это в целях эксперимента, нет?

Если честно, я не понимаю, зачем в Вашем случае делать преобразование string в double или наоборот, и почему Вам дали такой совет. Если Вы работаете с числами, то и сравнивайте числа. Другое дело, что числа тоже разные бывают, ну вот поэтому я и дал Вам ссылку на нужный раздел документации. :)
 
BlackTomcat:
Если честно, я не понимаю, зачем в Вашем случае делать преобразование string в double или наоборот, и почему Вам дали такой совет. Если Вы работаете с числами, то и сравнивайте числа. Другое дело, что числа тоже разные бывают, ну вот поэтому я и дал Вам ссылку на нужный раздел документации. :)
Да это не я ТС ;) Ясное дело, что строки с числами сравнивать не логично, в плане больше или меньше...
 
-Aleks-:
Да это не я ТС ;) Ясное дело, что строки с числами сравнивать не логично, в плане больше или меньше...
А, прошу прощения, уже и забыл, кто тут ТС. :)) Да, совсем непонятно, зачем он DoubleToStr использовал в проверке условия.
 
Dmitriy Pashkov:

то что я добавляю эту строку, в итоге дает значение 30.00, это не одно и тоже?

я попробую как Вы написали, как начнут выполняться эти условия, спасибо

не помогло, все равно условие не выполняется

помогло следующее: я до сравнения ввел новые переменные xxx и zzz (оба double), прировнял их к сравниваемым значениям, и уже их сравнил

но это не удобно, перед каждым сравнением приравнивать к новым данным 

 
Dmitriy Pashkov:

не помогло, все равно условие не выполняется

помогло следующее: я до сравнения ввел новые переменные xxx и zzz (оба double), прировнял их к сравниваемым значениям, и уже их сравнил

но это не удобно, перед каждым сравнением приравнивать к новым данным 

На предыдущей странице я вам уже писал:

if(zn_RSI3_[2][1]<30) {
   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);
   }
 
Artyom Trishkin:

На предыдущей странице я вам уже писал:

if(zn_RSI3_[2][1]<30) {
   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);
   }
Ваш способ так же не дал результатов...
 
Dmitriy Pashkov:
Ваш способ так же не дал результатов...
Вы покажите кусок кода, чем и как заполняете массив  zn_RSI3_ .
 
Alekseu Fedotov:
Вы покажите кусок кода, чем и как заполняете массив  zn_RSI3_ .
Всем спасибо, переписал весь код, теперь условия прописал по другому, и присваиваю значения по другому, пока все как надо показывает
Причина обращения: