Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 703
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ДА. Именно это и есть учебник Сергея Ковалёва. Именно в нём в настоящий момент много чего не хватает.
По mql5 как такового учебника на этом сайте нету, о других не знаю. Но зато очень много статей, читайте, может получится.
Господа программисты!
Плиз, помогите решить проблему с которой бьюсь уже месяц.
Моя ТС почему-то иногда не закрывает ордера.
Выглядит это так:
Вот первые три ордера - 44329646, 44330563 и 44337351 открываются и закрываются отлично.
А на четвертом ордере происходит трагедия:
и так - до бесконечности...
Т.е. советник открыл ордер 44339156, а закрыть пытается ордер 44337351, который сам же (!!!!) успешно закрыл несколькими часами ранее.
Приходится закрывать вручную, а если не уследил - иногда попадаешь на глубочайшую просадку. Катастрофа!
Как такое вообще возможно?
Код советника проще некуда:
Как одна и та же программа может работать "через раз"? Не понимаю...
Господа программисты!
Плиз, помогите решить проблему с которой бьюсь уже месяц.
Моя ТС почему-то иногда не закрывает ордера.
Выглядит это так:
Вот первые три ордера - 44329646, 44330563 и 44337351 открываются и закрываются отлично.
А на четвертом ордере происходит трагедия:
и так - до бесконечности...
Т.е. советник открыл ордер 44339156, а закрыть пытается ордер 44337351, который сам же (!!!!) успешно закрыл несколькими часами ранее.
Приходится закрывать вручную, а если не уследил - иногда попадаешь на глубочайшую просадку. Катастрофа!
Как такое вообще возможно?
Код советника проще некуда:
Как одна и та же программа может работать "через раз"? Не понимаю...
Про OrderSelect() почитайте справку. В частности о выборе по тикету. Даже закрытый ордер спокойно выбирается по тикету. Он уже закрыт, а вы его опять закрывать пытаетесь.
Выбрали - проверили время закрытия - если 0, значит он ещё в рынке - закрываете, если > 0, значит он уже закрыт, и не нужно его опять ногой толкать - не оживёт и не закроется.
Про OrderSelect() почитайте справку. В частности о выборе по тикету. Даже закрытый ордер спокойно выбирается по тикету. Он уже закрыт, а вы его опять закрывать пытаетесь.
Выбрали - проверили время закрытия - если 0, значит он ещё в рынке - закрываете, если > 0, значит он уже закрыт, и не нужно его опять ногой толкать - не оживёт и не закроется.
Спасибо большое - попробую.
Спасибо большое - попробую.
Пожалуйста. Не пробовать нужно, а сделать...
Пожалуйста. Не пробовать нужно, а сделать...
Артем, прочитал справку - вроде все у меня верно.
Время закрытия проверяю.
Из справки по MQL4:
Для гарантированного получения свежих данных об ордере рекомендуется вызывать функцию OrderSelect() непосредственно перед обращением за ними.
Тоже выполнено.
А что тогда не так?
Артем, прочитал справку - вроде все у меня верно.
Время закрытия проверяю.
Из справки по MQL4:
Для гарантированного получения свежих данных об ордере рекомендуется вызывать функцию OrderSelect() непосредственно перед обращением за ними.
Тоже выполнено.
А что тогда не так?
Вот это что за функция?
total_orders_NZDUSD=TotalOrders("NZDUSD.I");
И после её отработки какой ордер выделен?Господа программисты!
Плиз, помогите решить проблему с которой бьюсь уже месяц.
Моя ТС почему-то иногда не закрывает ордера.
Выглядит это так:
Вот первые три ордера - 44329646, 44330563 и 44337351 открываются и закрываются отлично.
А на четвертом ордере происходит трагедия:
и так - до бесконечности...
Т.е. советник открыл ордер 44339156, а закрыть пытается ордер 44337351, который сам же (!!!!) успешно закрыл несколькими часами ранее.
Приходится закрывать вручную, а если не уследил - иногда попадаешь на глубочайшую просадку. Катастрофа!
Как такое вообще возможно?
Код советника проще некуда:
Как одна и та же программа может работать "через раз"? Не понимаю...
вы в каком направлении просматриваете массив ордеров ?
если при "ревизии" возможны закрытия/удаления, то лучше смотреть в обратном. От OrdersTotal()-1 до 0 включительно.
иначе можно наступить :-)
Вот это что за функция?
Эту функцию мне любезно подарил Goldtrader, за что я ему искренне благодарен.
Она позволяет открывать одновременно ордера по разным валютным парам.
:))) По-моему, из-за нее все и началось - т.к. я ее подключил как раз месяц назад... А без нее Грааля не видать, как своих ушей...
Что-то с ней не так?
А ведь что-то, действительно, не так...
Т.е. я один раз делаю OrderSelect, а потом еще раз из функции... Чертовщина какая-то...