Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров" - страница 4
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нет. Просто прочитать статьи
Извини, но я столько буковок не знаю. )))
И вот такая непонятка случилась:
Пока я гонял этот код на демке был установлен и удалён лимитный ордер
И вдруг при очередном издевательстве был модифицирована одна позиция, одна открыта и закрыта. Но вот откуда появилась запись об удалении давно удалённого ордера?
Ты заменил библиотеку файлами, которые я тебе давал? Библиотека в данной статье ещё не доделана же - в ней как раз есть эта недоработка - когда два события имеют одинаковые критерии для MQL4. В одиннадцатой статье завершено портирование текущего функционала библиотеки в MQL4. А в версии из этой статьи эта ошибка есть, и о её наличии косвенно указывают заключительные слова в статье:
Что дальше
В следующей статье сделаем отслеживание закрытия позиций и исправим ошибки, которые могут возникать в текущей реализации отслеживания событий для MQL4 — ведь установка и удаление ордеров у нас отслеживается кодом для MQL5, а там могут возникать некоторые нюансы, которые необходимо учитывать при работе под MQL4.Ты заменил библиотеку файлами, которые я тебе давал? Библиотека в данной статье ещё не доделана же - в ней как раз есть эта недоработка - когда два события имеют одинаковые критерии для MQL4. В одиннадцатой статье завершено портирование текущего функционала библиотеки в MQL4. А в версии из этой статьи эта ошибка есть, и о её наличии косвенно указывают заключительные слова в статье:
Что дальше
В следующей статье сделаем отслеживание закрытия позиций и исправим ошибки, которые могут возникать в текущей реализации отслеживания событий для MQL4 — ведь установка и удаление ордеров у нас отслеживается кодом для MQL5, а там могут возникать некоторые нюансы, которые необходимо учитывать при работе под MQL4.Да заменил. Последовательность я уже ведь описал
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров"
Alexey Viktorov, 2019.05.27 17:59
И вот такая непонятка случилась:
Пока я гонял этот код на демке был установлен и удалён лимитный ордер
И вдруг при очередном издевательстве был модифицирована одна позиция, одна открыта и закрыта. Но вот откуда появилась запись об удалении давно удалённого ордера?
В 15:01:14 удалил лимитный ордер поставленный ранее.
До 18:29 занимался своими делами. Советник стоял на графике.
В 18:29:21 модифицировал ранее установленную позицию.
В 18:33:02 поставил Sell
В 18:34:11 закрыл этот Sell
И в этот момент получил вторую запись о том, что удален лимит который был удалён в 15:01:14.
Да заменил. Последовательность я уже ведь описал
Ты написал:
И вот такая непонятка случилась:
Пока я гонял этот код на демке был установлен и удалён лимитный ордер
И вдруг при очередном издевательстве был модифицирована одна позиция, одна открыта и закрыта. Но вот откуда появилась запись об удалении давно удалённого ордера?
А какова последовательность этих действий?
Ты написал:
А какова последовательность этих действий?
Я дописал предыдущее сообщение.
Да заменил. Последовательность я уже ведь описал
Ни в какой последовательности не могу получить эту ошибку.
Опиши пожалуйста последовательность, приводящую к ней.
Лучше не журналом - там сейчас много отладочных записей, которые мешают быстрому восприятию, а прямо тут нумерованным списком.
Я дописал предыдущее сообщение.
В 15:01:14 удалил лимитный ордер поставленный ранее.
До 18:29 занимался своими делами. Советник стоял на графике.
В 18:29:21 модифицировал ранее установленную позицию.
В 18:33:02 поставил Sell
В 18:34:11 закрыл этот Sell
И в этот момент получил вторую запись о том, что удален лимит который был удалён в 15:01:14.
Т.е., нужно:
В 15:01:14 удалил лимитный ордер поставленный ранее.
До 18:29 занимался своими делами. Советник стоял на графике.
В 18:29:21 модифицировал ранее установленную позицию.
В 18:33:02 поставил Sell
В 18:34:11 закрыл этот Sell
И в этот момент получил вторую запись о том, что удален лимит который был удалён в 15:01:14.
Т.е., нужно:
Нет, ну следи за руками
Лимитник поставлен в 14:54:10 и удалён в 15:01:14
Затем длительный перерыв в вещании. Всё молчит.
Затем подряд несколько движений, в 18:... перечисляю только минуты 29, 33 и 34. Вот в 34 и проскакивает это событие которое было три с половиной часа назад.
Вот список позиций.
Все они открыты утром и в обед. В 18 с минутами был открыт только, Sell и почти сразу закрыт.Нет, ну следи за руками
Лимитник поставлен в 14:54:10 и удалён в 15:01:14
Затем длительный перерыв в вещании. Всё молчит.
Затем подряд несколько движений, в 18:... перечисляю только минуты 29, 33 и 34. Вот в 34 и проскакивает это событие которое было три с половиной часа назад.
Вот список позиций.
Все они открыты утром и в обед. В 18 с минутами был открыт только, Sell и почти сразу закрыт.Ну вот же ты пишешь:
В 15:01:14 удалил лимитный ордер поставленный ранее.
До 18:29 занимался своими делами. Советник стоял на графике.
В 18:29:21 модифицировал ранее установленную позицию.
В 18:33:02 поставил Sell
В 18:34:11 закрыл этот Sell
Ранее - это ДО установки лимитного ордера? Или после? Когда она была открыта? "Ранее" - это не конкретно. Тут наверняка есть значимость во времени всех действий - всё же сохраняется в список. Где-то есть значит равные условия, раз удаление давнего лимитника определяется повторно в момент закрытия позиции - позиция закрылась, проверили условия (всё же описано прямо в коде) и определили исходя из этих условий тип события. И далее уже идёт сортировка списка по типу определённого ордера в событии и отправляется событие в программу - значит есть перехлёст условий в MQL4, что они оказываются для библиотеки равными. Хотя именно это я и убрал в 11-й статье, которая ещё на проверке.
Ну вот же ты пишешь:
В 15:01:14 удалил лимитный ордер поставленный ранее.
До 18:29 занимался своими делами. Советник стоял на графике.
В 18:29:21 модифицировал ранее установленную позицию.
В 18:33:02 поставил Sell
В 18:34:11 закрыл этот Sell
Ранее - это ДО установки лимитного ордера? Или после? Когда она была открыта? "Ранее" - это не конкретно. Тут наверняка есть значимость во времени всех действий - всё же сохраняется в список. Где-то есть значит равные условия, раз удаление давнего лимитника определяется повторно в момент закрытия позиции - позиция закрылась, проверили условия (всё же описано прямо в коде) и определили исходя из этих условий тип события. И далее уже идёт сортировка списка по типу определённого ордера в событии и отправляется событие в программу - значит есть перехлёст условий в MQL4, что они оказываются для библиотеки равными. Хотя именно это я и убрал в 11-й статье, которая ещё на проверке.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров"
Alexey Viktorov, 2019.05.27 18:50
Нет, ну следи за руками
Лимитник поставлен в 14:54:10 и удалён в 15:01:14
Затем длительный перерыв в вещании. Всё молчит.
Затем подряд несколько движений, в 18:... перечисляю только минуты 29, 33 и 34. Вот в 34 и проскакивает это событие которое было три с половиной часа назад.
Вот список позиций.
Все они открыты утром и в обед. В 18 с минутами был открыт только, Sell и почти сразу закрыт.Модифаил только одну, выделенную позицию. В этом сомнений нет. Поставлена ещё утром. Модифицировал её несколько раз. Мне не важно было какую модифицировать. А у этой уже поставил тейк. Вот его и терзал.
Вот все лимитники и последний Sell.
Выделены как раз тот удалённый лимитник и тот Sell. Видимо где-то осталось событие удаления. Но вот почему оно "проснулось" не с открытием этого Sell, а только с закрытием???