Скачать MetaTrader 5

Что такое в этом коде значит DecreaseFactor>0

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Movlat Baghiyev
4425
Movlat Baghiyev  
В эту тему были перенесены комментарии, не относящиеся к "Вопросы от начинающих".
Movlat Baghiyev
4425
Movlat Baghiyev  
double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();     // history orders total
   int    losses=0;                  // number of losses orders without a break
//--- select lot size
   lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//--- calcuulate number of losses orders without a break
   if(DecreaseFactor>0)
     {
      for(int i=orders-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
           {
            Print("Error in history!");
            break;
           }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
            continue;
         //---
         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if(losses>2)
         ExpertRemove();
     }
//--- return lot size
   if(lot<0.1) lot=0.1;
   return(lot);
Что такое  в этом коде значит DecreaseFactor>0  и будет ли ли срабатывать остановка после двух убыточных сделок советника ?
Vladislav Andruschenko
106959
Vladislav Andruschenko  
Movlat Baghiyev:
double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();     // history orders total
   int    losses=0;                  // number of losses orders without a break
//--- select lot size
   lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//--- calcuulate number of losses orders without a break
   if(DecreaseFactor>0)
     {
      for(int i=orders-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
           {
            Print("Error in history!");
            break;
           }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
            continue;
         //---
         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if(losses>2)
         ExpertRemove();
     }
//--- return lot size
   if(lot<0.1) lot=0.1;
   return(lot);
Что такое  в этом коде значит DecreaseFactor>0  и будет ли ли срабатывать остановка после двух убыточных сделок советника ?

DecreaseFactor в данном коде не объявлен, значит вам не ответят на этот вопрос 

эксперт будет удаляться с графика если будет 3 и более убыточных сделок 

Renat Akhtyamov
6636
Renat Akhtyamov  
Movlat Baghiyev:
 Что такое  в этом коде значит DecreaseFactor>0  и будет ли ли срабатывать остановка после двух убыточных сделок советника ?
Ищите в остальном коде вызов этой функции и где начало?
Renat Akhtyamov
6636
Renat Akhtyamov  
Movlat Baghiyev:

int LotsOptimized()
  {
      int    losses=0;                  // number of losses orders without a break
      for(int i=HistoryTotal()-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
           {
            Print("История закрытых ордеров недоступна!");
            break;
           }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
            continue;
         //---
         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if(losses>=2)ExpertRemove();
         
      return(0);

}

Что такое  в этом коде значит DecreaseFactor>0  и будет ли ли срабатывать остановка после двух убыточных сделок советника ?

Вот что Вам нужно

Два и более убыточных ордера подряд выгрузят советника

Управляя отображением истории закрытых ордеров на вкладке "История счета" можно продолжить работу, но не в текущий день

Movlat Baghiyev
4425
Movlat Baghiyev  
Renat Akhtyamov:
Вот что Вам нужно
Вопрос  после того как сработает ExpertRemove()  придется заново устаналивать эксперт?После того как отключиться советник в истории  будут сохранены его сделки и при сдледущем включении он будет видеть сови сделки .а там 2 убыточные уже есть ,будет ли он дальше работать или придеться  утановить нвый меджик?
Vladislav Andruschenko
106959
Vladislav Andruschenko  
Movlat Baghiyev:
Вопрос  после того как сработает ExpertRemove()  придется заново устаналивать эксперт?После того как отключиться советник в истории  будут сохранены его сделки и при сдледущем включении он будет видеть сови сделки .а там 2 убыточные уже есть ,будет ли он дальше работать или придеться  утановить нвый меджик?

он будет постоянно выгружаться, надо будет сменить магик,

либо явно прописывать какие сделки считать, Т.е. считать только те сделки, которые были открыты и закрыты с момента запуска эксперта  

Renat Akhtyamov
6636
Renat Akhtyamov  
Movlat Baghiyev:
Вопрос  после того как сработает ExpertRemove()  придется заново устаналивать эксперт?После того как отключиться советник в истории  будут сохранены его сделки и при сдледущем включении он будет видеть сови сделки .а там 2 убыточные уже есть ,будет ли он дальше работать или придеться  утановить нвый меджик?

У Вас рассматриваются все ордера в истории без учета магик-номера.

Учитываются только ордера символа, на котором установлен эксперт

Movlat Baghiyev
4425
Movlat Baghiyev  
Renat Akhtyamov:


Вы подчистили код ,но мне нужно было там еще чтобы и по максимуму  относительно баланса я мог подбирать лот .
Renat Akhtyamov
6636
Renat Akhtyamov  
Movlat Baghiyev:
Вы подчистили код ,но мне нужно было там еще чтобы и по максимуму  относительно баланса я мог подбирать лот .
верните на Родину, я не против)
Movlat Baghiyev
4425
Movlat Baghiyev  
Vladislav Andruschenko:

он будет постоянно выгружаться, надо будет сменить магик,

либо явно прописывать какие сделки считать, Т.е. считать только те сделки, которые были открыты и закрыты с момента запуска эксперта  

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