Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите где ошибка, значения получаю точные, но не могу сделать так, чтобы значение "Obem_Pozic", имело вид 1,00 , чтобы я мог высчитал лот выставления, у меня никак не хочет нормализовывать значения, выдает 4 знака после запятой и все.
Пишу на MQL4.
про MQL4 спрашивают на соответствующем форуме, здесь пятерка
По вашему вопросу - выдает 4 знака после запятой Alert. следует использовать функцию DoubleToStr(). для большей точности вывода на экран
Скорее всего, эта пара терминалом предусмотрена, просто её надо подключить. Если вручную, то в "Обзоре рынка". А если по-взрослому, то програмно через SymbolSelect().
Стоит появиться одной ошибке, как остальные сыпятся следом. Первые по очереди ошибки находятся в терминале снизу. Так что надо попробовать устранить первые ошибки, а там посмотрим :)
Спасибо!! Очень правильно понятно и красиво написано. SymbolSelect() у меня в советнике Действительно есть. Я её и выкладывал с кодом на стр. 53, если нужно её видно. Сверился со справкой- всё верно!! Тогда если Скорее всего, эта пара терминалом предусмотрена - что же мне думать?
Далее, если Первые по очереди ошибки находятся в терминале снизу. Почему не чередуются сообщения принта об ошибке и сообщения терминала- нет, они сгруппированы вместе?
Может терминал сообщает об ошибке не от этой функцции?
Да, вижу. Пропробуем так:
Спасибо!! !!
Скажите пожалуста, а принт переменной timeframe как должен выглядеть, он может быть цифровой? Я вижу один, в смысле выводится цифра один.
Спрашиваю почему. Это функция, в ней строка с принтами. Вторая сверху соответствено.
Вот вызов функции.
Обратите внимание, что в строке вызова я использую ещё одну функцию. Она используется для конвиртации таймфрейма. Так вышло, потому что советник пиривидён с четвёрки. Я в ней использовал опиратор case . Позже для на всякий случай я дописал к таймфреймам четвёрки таймфреймы пятёрки, в фонд дальнейшего её использования, и в работе ее я в общем уверен, ошибаться там как бы нечему.
И вот что я вижу
Ну, чуть ниже в этом коде ведь используется
EnumToString(timeframe),
Кажется, понял, где может быть проблема. Сейчас распишу.
Из рисунка видно, что эксперт запущен на М1, timeframe==1, period==140. Правильно?
Значение timeframe==1 говорит, скорее всего, о том, что timeframe==М1. При этом запись periodd(period) означает periodd(140). Согласно коду функция periodd(140) должна вернуть значение PERIOD_CURRENT. Т.е получается, что periodd(140)==М1.
А это означает, что вызов iMA выглядит следующим образом: iMA(symbol,M1,M1...). Я не знаю, допустимо ли при расчёте iMA, чтобы значение второго аргумента совпадало со значением третьего аргумента (т.е., чтобы значение периода совпадало с периодом усреднения), но что-то мне подсказывает, что это неправильно.