Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 548
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Digits тоже из соответствующего символа желательно "вытаскивать" ;)
Digits тоже из соответствующего символа желательно "вытаскивать" ;)
Спасибо, заработало.
И это ещё не всё. Для нормализации цены другого инструмента нужно и digits брать с другого инструмента, а ещё для вывода в комментариях нужно не нормализацию действительного числа делать, а DoubleToString();
Мне комментарии не столь важны, мне главное что бы ордера открывало, но терминал все равно ошибку выдает, даже с DoubleTtoStr(), пишет неправильные цены.
Мне комментарии не столь важны, мне главное что бы ордера открывало, но терминал все равно ошибку выдает, даже с DoubleTtoStr(), пишет неправильные цены.
Замечания вам сделали правильные, а вот что нормализация действительно иногда не проходит это нехорошо. Надо в ветку MetaTrader 4 Client Terminal build 610 разработчикам на проверку написать. Мне правда всего два раза удалось воспроизвести неверную нормализацию
DoubleTtoStr() то обрежет, а во само число то от этого не изменится, это может привести к ошибке при сравнении переменных, выставлении ордера и т.д. Не могу сейчас сказать насколько важно при выставлении ордера 1 в 16 разряде, но сравнение чисел точно некорректно
Замечания вам сделали правильные, а вот что нормализация действительно иногда не проходит это нехорошо. Надо в ветку MetaTrader 4 Client Terminal build 610 разработчикам на проверку написать. Мне правда всего два раза удалось воспроизвести неверную нормализацию
DoubleTtoStr() то обрежет, а во само число то от этого не изменится, это может привести к ошибке при сравнении переменных, выставлении ордера и т.д. Не могу сейчас сказать насколько важно при выставлении ордера 1 в 16 разряде, но сравнение чисел точно некорректно
Советник ордера через раз открывает, выходит нужно писать на каждую пару отдельно?
Нет, не надо. Ордера вряд ли открываются "через раз" по этой причине, смотрите лог и перед выставлением ордера обязательно ResetLastError(); а потом if(GetLastError()>1) Print(GetLastError()); И обязательно исправьте ошибку с Digits
GetLastError() говорит "неправильные цены". Digits я уже взял отдельно для каждой валютной пары.
GetLastError() говорит "неправильные цены". Digits я уже взял отдельно для каждой валютной пары.
Стоп-левел учли? Чему он равен проверте скриптом
Стоп-левел учли? Чему он равен проверте скриптом
У меня рыночные ордера.
129 ошибка возникает когда цена успевает измениться,прежде чем ДЦ выполнит ваш ордер,используйте слиппаж побольше.