Trabalho concluído
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Termos de Referência
Нужны сделать:
1. Проверить правильность всего кода советника и исправить ошибки
может что-то оптимизировать. Советник должен работать на реале.
2. Сделать функцию:
extern int Propusk = 2; //Cколько сигналов на открытие пропустить, прежде чем открыть ордер
3. Функция
extern string z003 = "--- ТРЕНДОВЫЙ ИНДИКАТОР ---";
extern string z004 = "== Индикатор VininI_RSI_FO ==";
работает не правильно. где то ошибка.
Нужно чтобы она работала так: когда линия индикатора пробивает нижний уровень снизу вверх разрешалась работа Бай,
когда линия индикатора пробивает верхний уровень сверху вниз - разрешалась работа Селл. Т.е. в итоге получилось:
- выше верхнего уровня - только Бай
- между уровнями - и Бай и Селл
- ниже нижнего уровня - только Селл
Работа индикатора:
extern string z029 = "=== UT_FAST243 ===";
extern int UT_TimeFrame = 7;
красная выше зеленой - только Селл
Зеленая выше красной - только Бай
4. В функции OPENORDER() неправильно работают:
- функция наращивания лотов,
- открытия отложенных ордеров,
- нужно вписать проверку по функции:
bool Block_err_130(int M,int TypeOrder,double OP,double StopLoss,double TakeProfit,
5.Неправильно работает функция:
extern bool CloseOpen = false; //Закрытие по противоположному сигналу (при открытии ордера встречный открытый ранее закрывается)
6.Вписать функцию TesterWithdrawal() от Андрея Войтенко https://www.mql5.com/ru/articles/131
(если ее можно использовать на четверке)
7. Нужна фукция:
У брокеров, предоставляющих выход на межбанк маржинкол установлен при <=100%, при этом закрываюися самые "жирные" на их взгляд ордера.
Поэтому, хотелось бы самому закрывать свои ордера при маржинколе (PrFreeMargin в %) и с возможнстью выбрать самому, какие ордера
закрывать согласно переменной типа
extern int OrderMargiType = 1;
при =1; - выбираем самый первый открытый ордер из тех (Бай или Селл)у которых сформировался убыткок
при =2; - выбираем самый последний открытый ордер из тех (Бай или Селл)у которых сформировался убыткок
при =3; - выбираем ордер у которого самый большой убыток из тех (Бай или Селл)у которых сформировался убыткок
при =4; - выбираем ордер у которого самый меньший убыток из тех (Бай или Селл)у которых сформировался убыткок
(Какой выбор сделать без тестирования и не определить... Поэтому нужно проэксперементировать)
*/