Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 363
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы, как мне кажется, не здесь вопрос задаете. Создайте отдельную тему, прикрепите туда код индикатора и надейтесь, что кто-нибудь поможет. Без кода... маловероятно, что Вам кто-то подскажет.
При написании ТЗ, столкнулся с ситуацией в которой не пойму как правильно описать алгоритм. Подскажите возможно частичное закрытие позиции в работе советника?
При написании ТЗ, столкнулся с ситуацией в которой не пойму как правильно описать алгоритм. Подскажите возможно частичное закрытие позиции в работе советника?
А что там сложного ? Цена проходит определенное расстояние пунктов в профит, закрывается половина позиции, если позиция не делится ровно (например 0.09) то закрывается большая часть (0.05) и стоп переносится в безубыток, далее проходим ещё расстояние закрывает опять половину от того что осталось (0.02) и стоп переносим на расстояние шага закрытия в плюс и так пока не закроется вся позиция или не выбьет по стопу. Шаг может быть фиксированный или каждый раз рассчитываться от какого либо диапазона, зависит от торговой системы.
Я правильно понимаю? В программном языке MQL4 есть возможность формализовать закрытие только половины объёма рыночного ордера... типа лот 10 и при достижение ценой нужного уровня закрыть 5 лотов.
Или есть возможность 1/3?
Или проще реализовать эту идею, в советнике, через выставления разных ордеров. При достижении нужного уровня ценой закрывается один ордер, а другой остаётся, в место частичного закрытия объёма рыночного ордера. Что скажите?
Для этого надо в приказе на закрытие указывать лот меньше, чем лот позиции (это если МТ4, в МТ5 можно открыть противоположную позицию с меньшим лотом, в итоге они перекрываются). В рынке останется позиция с остаточным лотом.
Я правильно понимаю? В программном языке MQL4 есть возможность формализовать закрытие только половины объёма рыночного ордера... типа лот 10 и при достижение ценой нужного уровня закрыть 5 лотов.
Или есть возможность 1/3?
Или проще реализовать эту идею, в советнике, через выставления разных ордеров. При достижении нужного уровня ценой закрывается один ордер, а другой остаётся, в место частичного закрытия объёма рыночного ордера. Что скажите?
Можно и так и так. OrderClose позволяет закрывать объём который ему указывают. https://docs.mql4.com/ru/trading/orderclose
Можно конечно и открывать несколько ордеров с разными уровнями профита, в случае обрыва связи так будет даже надежнее, так как уровни тейкпрофита хранятся на сервере и исполнятся если их пересечет цена.
Можно и так и так. OrderClose позволяет закрывать объём который ему указывают. https://docs.mql4.com/ru/trading/orderclose
Можно конечно и открывать несколько ордеров с разными уровнями профита, в случае обрыва связи так будет даже надежнее, так как уровни тейкпрофита хранятся на сервере и исполнятся если их пересечет цена.
Всем доброго времени суток! Столкнулась с проблемой, хотелось бы услышать мнение профессионалов или более опытных пользователей МТ5. Написала индикатор, а также класс CEventBase, с помощью которого индикатор генерирует события. При запуске экспертов, обрабатывающих эти события, рано или поздно, при запуске в реальном времени, сыпятся ошибки: 4001, 4102, 4104. Начав "сыпаться" они уже не перестают этого делать) прикрепляю код функции Generate, которая собчтвенно и является источником всех этих бед. Буду очень рада услышать Ваше мнение на этот счет...)
Всем хорошего дня!
Всем доброго времени суток! Столкнулась с проблемой, хотелось бы услышать мнение профессионалов или более опытных пользователей МТ5. Написала индикатор, а также класс CEventBase, с помощью которого индикатор генерирует события. При запуске экспертов, обрабатывающих эти события, рано или поздно, при запуске в реальном времени, сыпятся ошибки: 4001, 4102, 4104. Начав "сыпаться" они уже не перестают этого делать) прикрепляю код функции Generate, которая собчтвенно и является источником всех этих бед. Буду очень рада услышать Ваше мнение на этот счет...)
Всем хорошего дня!
Очевидно что представленный вами метод является транзитным. Ошибка скорее всего не в нем. По представленным данным не понятно что происходит. Вариантов может быть несколько:
- Неправильно указывается идентификатор графика (о чем и говорят ошибка 4101).
- Слишком частые запросы;
- Неверные другие параметры (идентификаторы событий например).
Судя по уровню написанного Вами кода можно сказать, что ошибка может быть где угодно и какая угодно.