Скачать MetaTrader 5

Советники: HlopMaster

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes Software Corp.
Модератор
185398
MetaQuotes Software Corp.  

HlopMaster:

Мартингейл + трейлинг ордеров.

Author: Юрий

MQL4 Comments
16319
MQL4 Comments  

Почемуто не работает. Выдаёт ошибки №131 при открытии позиции . Поменял в настройках значение рips и profitpips с 25 на 250, после этого позиции открывает, но не может их трейлить.

Юрий
978
Юрий  

Используйте брокера с 4 знаками после запятой. 

MQL4 Comments
16319
MQL4 Comments  

у меня тоже не пошел .... и открыл в терминале с 4 знакамипосле запятой

MQL4 Comments
16319
MQL4 Comments  
FORWASP:

Почемуто не работает. Выдаёт ошибки №131 при открытии позиции . Поменял в настройках значение рips и profitpips с 25 на 250, после этого позиции открывает, но не может их трейлить.

Рабтает в ДЦ где нулевой уровень СТОП-лосс и тейк профит.

Со стандартными параметрами сливатор. Может кто знает как нужно правильно настроить

Oleg
165
Oleg  

Респект автору.

polopolo
14
polopolo  

Function "SummProfit" is not referenced and will be removed from exp-file

а что с этой функцией не так? если можно - подробно.

Юрий
978
Юрий  
polopolo:

Function "SummProfit" is not referenced and will be removed from exp-file

а что с этой функцией не так? если можно - подробно.



Пишет что она не используется просто, можете ее удалить из кода. 

Evgeniy Trofimov
2393
Evgeniy Trofimov  

Чем отличается функция GetMaxLotOrder() от GetMaxLot() ???

Приведу их в удобный вид:

double GetMaxLot() {
   //Функция возвращает размер максимального лота,
   //найденного среди открытых позиций
   int i; double maxlot;
   for(i=1; i<=OrdersTotal(); i++) {
      if(OrderSelect(i-1,SELECT_BY_POS)) {                                   
         if(OrderType()<2 && OrderSymbol()==Symbol()) {
            if(maxlot<OrderLots()) {
               maxlot=OrderLots();
            }
         }
      }
   }   
   return(maxlot);
}//GetMaxLot()
//+------------------------------------------------------------------+
double GetMaxLotOrder() {
   int i;double maxlot;
   for(i=1; i<=OrdersTotal(); i++) {
      if(OrderSelect(i-1,SELECT_BY_POS)==true) {                                   
         if(OrderType()<2 && OrderSymbol()==Symbol()) {
            if(maxlot<OrderLots()) {
               maxlot=OrderLots();
            }
         }
      }
   }   
   return(maxlot);
}//GetMaxLotOrder()

Если ничем, то где смысл в условии функции start()

      if(GetMaxLot()==GetMaxLotOrder()){
         ChangeOrder(GetMaxLot()*2);
      }
Юрий
978
Юрий  
EvgeTrofi:

Чем отличается функция GetMaxLotOrder() от GetMaxLot() ???

Приведу их в удобный вид:

double GetMaxLot() {
   //Функция возвращает размер максимального лота,
   //найденного среди открытых позиций
   int i; double maxlot;
   for(i=1; i<=OrdersTotal(); i++) {
      if(OrderSelect(i-1,SELECT_BY_POS)) {                                   
         if(OrderType()<2 && OrderSymbol()==Symbol()) {
            if(maxlot<OrderLots()) {
               maxlot=OrderLots();
            }
         }
      }
   }   
   return(maxlot);
}//GetMaxLot()
//+------------------------------------------------------------------+
double GetMaxLotOrder() {
   int i;double maxlot;
   for(i=1; i<=OrdersTotal(); i++) {
      if(OrderSelect(i-1,SELECT_BY_POS)==true) {                                   
         if(OrderType()<2 && OrderSymbol()==Symbol()) {
            if(maxlot<OrderLots()) {
               maxlot=OrderLots();
            }
         }
      }
   }   
   return(maxlot);
}//GetMaxLotOrder()

Если ничем, то где смысл в условии функции start()

      if(GetMaxLot()==GetMaxLotOrder()){
         ChangeOrder(GetMaxLot()*2);
      }

Вы видимо переусердствовали с приведением кода в удобный вид, бывает =)  

Еще раз взгляните на мой код:


//Описание функции: http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=69
double GetMaxLot() 
{int i;double maxlot;
   for( i=1; i<=OrdersTotal(); i++)         
   {
      if(OrderSelect(i-1,SELECT_BY_POS)==true) 
       {                                   
           if((OrderType()==OP_BUY ||OrderType()==OP_SELL)  && OrderSymbol()==Symbol() && maxlot<OrderLots()){maxlot=OrderLots();}
       }
    }   
return(maxlot);
}
 
//Описание функции: http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=70
double GetMaxLotOrder() 
{int i;double maxlot;
   for( i=1; i<=OrdersTotal(); i++)         
   {
      if(OrderSelect(i-1,SELECT_BY_POS)==true) 
       {                                   
           if((OrderType()==OP_BUYSTOP ||OrderType()==OP_SELLSTOP)  && OrderSymbol()==Symbol() && maxlot<OrderLots()){maxlot=OrderLots();}
       }
    }   
return(maxlot);
}
Nail Murtazin
386
Nail Murtazin  
FORWASP:

Почемуто не работает. Выдаёт ошибки №131 при открытии позиции . Поменял в настройках значение рips и profitpips с 25 на 250, после этого позиции открывает, но не может их трейлить.

На тестере неплохо выглядит с большими значениями параметров. Но теряется частота сделок.

Смотрел на демо счете - тралит как-то не так. Наращивает минусы, все увеличивает лоты...

На мой взгляд очень неплохая стратегия, просто нужно ее научить тралить - вовремя выставлять ордера (с этим он капитально запаздывает)

Возможно нужно добавить функцию "слава богу", которая закрывает все открытые ордера, когда Эквити вырывается вверх баланса на Х%

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