ПОДСКАЖИТЕ КАК МОЖНО РЕШИТЬ ЭТОТ ВОПРОС.

 

Есть идея... пытаюсь по ней построить бота... прочитал куча инфы ... думал осилю самостоятельно... но не тут то было... сделал проктически все только одну функцию немогу в советник добавить.... суть проста .... открывается ордер далее от нео в другую сторану выставляется отложеник ... если первый открытый ордер прошел 50 пунктов в плюс модифицируем отложеник и стоп открытого в безубыток.... .... КТО ИЗ ГУРУ ПОМОЖЕТ НАЧИНАЮЩЕМУ ПОДОВАНУ...:))))
ВОТ КОД СОВЕТНИКА....

total=OrdersTotal();
if(total<1)
{
if (MaCurrent>MaPrevious)
{


order=OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*SHAG,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,NULL,Magic);
if(order>0)
{
if(OrderSelect(order,SELECT_BY_TICKET,MODE_TRADES)) Print("OPEN BUY :",OrderOpenPrice());
flag9=1;
}
else Print("EROR OPEN BUY :",GetLastError());
return(0);
}

if (MaCurrent<MaPrevious )
{

order=OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*SHAG,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,NULL,Magic);
if (order>0)
{
if(OrderSelect(order,SELECT_BY_TICKET,MODE_TRADES)) Print("OPEN SEKLL :",OrderOpenPrice());

flag9=1;
}
else Print("EROR OPEN SELL :",GetLastError());
return(0);
}
order=OrdersTotal();
return(0);
}


if(flag9==1)
{
for(io=0;io<total;io++)
{
OrderSelect(io, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
om1=OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*SHAG,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,NULL,Magic);
flag9=0;
return(0); // exit
}
if(OrderType()==OP_SELL) // go to short position
{
// should it be closed?
om1=OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*SHAG,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,NULL,Magic);
flag9=0;

return(0); // exit
}
}
}
}

 
Оне плодятся, что ли? Больно почерки схожи.

http://forum.alpari.ru/post1721336-17.html