Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 305
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем добрый вечер! Задумал я трал поставить на открытые сделки в тестере, попробовал пойти через OrderGet....() и понял, что сделка ушла из разряда ордеров в открытую позицию, соответственно пошел через PositionGet....(), но опять ничего не работает,
поэтому вопрос, мне что теперь идти через HistoryDealGet...() ? Или я чего - то не понимаю? Каким путем идти дабы модифицировать SL в открытой сделке в тестере? Заранее благодарен за комментарии.
Пожалуста, ткните меня носом !!!! как реализовать в MQL5 проверку наличия (или отсутствия) на графике графического объекта, например, трендовой линии или вертикальной ?
В идеале хотелось бы сделать логику по типу "If Order Does Not Exist" или "If Order Exists".
Пожалуста, ткните меня носом !!!! как реализовать в MQL5 проверку наличия (или отсутствия) на графике графического объекта, например, трендовой линии или вертикальной ?
В идеале хотелось бы сделать логику по типу "If Order Does Not Exist" или "If Order Exists".
Подскажите, как правильно реализовать алгоритм покупки?
Сейчас советник покупает при наступлении сигнала много раз, пока не придет информация, что есть открытые позиции, а она запаздывает. Как сделать, чтобы после первой покупки (при наступлении условий) советник ждал ответа биржи.
Проблема сейчас в том, что переменная Bye_opened должна стать истиной и это должно удержать советника от лишних сделок, пока не сработают стопы. Но изменения переменной Bye_opened происходит долго и советник успевает совершить сделку несколько раз.
Что не хватает в моем коде? Укажите, пожалуйста, на недочет.
Проблема сейчас в том, что переменная Bye_opened должна стать истиной и это должно удержать советника от лишних сделок, пока не сработают стопы. Но изменения переменной Bye_opened происходит долго и советник успевает совершить сделку несколько раз.
То, что изменение переменной происходит долго... это Вы как определили? Хорошо, представим, что так и есть. Тогда ответ заключен в вопросе. Нужна задержка для открытия позиции, дак поставьте Sleep( N ), где N рассчитайте сами экспериментально.
Вариант №2. Ответ, опять же, в вопросе. Сделайте Bye_opened глобальной и изменяйте сразу после успешности открытия позиции, прямо в этом же модуле. Сбрасывайте также, как и проверяете наличие позиции.
...
Если Вы вставите строчку
после команды: OrderSend(), то повтора открытия позиций не будет.
Может лучше сначала проверить - открылась ли, а уж потом ...
???
Судя по всему у него робот работает на каждом тике. Между отправкой приказа на сервер и получением ответа с сервера придут еще несколько тиков и на каждом будет открываться лишняя позиция. Мое предложение исключает ситуацию с повтором открытий. А проверять открылась позиция или нет обязательно нужно.
Так и я о том же. А то ж буквально всё поймёт и пропустит важную проверку.
Так вот собственно как проверять правильно? Простите, не могу допереть.
Вот код (все расположено в блоке OnTick):
Для того, чтобы не открывались лишние объемы:
К сожалению, это условие не срабатывает при открытии сделки.