void OrderSendFunk1() { int Ticket; for (int i=1; i<=OrdersTotal(); i++) // Переборка открытых ордеров { if(OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES)==true) // есть следующий { if (OrderMagicNumber()==magic) // сравнение меджика { if (OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket()); // Удаляем отложенный ордер } } } while(true) // открытие ордера Buy { Ticket=OrderSend (Symbol(),OP_BUY,LotS,Ask,3,Ask-100*Point,Ask+50*Point,NULL,magic,0,Blue); if (Ticket > 0) { break; } if (Fun_Error(GetLastError())==1) { continue; } } while(true) // открытие ордера Sell { Ticket=OrderSend (Symbol(),OP_SELL,LotS,Bid,3,Bid+100*Point,Bid-50*Point,NULL,magic,0,Red); if (Ticket > 0) { break; } if (Fun_Error(GetLastError())==1) { continue; } } LotC=LotS*2; Print ("Размер настоящих отложенных ордеров ", LotC) for (int k=1; k<=OrdersTotal(); k++) // Переборка открытых ордеров { if(OrderSelect(k-1,SELECT_BY_POS,MODE_TRADES)==true) // есть следующий { if (OrderMagicNumber()==magic) // сравнение меджика { if (OrderType()==OP_BUY) { BuyOP = OrderOpenPrice(); } if (OrderType()==OP_SELL) { SellOP = OrderOpenPrice(); } } } } while(true) // открытие ордера Buystop { Ticket=OrderSend (Symbol(),OP_BUYSTOP,LotC,BuyOP+52*Point,3,BuyOP-48*Point,BuyOP+102*Point,NULL,magic,0,Blue); if (Ticket > 0) { break; } if (Fun_Error(GetLastError())==1) { continue; } } while(true) // открытие ордера sellstop { Ticket=OrderSend (Symbol(),OP_SELLSTOP,LotC,SellOP-52*Point,3,SellOP+48*Point,SellOP-102*Point,NULL,magic,0,Red); if (Ticket > 0) { break; } if (Fun_Error(GetLastError())==1) { continue; } } return; }