Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 201
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Или весь код прикладывайте или перед отрывком кода инициализируйте, пожалуйста, свои переменные. Мало ли что у Вас там в переменных, например в
Весь код:
Весь код:
Эт чё за хрень?
Эт чё за хрень?
)))))))
Я брал за основу код на MQL4:
Так что хрень это результат малых знаний и в следствии чего ламерского перехода с 4-ки на 5-ку, приму любые предложения по выправлению кривых ручек)))
Идея в том чтобы отобрать ордер по тикету, выбрать тип ордера (продажа или покупка), а затем исходя из типа понять соответствует ли текущее положение дел по ордеру условию (величина( текущая цена минус цена открытия ордера) должна быть больше цена одного пункта умноженная на заданную величину (в моем коде это цена тейк профита деленная на 10). Если это условие выполняется необходимо убедится что цена стоп лоса находится ниже текущей цены на величину цены одного пункта умноженная на заданную величину. Если и это верно происходит изменение цены стоп лоса.
Так что хрень это результат малых знаний и в следствии чего ламерского перехода с 4-ки на 5-ку
Это результат лени почитать справочник.То на что вам указали-идентификаторы свойств ордеров.А значение получают с помощью идентификаторов и функций OrderGetDouble , OrderGetInteger и т.д.
А можно небольшой примерчик, просто не совсем понимаю конструкцию, может так будет правильней: if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY)?
Я не подскажу - не пишу на пятёрке. Но вопрос задам: что вам мешает вывести в журнал результат этой проверки?
Работа)))))))))
Исправил недочеты, вроде бы все по справочнику:
В отладке доходит до условия
и пролетает всю функцию не заходя внутрь. При этом переменная tik объявлена глобально: ulong tik=0; - а новое значение ей присваивается при получении ответа об установке ордера: tik=mresult.order; - в отладке данная величина изменяется. Почему не заходит в условие?
А можно небольшой примерчик, просто не совсем понимаю конструкцию, может так будет правильней: if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY)?