Статья посвящена программному отслеживанию событий в терминале МetaТrader 4, таких как открытие, закрытие и модификация ордеров, и рассчитана на пользователя, обладающего базовыми навыками работы с терминалом и программирования на MQL4.
Рано или поздно этот вопрос возникает перед каждым трейдером-программистом.
Посмотрите здесь:
Статья Учёт ордеров в большой программе.
Подраздел Учёт ордеров в параграфе Учебник по MQL4 Простые программы на MQL4 Простой эксперт .
Параграф Учебник по MQL4 Создание обычной программы Учёт ордеров .
События в МetaТrader 4 [ en ]
Статья посвящена программному отслеживанию событий в терминале МetaТrader 4, таких как открытие, закрытие и модификация ордеров, и рассчитана на пользователя, обладающего базовыми навыками работы с терминалом и программирования на MQL4.
щаз посмотрим...
Рано или поздно этот вопрос возникает перед каждым трейдером-программистом.
Посмотрите здесь:
Статья Учёт ордеров в большой программе.
Подраздел Учёт ордеров в параграфе Учебник по MQL4 Простые программы на MQL4 Простой эксперт .
Параграф Учебник по MQL4 Создание обычной программы Учёт ордеров .
проблема не в том, чтобы написать код, а в том, что например, OrderType() = SELL, но на самом деле был закрыт BUY- ордер!!!
т.е. система неправильно отслеживает события...
that is the question ;-)
но, в любом случае, всем пасиб за участие!
проблема не в том, чтобы написать код, а в том, что например, OrderType() = SELL, но на самом деле был закрыт BUY- ордер!!!
т.е. система неправильно отслеживает события...
Когда всплывают подобные сообщения, хочется ответить: не нужно тянуть пух на систему - отнесите всё неполучающееся к области своего непонимания.
Можно только ещё раз сказать: любая сколько-нибудь интеллектуальная программа должна содержать блок учёта ордеров. Для этого нужно один раз разобраться как такой блок устроен, на чём базируется, какие данные обрабатывает, и разобравшись сделать и использовать.
Рано или поздно этот вопрос возникает перед каждым трейдером-программистом.
Посмотрите здесь:
Статья Учёт ордеров в большой программе.
Подраздел Учёт ордеров в параграфе Учебник по MQL4 Простые программы на MQL4 Простой эксперт .
Параграф Учебник по MQL4 Создание обычной программы Учёт ордеров .
проблема не в том, чтобы написать код, а в том, что например, OrderType() = SELL, но на самом деле был закрыт BUY- ордер!!!
т.е. система неправильно отслеживает события...
that is the question ;-)
но, в любом случае, всем пасиб за участие!
всем привет! ;-)
вопрос такого рода: мне нужно узнать, какая позиция закрылась.
я пробовал перебирать позиции ордера по-тиково( int i,accTotal = OrdersHistoryTotal(), OrderSelect(0, SELECT_BY_POS, MODE_TRADES)). но этот способ не всегда правильно работает :-(
есть ли в МТ событие, которое могло бы мне сообщить, какой ордер сработал Buy или Sale закрылся последний?
int total = OrdersHistoryTotal(); // total - количество закрытых и удаленных ордеров в истории счета OrderSelect(total - 1, SELECT_BY_POS, MODE_HISTORY); // выбираем последний закрытый или удаленный ордер из истории счета if (OrderType() == OP_BUY) { // Cмотрим тип ордера Print ("Последней была закрыта длинная поза"); } else { Print ("Последней была закрыта короткая поза"); }
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
вопрос такого рода: мне нужно узнать, какая позиция закрылась.
я пробовал перебирать позиции ордера по-тиково( int i,accTotal = OrdersHistoryTotal(), OrderSelect(0, SELECT_BY_POS, MODE_TRADES)). но этот способ не всегда правильно работает :-(
есть ли в МТ событие, которое могло бы мне сообщить, какой ордер сработал Buy или Sale закрылся последний?