Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 755
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте. Не могу понять что не так.
Есть два ордера с меньшим и большим объемом и разными тейк профитами. Первым открыт ордер с меньшим объемом, потом с большим. Нужно найти тейк профит ордера с большим объемом.
Кажется все правильно, но в результате, почему-то, выдаются значения тейк профита с меньшим объемом (он открыт первым). Что не так?
P.S. total = OrdersTotal()
Здравствуйте. Не могу понять что не так.
Есть два ордера с меньшим и большим объемом и разными тейк профитами. Первым открыт ордер с меньшим объемом, потом с большим. Нужно найти тейк профит ордера с большим объемом.
Кажется все правильно, но в результате, почему-то, выдаются значения тейк профита с меньшим объемом (он открыт первым). Что не так?
P.S. total = OrdersTotal()
Видимо в функции MaxLotBuy() идёт свой перебор ордеров и вернувшись в эту функцию выбранным оказывается другой ордер. Избегайте перебора ордеров за пределами какого-то цикла перебора ордеров. Сам не понял что сказал. Но это так.
Для этой ситуации лучше объявить переменную перед циклом и присвоить ей значение OrderLots() при условии что новое значение больше предыдущего.
Видимо в функции MaxLotBuy() идёт свой перебор ордеров и вернувшись в эту функцию выбранным оказывается другой ордер. Избегайте перебора ордеров за пределами какого-то цикла перебора ордеров. Сам не понял что сказал. Но это так.
Для этой ситуации лучше объявить переменную перед циклом и присвоить ей значение OrderLots() при условии что новое значение больше предыдущего.
Спасибо. Да, в MaxLotBuy() идет свой перебор ордеров, но возвращаемое значение максимальное значение (лучше приведу код)
Но вашу идею понял, спасибо. Сейчас попробую.
Наверно правильней так будет
Спасибо, кажется так лучше.
Наверно правильней так будет
Спасибо. Внимательней надо быть не только когда пишешь себе.
Хотя на словах именно это и сказано.
Ребята, большое спасибо; работает как надо. Только еще добавил сброс в исходное положение.
Ребята, большое спасибо; работает как надо. Только еще добавил сброс в исходное положение.
Ну, да. Мой пример не полный. Я только-что исправил, дополнил его и моё исправление совпало с вашим сообщением по времени.
Не важно, что не полный, главное правильная идея, подход. Еще раз всем спасибо.
Не важно, что не полный, главное правильная идея, подход. Еще раз всем спасибо.
Тогда так
Тогда так
В принципе я выложил не весь код, а только часть нахождения тейк профита ордера с наибольшим лотом. Полная суть в следующем - при развороте цены выставляется отложенный ордер с большим лотом. Если он срабатывает, на противоположном ордере выставляется стоп лосс, чтобы, при закрытии ордера с большим лотом по тейк профиту, закрывался и ордер с отрицательным профитом по стоп лоссу. Полный код, модификации с выставлением стоп лосса выглядит так:
P.S. В процессе тестирования выплывает столько нюансов, которые нужно "объяснить" советнику, как ему поступать в том или ином случае.