[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 83

 
Geowind64:

Roman, спасибо за ответ..... К сожалению, так и не понял один момент. В Учебнике, https://book.mql4.com/ru/basics/expressions, в разделе "Приведение типов. Вариант 4.1. Вычисляется результат целого типа

и Вариант 4.2. Аналогичная ситуация возникает и в случае, если искать результат в виде значения действительного типа", приведена одна и та же формула, но в одном случае тип переменной F обозначен как int

а во втором примере переменная уже как double

К сожалению так и не понял логику преобразования. Если в первом варианте вообщем-то понятно почему почему переменной F присваивается int (т.е. согласно правилу неявного приведения типов), то вот почему во втором варианте присвоили double.... совершенно меня запутало.

Пожалуйста, поясните, что я здесь возможно упустил в объяснениях?

Заранее спасибо.

Ну там разбираются достаточно сложные вещи описывающие особенности работы компилятора которые на практике нафиг не нужны. Их благополучно можно пропустить.

Единственное что нужно вынести оттуда это

  • если в выражении содержатся операнды разных типов, то тип выражения преобразовывается в тип, имеющий более высокий приоритет; типы int, bool, color и datetime имеют одинаковый приоритет, тип double - более высокий приоритет, тип string - самый высокий приоритет;
  • если тип выражения справа от знака операции присвоения не совпадает с типом переменной слева от знака операции присвоения, то значение выражения приводится к типу переменной слева от знака операции присвоения; это называется приведением к целевому типу;
  • приведение значений типа string к любому другому целевому типу запрещено.

Что касается примеров просто пропишите типы

int = double + int (Все что хотели сказать, это то что int справа от плюсика преобразуется в дабл, затем операнды суммируются, а затем результат преобразуются к типу присваиваемой переменной).

double = double + int (примерно то же самое, только без последнего преобразования, double сразу присваивается)

 
Roman.:

Ребята, что означает #INF - это выход за допустимые пределы диапазона double? см. вторую строчку сверху (там считается произведение double TWR, а именно предыдущее ее значение умножается на последующее). Как правильно считать ТАКИЕ значения, принимаемые переменной TWR?

Интересно. А вместо баланса тоже может когда-нибудь появится надпись #INF?? :) :) :)

 
Roman.:

Ребята, что означает #INF - это выход за допустимые пределы диапазона double? см. вторую строчку сверху (там считается произведение double TWR, а именно предыдущее ее значение умножается на последующее). Как правильно считать ТАКИЕ значения, принимаемые переменной TWR?

inf это infinity... лечится только уменьшением аппетитов, значения TWR слишком большие.
 
splxgf:
inf это infinity... лечится только уменьшением аппетитов, значения TWR слишком большие.

Да ладно Вам?

Некоторые Умники гору не обходят, а идут, наоборот, только в гору и в гору! :)))))

 
MaxZ:

Интересно. А вместо баланса тоже может когда-нибудь появится надпись #INF?? :) :) :)


Не смешно. Уж лучше что по делу...

 
splxgf:
inf это infinity... лечится только уменьшением аппетитов, значения TWR слишком большие.


А как быть?

см. здесь - там все верно, все по книжке... Все аппетиты - строго соответствуют метОде Р.Винса.

 
Roman.:


Не смешно. Уж лучше что по делу...

Я написал Своё предложение на предыдущей странице.

 
Roman.:


А как быть?

см. здесь - там все верно, все по книжке... Все аппетиты - строго соответствуют метОде Р.Винса.


Может на недельке подумаю как лучше сделать. Но занят своей задачкой большую часть свободного времени.
 
Vinin:

Может на недельке подумаю как лучше сделать. Но занят своей задачкой большую часть свободного времени.

Благодарю, Виктор.
 
MaxZ:

Я написал Своё предложение на предыдущей странице.


Извиняйте, не заметил... :-)))

Проверял несколько раз - ошибок нет все строго по формулам.

Надо, видимо, как то произведение разбить на части и уже потом их сравнивать... Подробнее - здесь.

Причина обращения: