Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть разница между
и тем, что вы делаете
в первом случае, если заказ не выполнен, будет возвращено значение -1, но bool будет интерпретировать это как TRUE
во втором случае вы используете условие (Ordersend>0) для присвоения true или false булеву значению.
Есть разница между
и тем, что вы делаете
в первом случае, если заказ не выполнен, будет возвращено значение -1, но bool будет интерпретировать это как TRUE
во втором случае вы используете условие (Ordersend>0) для присвоения true или false булеву значению.
Это правда? Сейчас я не могу проверить это на демо-счете (торговля в реальном времени), но я провел быструю проверку на бэктесте, специально нарушив OrderSend() с недействительным стоплоссом = ask (рыночная цена) для длинной сделки. В результате OrderSend() возвращает "-1", как и ожидалось, и мой bool var Buy_Ticket также возвращает false.
** EDIT **
Вы пропустили мое условие "> 0" за OrderSend()? Мой оригинальный код показывает:
Это правда? Сейчас я не могу проверить это на демо-счете (торговля в реальном времени), но я сделал небольшую проверку на бэктесте, намеренно нарушив OrderSend() с недействительным стоплоссом = ask (рыночная цена) для длинной сделки. В результате OrderSend() возвращает "-1", как и ожидалось, и мой bool var Buy_Ticket также возвращает false.
** РЕДАКТИРОВАТЬ **
Вы пропустили мои условия "> 0" после OrderSend()? Мой оригинальный код показывает:
Извините, да, я действительно пропустил >0.
Я думаю, что это просто настолько странный способ, что я не заметил этого.
@ BigFisherman Проверьте код ниже
см. здесь
Оператор присваивания может быть использован в выражении несколько раз. В этом случае обработка выражения выполняется слева направо:
y=x=3;
Сначала переменной x будет присвоено значение 3, затем переменной y будет присвоено значение x, т.е. тоже 3.
Извините, да, я действительно пропустил >0.
Я думаю, что это просто настолько странный способ, что я не заметил этого.
Нет проблем.
Я согласен, что это не очень хорошая практика - кодировать таким образом; я закодировал эту часть на ранней стадии моего обучения MQL, но поскольку она выглядела правильной для меня все это время, я оставил ее в покое, пока не возникла эта проблема дублирования торговли. Но, видимо, теперь "кажется", что мой первоначальный код, хотя и запутанный, кажется правильным, тогда он возвращается к первоначальной теме этой темы "Дублирующиеся сделки..."; это может быть серьезной и крайне нежелательной "редкой" ошибкой в mt4, которую, к сожалению, я не могу воспроизвести из-за ее редкого появления (1 из более чем 500+ сделок).
Для информации всем, из-за того, как я закодировал своего эксперта (см. мое 1-е сообщение на стр. 5), SL и TP назначались только после того, как он обнаруживал успешную OrderSend() (IMHO это довольно надежно до сих пор). И что случилось с моей предыдущей дублирующей сделкой - она НИКОГДА не успела установить SL и TP по какой-то неизвестной причине; кроме того, что OrderSend() вернул "-1", но все равно открыл сделку, или "он" открыл 2 одновременные сделки в одном OrderSend() ** просто мои собственные домыслы **. К счастью, я был прямо перед своим компьютером, когда это произошло, поэтому я мог просто вручную закрыть сделку; представьте, что произойдет, если я уеду в отпуск.
@ BigFisherman проверьте код ниже
Buy_Ticket возвращает true, как и ожидалось. Что вы пытаетесь сказать?
я не пытаюсь сказать, я говорю!
если вы используете его так
конечно, вы получите true, если OrderSend() был выполнен
потому что сначала проверяется , является ли результат OrderSend > 0
и затем он передается в
но все равно это не то, что нужно
я не пытаюсь сказать, я говорю!
если вы используете его так
конечно, вы получите true, если OrderSend() был выполнен
потому что сначала проверяется , является ли результат OrderSend > 0
и затем он передается в
но все равно это не то, что нужно
Теперь я знаю, чьи сообщения нужно фильтровать в mql4, спасибо за ваш вклад в любом случае.
y=x=3;
Я пытался сделать это, но MetaEditor всегда останавливает меня, когда я пытаюсь скомпилировать.Теперь я знаю, чьи сообщения фильтровать в mql4,
примечание: мое имя пользователя в mql5 то же самое