![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Зато даёт возможность остановить советник отжатием кнопки "Советники" на панели инструментов.
Ну впринципе как вариант пойдет думаю, спасибо. не так много там параметром чтоб покидать советник, не сложно будет
Пример использования функции ClosePosBySizeProfitInCurrency()
Специально для демонстрации работы функции ClosePosBySizeProfitInCurrency() я написал советник
e-CloseByProfitPosInCurrency, который закрывает только те позиции, у которых профит в валюте депозита превысил некоторое заданное значение. Советник можно устанавливать как только на какой-то один график, так и на несколько. Уточнить перечень закрываемых позиций можно с помощью внешних параметров советника:
Добрый день всем.
Не найдется ли у вас, Игорь, функции, которая аналогичным ClosePosBySizeProfitInCurrency() образом заКрывает убыточные позиции, по достижении заданного убытка. (Или, возможно, обьединенной, где можно задать закрытие по профиту и по убытку.)
Как я понял, можно просто задать в параметрах pr для OrderProfit() - со знаком минус и мы получим искомое.
А вот в пунктах (а не в валюте депозита) возможно задать порог ? Если - да, то как ? (тейкпрофит и стоплосс не предлагать)
Не найдется ли у вас, Игорь, функции, которая аналогичным ClosePosBySizeProfitInCurrency() образом заКрывает убыточные позиции, по достижении заданного убытка. (Или, возможно, обьединенной, где можно задать закрытие по профиту и по убытку.)
Нет, такой функции у меня пока нет. Впрочем, можно переделать ClosePosBySizeProfitInCurrency():
Я сделал так, чтобы убыток можно было передавать положительным (убыток) и отрицательным (прибыль со знаком минус) числом.
Как я понял, можно просто задать в параметрах pr для OrderProfit() - со знаком минус и мы получим искомое.
А вот в пунктах (а не в валюте депозита) возможно задать порог ? Если - да, то как ? (тейкпрофит и стоплосс не предлагать)
Посмотрите код советника e-CloseByProfit.
Функция ClosePositions().
Эта функция выполняет закрытие позиций, параметры которых удовлетворяют заданным значениям:
Функция ClosePosFirstProfit().
Эта функция выполняет закрытие позиций в определённом порядке, то есть сначала прибыльные, а потом все остальные. Более точный отбор закрываемых позиций задаётся внешними параметрами:
Функция ClosePosWithMaxProfitInCurrency().
Эта функция выполняет закрытие одной позиции с максимальным положительным профитом в валюте депозита. То есть из пяти позиций, профит каждой из которых в данный момент составляет -34, 15, 73, -90, 41, будет закрыта позиция с профитом 73 единицы в валюте депозита. Более точный отбор закрываемых позиций задаётся внешними параметрами:
если значение CCI стало больше 100 то открывать позицию на покупку до того момента пока значение не станет меньше -100, а когда станет меньше -100 открывать продажи до момента пока не станет больше 100.
Вам, Дима, я могу предложить такую вот функцию:
Эта функция возвращает 1, когда нужно покупать и -1, когда нужно продавать. Условия покупки/продажи соответствуют Вашим пожеланиям. Вам теперь нужно всего лишь на каждом тике выполнять следующее:
1. Получать значение функции GetTradeSignal().
2. Если полученное значение ==0, то ничего не делать.
3. Если полученное значение >0, то закрывать все продажи и покупать.
4. Если полученное значение <0, то закрывать все покупки и продавать.