Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1097
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
После исполнения торгового приказа появляется ПОЗИЦИЯ! Не ОРДЕР!
Есть сервера, где можно воспроизвести такую ситуацию
Т.е. имеем одновременно в Терминале вот такой ордер
и такую же позицию от него
Поэтому сначала словами опишите, что делаете и что хотите получить. Вместо ОРДЕР применяйте "торговый приказ BUY" и "торговый приказ SELL". В результате получаем "позиция BUY" или "позиция SELL".
ОК, упростим нашу беседу до примеров в коде, вот на MQL4 код написал - интересует версия для тестрера, т.е минимум проверок и т.п.:
смысл ТС: открываем при первом запуске ордер Buy и запоминаем тикет ордера (работаем по тикету) , затем проверяем закрыт ли ордер - смотрим какого типа был ордер и выставляем противоположный ордер и запоминаем тикет и так по кругу
мне нужен аналогичный пример для воспроизведения на MQL5 с использованием СБ CTrade
ОК, упростим нашу беседу до примеров в коде, вот на MQL4 код написал - интересует версия для тестрера, т.е минимум проверок и т.п.:
смысл ТС: открываем при первом запуске ордер Buy и запоминаем тикет ордера (работаем по тикету) , затем проверяем закрыт ли ордер - смотрим какого типа был ордер и выставляем противоположный ордер и запоминаем тикет и так по кругу
мне нужен аналогичный пример для воспроизведения на MQL5 с использованием СБ CTrade
Сейчас барабашка скажет всё что о вас думает))))
пусть говорит, но нужно по номеру тикета узнать открыта или закрыта позиция, если закрыта, нужно узнать какой тип торгового приказа был у закрытой позиции
(жирным - все равно это ордер! - ибо на хэдж счете ТС)
ОК, упростим нашу беседу до примеров в коде, вот на MQL4 код написал - интересует версия для тестрера, т.е минимум проверок и т.п.:
мне нужен аналогичный пример для воспроизведения на MQL5 с использованием СБ CTrade
Тут уже надо будет постараться.
Итак, основа основ - Идентификатор позиции (POSITION_IDENTIFIER), но ни как не тикет позиции. Это важно, как раз из-за неттинга:
POSITION_IDENTIFIER
Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Соответствует тикету ордера, которым была открыта позиция.
Идентификатор позиции указывается в каждом ордере (ORDER_POSITION_ID) и сделке (DEAL_POSITION_ID), которая ее открыла, изменила или закрыла. Используйте это свойство для поиска ордеров и сделок, связанных с позицией.
При развороте позиции в режиме неттинга (единой сделкой in/out) идентификатор позиции POSITION_IDENTIFIER не изменяется. Однако при этом POSITION_TICKET изменяется на тикет ордера, в результате которого произошел разворот. В режиме хеджинга разворот позиции не предусмотрен.
long
Значит нужно запоминать и отслеживать идентификатор позиции (POSITION_IDENTIFIER).
Теперь уточнённая задача: при первом запуске открываем ПОЗИЦИЮ BUY и запоминаем её (ВНИМАНИЕ: запоминать нужно идентификатор позиции, но не тикет). Если позиция была закрыта - открываем противоположную позицию: например жила-была позиция BUY, затем она была закрыта, а значит открывается сразу позиция SELL.
Теперь решить задачу станет намного легче.
Теперь решить задачу станет намного легче.
При написании примера загляните немного вперед.
Второй OrderSend содержит ошибку. И нормализация не нужна. На форуме (и не только) код легче читается, когда он короче.
да, вижу, писал код на лету - запустил в тестере - работает, скопировал на форум
Тут уже надо будет постараться.
вот поэтому я и обратился за помощью на форум! - решил оценить возможности СБ CTrade - взял в качестве примера элементарную задачу и пока результат отрицательный!
Теперь решить задачу станет намного легче.
знаю Вас как активного участника форума, Вы не могли бы мой, вернее правленый код fxsaber , воспроизвести с помощью СБ CTrade под MQL5
да, вижу, писал код на лету - запустил в тестере - работает, скопировал на форум
Когда начинаю писать советник, то стартую всегда с голого листа (рекомендую). Наверное, чаще всего стартуют с шапки с On-функциями.
вот поэтому я и обратился за помощью на форум! - решил оценить возможности СБ CTrade - взял в качестве примера элементарную задачу и пока результат отрицательный!
Есть еще более короткий пример.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2018.02.15 11:48
С ним тяжко в MT5, если не в тестере.