Помогите, пжл, доработать советник на основе Машек.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Aleksandr Glukhenko
318
Aleksandr Glukhenko  

Всем доброго дня!

Народ, помогите, пжл, немного модернизировать советник. Хотелось бы добавить контроль просадки и по возможности, контроль дневной прибыльности. 

Контроль просадки - если просадка по всем сделкам больше заданная в исходных данных то советник закрывает все позиции (как вариант в исходных условиях можно задавать все/все убыточные) , ждет сигнала и снова открывает. 

Контроль прибыльности - в исходных данных вводим процент от депозита прибыли в день, если в течение дня превышаем этот показатель, то советник закрывает убыточные позиции выдерживая дневную прибыль. 

Жду ваших комментариев по этому поводу, а так же, может кто встречал таких советников и самое главное, жду помощи с доработкой.

Всем добра!

Файлы:
Vitaly Gorbunov
405
Vitaly Gorbunov  
Код вы писали? Если да то могу дать готовую процедуру расчета профита, можете её сами встроить по своему усмотрению.
Aleksandr Glukhenko
318
Aleksandr Glukhenko  
Vitaly Gorbunov:
Код вы писали? Если да то могу дать готовую процедуру расчета профита, можете её сами встроить по своему усмотрению.

Код у меня давно. Сейчас вновь вернулся к программированию. Буду признателен.

Vitaly Gorbunov
405
Vitaly Gorbunov  
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает суммарный профит открытых позиций в валюте депозита |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double GetProfitOpenPosInCurrency(string sy="", int op=-1, int mn=-1) {
  double p=0;
  int    i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (mn<0 || OrderMagicNumber()==mn) {
            p+=OrderProfit()+OrderCommission()+OrderSwap();
          }
        }
      }
    }
  }
  return(p);
}

Воспользуйтесь Кимовсой процедурой в ней всё понятно. 

https://www.mql5.com/ru/forum/131859 

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...
Aleksandr Glukhenko
318
Aleksandr Glukhenko  
Vitaly Gorbunov:

Воспользуйтесь Кимовсой процедурой в ней всё понятно. 

https://www.mql5.com/ru/forum/131859 

Спасибо! Полезная ветка!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий