Советники: Невидимые стопы - страница 2

 
Было бы хорошо чтобы была возможность разделения прибыли по типу открытых сделок. Например для Buy - такая прибыль, а для Sell - такая прибыль.
 
Дмитрий Равчев:
Было бы хорошо чтобы была возможность разделения прибыли по типу открытых сделок. Например для Buy - такая прибыль, а для Sell - такая прибыль.

Да пожалуйста

#property copyright "Copyright © 2017, cmillion@narod.ru"
#property link      "http://cmillion.ru"
#property strict
#property description "Советник выставляет стоплос и тейкпрофит невидимые для брокера"
//--------------------------------------------------------------------
input int     StoplossB     = 100;    //стоплосс buy (0-откл)
input int     TakeprofitB   = 50;     //тейкпрофит buy (0-откл)
input int     StoplossS     = 100;    //стоплосс sell (0-откл)
input int     TakeprofitS   = 50;     //тейкпрофит sell (0-откл)
input int     slippage=30;
//--------------------------------------------------------------------
void OnTick()
{      
   double OOP;
   for (int i=0; i<OrdersTotal(); i++)
   {    
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      { 
         if (OrderSymbol()==Symbol())
         { 
            int tip = OrderType(); 
            OOP = NormalizeDouble(OrderOpenPrice(),Digits);
            if (tip==OP_BUY)             
            {  
               if (StoplossB!=0   && Bid<=OOP - StoplossB   * Point) {if (OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),slippage,clrNONE)) continue;}
               if (TakeprofitB!=0 && Bid>=OOP + TakeprofitB * Point) {if (OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),slippage,clrNONE)) continue;}
            }                                         
            if (tip==OP_SELL)        
            {  
               if (StoplossS!=0   && Ask>=OOP + StoplossS   * Point) {if (OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),slippage,clrNONE)) continue;}
               if (TakeprofitS!=0 && Ask<=OOP - TakeprofitS * Point) {if (OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),slippage,clrNONE)) continue;}
            } 
         }
      }
   } 
   //---
   int err;
   if (IsTesting() && OrdersTotal()==0)
   {
      double Lot=0.1;
      err=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,0,"тест",0);
      err=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,0,0,"тест",0);
      return;
   }
}
 

Здравствуйте Уважаемый Vladimir Khlystov. Можно, пожалуйста, что бы стоплос и тейкпрофит был просто числом, например, если несклько ордеров, то один общий чиловой стоплос и тейкпрофит на бай и общий чиловой стоплос и тейкпрофит  на сел. Большое спасибо!

 
Roman Stribulev:

Здравствуйте Уважаемый Vladimir Khlystov. Можно, пожалуйста, что бы стоплос и тейкпрофит был просто числом, например, если несклько ордеров, то один общий чиловой стоплос и тейкпрофит на бай и общий чиловой стоплос и тейкпрофит  на сел. Большое спасибо!

Сейчас и стоп и профит просто числом задаются. Число - кол-во пунктов.

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

Файлы:
 

Здравствуйте Владимир, А нельзя в него добавить Трейлинг Стоп и Безубыток ?

Он для четырез знака или пяти? А то на графике ни чего не показывает, нет ни каких черточек.

Спасибо.

 
Shara1:

Здравствуйте Владимир, А нельзя в него добавить Трейлинг Стоп и Безубыток ?

Он для четырез знака или пяти? А то на графике ни чего не показывает, нет ни каких черточек.

Спасибо.

Виртуальный трейлинг и безубыток я писал в другом советнике. Он так и называется. Просто наберите в строке поиска виртуальный трейдинг стоп.

На 5 знак сам он значения не изменяте, поэтому как указано в параметрах, столько пунктов стопы и ставит. А линии при желании можно дорисовать, обращайтесь.

 

Пожайлуста впишите в него за какими Магиками ордеров следить. (Например 1, 2, 7, 22, 31...)

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