![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот ещё
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Применение функция OrderClosePrice() к открытым ордерам
Renat Fatkhullin, 2006.09.12 14:23
Не рекомендую из-за сомнений в правильности его использования на фоне задаваемых вопросов. OrderClosePrice не имеет права изменяться после RefreshRates, он изменяется только и только после OrderSelect.Ask и Bid, как известно, берут значения из копии рыночного окружения, которая без вызова RefreshRates() остается неизменной. Термин "текущая цена закрытия", так же как и обсуждаемое значение OrderClosePrice(), очевидно, был применен в контексте рыночного окружения обработчика тиков, а не в контексте реального времени. Так что, замечание по поводу экспертописателей с их ошибками и восприятием не имеет к сказанному мной никакого отношения.
Имеет самое непосредственное отношение, так как устаревание относилось к Вашему вопросу "как это значение может устареть, если цена остается неизменной в обработчике тиков?" Устаревание по отношению к внешним рыночным ценам, о которых знает сервер.Именно такие вопросы создают сомнения в правильном восприятии цен и способах их использования.
Вопрос можно считать закрытым.
Вопрос можно считать закрытым.
Именно об этом я и говорил.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Закрывать все сделки через 30м после открытия
Alexey Viktorov, 2020.11.17 07:32
Ничего он не перепутал. Всё именно так и работает на ура. Только есть некоторые опасности и Ренат об этом предупреждал. Если ордер не закрылся, по какой либо причине, то изменение цены Ask или Bid можно обновить вызвав соответствующую функцию, а для обновления OrderClosePrice() надо ордер ещё раз выбрать обновив свойства ордера.
Ищите и читайте. Этот вопрос обсуждался лет 12-15 назад.
а вы с пеной у рта доказывали что это не работает от слова вообще…
И обратите внимание на оговорку «… на фоне задаваемых вопросов.» Какие вопросы в той теме задавались, на те вопросы и была дана рекомендация. Но если программист понимает что делает, то это будет работать без проблем.
Именно об этом я и говорил.
а вы с пеной у рта доказывали что это не работает от слова вообще…
И обратите внимание на оговорку «… на фоне задаваемых вопросов.» Какие вопросы в той теме задавались, на те вопросы и была дана рекомендация. Но если программист понимает что делает, то это будет работать без проблем.
Что-то вспомнилось :)
Именно об этом я и говорил.
а вы с пеной у рта доказывали что это не работает от слова вообще…
И обратите внимание на оговорку «… на фоне задаваемых вопросов.» Какие вопросы в той теме задавались, на те вопросы и была дана рекомендация. Но если программист понимает что делает, то это будет работать без проблем.
Вам же говорят - не надо так использовать. Но вы с пеной у рта доказываете что можно, с помощью каких-то окольных путей. Делайте как хотите, мне все равно.
Как задать правило, которое бы закрывало все сделки через полчаса после открытия?
может вот так? что то нахимичил вроде работает. - должна вроде и в мт4 работать.
Для меня вопрос давно проверен и очевиден.
Более того. Добавил в скрипт цикл и задержку в 30 секунд. Установил:
Ask и Bid, как известно, берут значения из копии рыночного окружения, которая программа (скрипт, советник...) получает в момент запуска. Если программа работает достаточно длительно (дольше, чем до следующего тика), то Ask и Bid сохраняют прежние значения и перестают быть актуальными. Но функция OrderClosePrice() всегда дает последние актуальные значения цены закрытия ордера, равные текущим значениям Ask и Bid.
Я говорил то, что в справке не написано закрывать ордера с помощью этой функции.
Живите по стандартам. Их иногда идиоты пишут. Слава Богу среди разработчиков МТ они не наблюдаются.
Писал уже, что скрипт давно написал. И одну строчку из него привел.
Мне удалось первую программу написать где-то в 1968 году - так что опыт программирования большой.
Живите по стандартам.
Зачем так радикально? Касаемо данного случая - горОдите огород. Ну что, трудно написать Bid или Ask вместо OrderClosePrice(), работоспособность которого не гарантирована? К тому же, Ask - Bid имеет меньше букв.