[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1057
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
меняю объявление int Pos[k] на double Pos[k] - выводит 33.00000000, почему int массив не работает?
ну единственный логичный смысл его поста в том, что он предположил что я не читал учебник
Если бы читал - то Знал бы - ЧТО
В выражениях языка MQL4 используется только неявное приведение типов. Приоритет типов при преобразовании в порядке возрастания:
Перед выполнением операций (кроме операций присваивания) происходит преобразование в тип, имеющий наибольший приоритет, а перед операциями присваивания - в целевой тип.
Примеры:
int i = 1 / 2; // приведения типов нет, результат: 0 int i = 1 / 2.0; // выражение приводится к типу double, затем приводится к целевому типу int, результат: 0 double d = 1 / 2; // выражение типа int приводится к целевому типу double, результат: 0.0 double d = 1.0 / 2.0; // приведения типов нет, результат: 0.5 double d = 1 / 2.0; // выражение приводится к типу double, который совпадает с целевым типом, результат: 0.5 string s = 1.0 / 8; // выражение приводится к типу double, затем приводится к целевому типу string, результат: "0.12500000" (строка, содержащая 10 символов) string s = NULL; // константа типа int приводится к целевому типу string, результат: "0" (строка, содержащая один символ) string s = "Ticket #"+12345; // выражение приводится к типу string, который совпадает с целевым типом, результат: "Ticket #12345"
Приведение типов применяется не только к константам, но и переменным разных типов.
eddy:
стандартный кодебазовский RSI, являющийся отношением средней положительных изменений к средней отрицательных, не то же самое
что настоящий, изначальный RSI, являющийся отношением суммы положительных изменений к сумме отрицательных.
хотя, не буду утверждать правильность моего варианта, хоть я и много лет уже его знаю и понимаю, в отличии от кодебазовского.
это ж основы основ, думаю все кто давно на рынке знают что rsi это sumpos/sumneg*100
причём тут приведение типов, если я int-массиву присваиваю int-значение? ещё и используя int-переменные в расчётах
int i = 1 / 2; // приведения типов нет, результат: 0
я делю чётное число на 2. и делю int на int
всё, выяснилось. индикаторный буфер может быть только double
ты ДЕЛИШЬ ИНТ.... а это
int i = 1 / 2; // приведения типов нет, результат: 0
можно ли переустановить терминал оставив всё как есть (графики и т.п.), если да то как?
Как при переустановке Винда, сохрани все свои "драгоценные" файлы и переустанавливай МТ4 хоть каждый день.
Если этот вариант покажется сложным (не знаешь, какие файлы сохранить), то попробуй по-другому:
Переименуй папку с сегодняшним МТ4, скажем, в "АРХИВ" и установи новую копию МТ4. Позже из папки "АРХИВ" будешь перетаскивать нужные тебе файлы в новый МТ4 и складывать их в соответствующие папки.
Всё очень просто.