учитесь зарабатывать селяне [Эпизод 2] ! - страница 275

 
artmedia70:
Сначала желательно закрывать убыточные, потом прибыльные. Иначе можно на стопаут налететь. Ага. Именно так. Он же по средствам накрывает, а не по балансу.


Спасибо за совет, сейчас попробую.


было так:

стало так:


 

artmedia70:
Сначала желательно закрывать убыточные, потом прибыльные. Иначе можно на стопаут налететь. Ага. Именно так. Он же по средствам накрывает, а не по балансу.

-----------------------------------------------------------------------------------------------------------------------------------------------

AccountEquity()=AccountBalance()+AccountProfit();

От того что мы переносим часть средств из 2 слагаемого в 1 слагаемое сумма не меняется.

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

 
khorosh:

Полезно так же процесс закрытия начинать с закрытия перекрытых позиций.


А, вот, перекрытые можно в последнюю очередь закрывать, по ним всё равно ничего не изменится.
 
Contender:

А, вот, перекрытые можно в последнюю очередь закрывать, по ним всё равно ничего не изменится.
Это слишком сложно. Надо же тогда вначале определить тикеты перекрытых ордеров, чтобы оставить их на потом. И только тогда начать закрывать остальные ордера. Да ещё из этих отобранных перекрытых ордеров возможно какой - то перекрывается только частично, поэтому надо вычислять какую часть его нужно закрыть в начале, а какую во время закрытия перекрытых. Вообщем морока голимая. Проще сразу закрыть перекрытые, а потом все остальные. Но если вы любите делать всё как можно лучше, то тогда пожалуйста.) Лично я не люблю слишком усложнять код, если это не приносит существенного эффекта.
 
khorosh:
Это слишком сложно. Надо же тогда вначале определить тикеты перекрытых ордеров, чтобы оставить их на потом. И только тогда начать закрывать остальные ордера. Да ещё из этих отобранных перекрытых ордеров возможно какой - то перекрывается только частично, поэтому надо вычислять какую часть его нужно закрыть в начале, а какую во время закрытия перекрытых. Вообщем морока голимая. Проще сразу закрыть перекрытые, а потом все остальные. Но если вы любите делать всё как можно лучше, то тогда пожалуйста.) Лично я не люблю слишком усложнять код, если это не приносит существенного эффекта.


Вообще, перекрытые надо закрывать сразу, как только они появились. Тогда и мороки никакой не будет.
 
Contender:

Вообще, перекрытые надо закрывать сразу, как только они появились. Тогда и мороки никакой не будет.
Согласен, но если автор не хочет. Вольному, как говорится, воля. Он то локирование использует наверно в связи с тем, что иногда создаются ситуации при боковом тренде, что оба ордера лока успешно закрываются с прибылью.
 

Спасибо всем кто помог усовершенствовать закрытие, график стал красивее)

Закрытие ордеров в порядке как они были открыты.

//+------------------------------------------------------------------+
//|                 Закрыть все ордера                               |
//+------------------------------------------------------------------+


double ClossAllOrders ()

{
  for(int i=0; i<OrdersTotal(); )
  {
    if ( !OrderSelect(i, SELECT_BY_POS) )
      break;
    
    int type   = OrderType();

    bool result = false;
    
    switch(type)
    {
      //Close opened long positions
      case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 3, Lime );
                          break;
      
      //Close opened short positions
      case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 3, Lime );
                          break;

      //Close pending orders
      case OP_BUYLIMIT  :
      case OP_BUYSTOP   :
      case OP_SELLLIMIT :
      case OP_SELLSTOP  : result = OrderDelete( OrderTicket() );
    }
    
    if(result == false)
    {
      Print("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
      i++;
      Sleep(500);
    }  
  }
}

// End
 
BeerGod:

Спасибо всем кто помог усовершенствовать закрытие, график стал красивее)

Закрытие ордеров в порядке как они были открыты.

Чем же он красивее, раньше пики были вверх, теперь вниз. Для непонимающих инвесторов на ПАММ наоборот картинки дают c пиками вверх, как бы не провалы депозита, а наоборот скачки вверх.

 
khorosh:

Чем же он красивее, раньше пики были вверх, теперь вниз. Для непонимающих инвесторов на ПАММ наоборот картинки дают c пиками вверх, как бы не провалы депозита, а наоборот скачки вверх.


Ну провалы после пиков вверх они могут воспринимать как серию лосей, а так сначала вниз и за пару секунд вверх пока сетка закрывается, как быстро всё отбито и с прибылью)
 
BeerGod:

Ну провалы после пиков вверх они могут воспринимать как серию лосей, а так сначала вниз и за пару секунд вверх пока сетка закрывается, как быстро всё отбито и с прибылью)

Фигня это всё.

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