Статья: Как сократить код торгового эксперта, попутно упростив себе жизнь и уменьшив число возможных ошибок - страница 2
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
З.Ы. Не знаете и ведаете, и даже духом не чуете, что такое, например, писать на ЛИСПе под ДОСом. Ясное дело, "поколение пепси".
alexjou, на LISP не писал, но Turbo Prolog под DOS все же преподавал в курсе ИИ, и даже курсовики были такие, чтобы что-нибудь такое сделать на этом языке. Мозги там явно надо как-то иначе вывернуть, но гимнастика для серого вещества полезная...
Ну а что касается iif(), то, конечно, именно такая реализация годится именно для одного эксперта (все зависит от типов возвращаемых данных).
Не соглашусь. Здесь как раз в реализации функции iif() намеренно используется тип double. Благодаря правилам приведения типов в MQL4, это позволяет функции корректно работать со всеми типами кроме строковых: double, int, datetime (который по сути является типом int), color (тоже int) и bool (однако использовать функцию с типом bool бессмысленно). Т.е. диапазон применения функции очень широк и годится для более чем одного эксперта. К сожалению, для строковых значений приходится писать и использовать отдельную функцию с другим названием, например string iifStr( bool, string, string ):