Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1579

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Владимир, а зачем такие извращения??? Проще попользовать функцию OrderCheck(). При том, структуру MqlTradeRequest можно держать объявленной на уровне глобальных переменных и после успешной проверки использовать не заполняя повторно перед OrderSend().
Когда получил размер маржи, ты должен произвести арифметические операции… А тут ы структуре всё уже посчитано.
А если установлен ЕА не на одной паре?
OrderCheck() как-то надёжнейВладимир, а зачем такие извращения??? Проще попользовать функцию OrderCheck(). При том, структуру MqlTradeRequest можно держать объявленной на уровне глобальных переменных и после успешной проверки использовать не заполняя повторно перед OrderSend().
Когда получил размер маржи, ты должен произвести арифметические операции… А тут ы структуре всё уже посчитано.
Привет, Алексей! Твой вариант мне понятен, подсказка Виталия тоже резонна.
И всё же! Тот код взят из статьи, которая написана специалистами компании MetaQuotes и, как бы, не доверять им у меня нет причин. Просто возник вопрос, на который хотелось бы получить ответ. ))
С уважением, Владимир.
Желтым выделено то, что сначала объявили переменную price и присвоили ей значение цены Ask, а буквально через строчку, где проверяется тип ордера, соответственно присваивается значение Bid.
Вопрос - а почему нельзя сразу присвоить Bid на стадии объявления переменной price или тут есть какой-то сакральный смысл?
если сразу присвоить Bid то через строчку всё равно придётся проверять тип ордера и присваивать Ask :-)
переменной price должно быть присвоено одно из двух значений в зависимости от типа ордера. Начальное задали Ask, если тип не подошел поменяли на Bid.
просто авторы кода не любят тройной оператор : double price=(orderType==ORDER_TYPE_SELL?Bid:Ask) ; // так короче и на мой взгляд понятнее
если сразу присвоить Bid то через строчку всё равно придётся проверять тип ордера и присваивать Ask :-)
переменной price должно быть присвоено одно из двух значений в зависимости от типа ордера. Начальное задали Ask, если тип не подошел поменяли на Bid.
просто авторы кода не любят тройной оператор : double price=(orderType==ORDER_TYPE_SELL?Bid:Ask) ; // так короче и на мой взгляд понятнее
Спасибо, Максим, за оказанную помощь! Теперь всё понятно и логично. Получилось так:
На две строчки меньше, но зато понятнее. ))
С уважением, Владимир.
А если установлен ЕА не на одной паре?
OrderCheck() как-то надёжнейКак то не понятно, вторая строка это утверждение или что?
Ну а какая разница на скольких парах установлен советник? Каждый код выполняется отдельно. Пусть даже на одном символе, на разных графиках, с разными магиками будут установлены… Никаких проблем…
Привет, Алексей! Твой вариант мне понятен, подсказка Виталия тоже резонна.
И всё же! Тот код взят из статьи, которая написана специалистами компании MetaQuotes и, как бы, не доверять им у меня нет причин. Просто возник вопрос, на который хотелось бы получить ответ. ))
С уважением, Владимир.
Специалисты MQ тоже люди и им также свойственно уставать и совершать некоторые «ошибки» которые не влияют на работоспособность кода.
Специалисты MQ тоже люди и им также свойственно уставать и совершать некоторые «ошибки» которые не влияют на работоспособность кода.
Так по факту ошибки никакой нет, просто код так написан, что сразу не "въехал" в его суть и поэтому попытался разобраться. )) Максим доходчиво всё по полочкам разложил. Короче говоря, ВСЕМ БОЛЬШОЕ СПАСИБО!!!
С уважением, Владимир.
Двойной клик в пустом пространстве окна ордера включает/отключает отображение тиков в окне ордера.
Собственно этот дабл-клик можно делать в любом месте окна ордера, лишь бы не по кнопкам "продать/купить по рынку" ;-)
Подскажите пожалуйста, не работают точки остановки при отладке. Какую бы точку остановки не ставил, после запуска отладки исполняется вся программа. Как сделать что бы точки остановки работали?