Советники: HlopMaster

 

HlopMaster:

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

Author: Юрий

 

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

 

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

 

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

 
FORWASP:

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

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

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

 

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

 

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

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

 
polopolo:

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

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



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

 

Чем отличается функция 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);
      }
 
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);
}
 
FORWASP:

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

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

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

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

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

Причина обращения: