Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
У тебя есть торговый сигнал? Опубликуй его и на своем блоге!
rabanik
426
rabanik 2016.08.31 16:24 

Добрый вечер, суть кода - после закрытия ордера по стоп лоссу требуется чтобы советник его перевыставил по старым параметрам.

Но почему то, ордера не перевыставляются (((  Помогите плиз начинающему!!! 

Спасибо! 

Писал вот такой код:

 double OOP=0,OTP=0,OSL=0,OL=0;

 int    OT=0;

 for (int i=OrdersHistoryTotal()-1; i>=0; i--)

   {  

      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))

      {      

         OT = OrderType();

         OSL = NormalizeDouble(OrderStopLoss(),Digits);

         if (OT<2)

           {

           if ( (OrderSymbol()==Symbol()) && ((TimeCurrent()-OrderCloseTime()) < 36000) ) //моя проверка, 36000 - это 10 часов

             { 

             if (NormalizeDouble(OrderClosePrice(),Digits)==OSL)

               {

                 OOP = NormalizeDouble(OrderOpenPrice(),Digits);

                 OTP = NormalizeDouble(OrderTakeProfit(),Digits);

                 OL  = OrderLots();

               }

             }  

            else OOP=0;

            break;

         }

      }  

   }

   if (OOP!=0)

   {

      for (i=0; i<OrdersTotal(); i++)

      {  

         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

         {  

           if (NormalizeDouble(OrderOpenPrice(),Digits) == OOP && OL == OrderLots()) return(0);

         }  

      }

      if (OT==OP_BUY)  OT=OP_BUYLIMIT;

      if (OT==OP_SELL) OT=OP_SELLLIMIT;

      if (OrderSend(Symbol(),OT,OL,OOP,0,OSL,OTP,NULL,0,0,clrNONE)==-1); 

 } 

rabanik
426
rabanik 2016.09.01 12:28  
не поняли сути. к примеру я выставляю отложенный ордер (т.е.  есть параметры: цена отркытия стоп лосс и тейк профит). так вот к примеру рынок идет в мою сторону, ордер открывается и после некоторых колебаний закрывается по стоп лоссу. вот мне нужно если ордер закрылся по стоп лоссу открыть его по новой с известными параметрами.
rabanik
426
rabanik 2016.09.02 09:21  

Спасибо вам за помощь, но OOP прошлая цена открытия ордера, которую я выбираю из ИСТОРИИ:

 for (int i=OrdersHistoryTotal()-1; i>=0; i--)

   {  

      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))

      {   

Это величина постоянная, по ней открывается отложенный/выставленный ордер. 

Vitalie Postolache
11136
Vitalie Postolache 2016.09.02 09:54  
rabanik:

Добрый вечер, суть кода - после закрытия ордера по стоп лоссу требуется чтобы советник его перевыставил по старым параметрам.

Но почему то, ордера не перевыставляются (((  Помогите плиз начинающему!!! 

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

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий