[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 484
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В торговую функцию переданы неправильные параметры, например, неправильный символ, неопознанная торговая операция, отрицательное допустимое отклонение цены, несуществующий номер тикета и т.п. Необходимо изменить логику программы.
Попробуйте второй параметр вместо нуля ставить OrderOpenPrice()
возьмите привычку при ошибке принтить все параметры, которые могут иметь отношение к ней.
if (!OrderModify(...)) { Print(GetlastError()+.... список параметров OrderModify ); }
Да, это хорошая привычка. Спасибо.)))
FOReignEXchange 03.07.2011 18:35
Попробуйте второй параметр вместо нуля ставить OrderOpenPrice()
Да, именно так. )) А я почему-то был уверен, что нельзя устанавливать параметры, которые ненужно модифицировать, так как это приведёт к другой ошибке. Есть ли что-то подобное о чём я говорю?
В голове зафиксировано что-то наподобие этого:
Функция пытается изменить параметр на такое же значение.
А я почему-то был уверен, что нельзя устанавливать параметры, которые ненужно модифицировать, так как это приведёт к другой ошибке. Есть ли что-то подобное о чём я говорю?
В голове зафиксировано что-то наподобие этого:
Функция пытается изменить параметр на такое же значение.
Можно изменить всего один параметр, а остальные оставить без изменений и везде прописать типа OrderOpenPrice(), OrdsrStopLoss() и тд.
Ещё вот такой вопрос у меня. На примере кода,который я приводил выше (tol64 03.07.2011 18:20).
Не всегда программа синхронизирует стоп лоссы разных позиций. То есть позиция выбрана, условие выполняется, в журнале это тоже фиксируется, но стоп лосс не модифицируется.
На рисунке выше у позиции с тикетом 4 стоп лосс должен был модифицироваться и принять значение такое же, как у позиции с тикетом 1. Программа доходит до этого места с принтом, но дальше выполнение как будто блокируется.
Так как вариант, при котором условие не выполняется тоже не выводится в журнал. Попробовал так много разных комбинаций, но ни один из них не подошёл. Прошу помочь.
А тут
Разве не так надо?
А тут
Разве не так надо?
не надо. он же и так bool возвращает.
Ещё вот такой вопрос у меня. На примере кода,который я приводил выше (tol64 03.07.2011 18:20).
Не всегда программа синхронизирует стоп лоссы разных позиций. То есть позиция выбрана, условие выполняется, в журнале это тоже фиксируется, но стоп лосс не модифицируется.
На рисунке выше у позиции с тикетом 4 стоп лосс должен был модифицироваться и принять значение такое же, как у позиции с тикетом 1. Программа доходит до этого места с принтом, но дальше выполнение как будто блокируется.
Так как вариант, при котором условие не выполняется тоже не выводится в журнал. Попробовал так много разных комбинаций, но ни один из них не подошёл. Прошу помочь.
Сделайте вывод через Print() значения переменной global_trailing_SP непосредственно в представленной вами функции.
Где вы читаете значение этой переменной?
и замените в коде ноль (выделен):
на функцию OrderTakeProfit()
А зачем тогда это условие, если условия нету? И данные ордера потом не используются.
тогда и подскажите что лучше код
записать как:
тогда и подскажите что лучше код
записать как:
Не понял? Я просто смотрю в справке, там OrderSelect() использует условие. А без true я не видел нигде.
if это же оператор условия. И в скобках должно быть условие. Так логичнее мне кажется. Хоть и разницы может и нету.