Прошу помочь с советником - страница 2

 
m_a_sim:

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

//+------------------------------------------------------------------+
//|                                                     sovetnik.mq4 |
//|                                                   Симаков Михаил |
//|                                        https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Симаков Михаил"
#property link      "https://www.metaquotes.net/"
 
extern int lot;
extern int sl;
extern int tp;
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int i0,i1,ticket;
int start()
  {
//----
 if (i0==1 && i1==0){
   if (OrdersTotal()>0){
   OrderSelect(1, SELECT_BY_POS);
   if (OrderType()==OP_SELL){OrderClose(OrderTicket(),OrderLots(),Ask,3);
                    ticket=OrderSend(Symbol(),OP_BUY ,lot,Ask,3,Ask-(sl)*Point,Ask+tp*Point," ",16384,0, Blue ); }
   }
   }
   
   
   if (i0==0 && i1==1){
   if (OrdersTotal()>0){
   OrderSelect(1, SELECT_BY_POS);
   if (OrderType()==OP_BUY){OrderClose(OrderTicket(),OrderLots(),Bid,3);
                    ticket=OrderSend(Symbol(),OP_SELL ,lot,Bid,3,Bid-(sl)*Point,Bid+tp*Point," ",16384,0, Blue ); }
   }
   }
//----
   return(0); 
  }
//+------------------------------------------------------------------+

Спасибо, я посмотрю.
 
m_a_sim:

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

   if (OrdersTotal()>0){
      OrderSelect(1, SELECT_BY_POS);
   if (OrderType()==OP_BUY){OrderClose(OrderTicket(),OrderLots(),Bid,3);
                    ticket=OrderSend(Symbol(),OP_SELL ,lot,Bid,3,Bid-(sl)*Point,Bid+tp*Point," ",16384,0, Blue ); }

Похвально Ваше желание помочь. Но, ... неправильно выбирается ордер перед закрытием, если допускается только один открытый ордер - то он будет нулевой, а не первый т.е OrderSelect(0, SELECT_BY_POS, MODE_TRADES), и знаки перед SL c TP для открытия селл перепутаны. .. Поправьте.

 
И нормализацию при обращение к цене делать надо, последнее время без нее просто беда...
 
Figar0:
И нормализацию при обращение к цене делать надо, последнее время без нее просто беда...

совершенно верные замечания, но что такое нормализация?
 
//+------------------------------------------------------------------+
//|                                                     sovetnik.mq4 |
//|                                                   Симаков Михаил |
//|                                        https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Симаков Михаил"
#property link      "https://www.metaquotes.net/"
 
extern int lot;
extern int sl;
extern int tp;
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int i0,i1,ticket;
int start()
  {
//----
 if (i0==1 && i1==0){
   if (OrdersTotal()>0){
   OrderSelect(0, SELECT_BY_POS);
   if (OrderType()==OP_SELL){OrderClose(OrderTicket(),OrderLots(),Ask,3);
                    ticket=OrderSend(Symbol(),OP_BUY ,lot,Ask,3,Ask-(sl)*Point,Ask+tp*Point," ",16384,0, Blue ); }
   }
   }
   
   
   if (i0==0 && i1==1){
   if (OrdersTotal()>0){
   OrderSelect(0, SELECT_BY_POS);
   if (OrderType()==OP_BUY){OrderClose(OrderTicket(),OrderLots(),Bid,3);
                    ticket=OrderSend(Symbol(),OP_SELL ,lot,Bid,3,Bid+(sl)*Point,Bid-tp*Point," ",16384,0, Blue ); }
   }
   }
//----
   return(0); 
  }
//+------------------------------------------------------------------+