Здравейте,
пиша един код и като го тествам пъвоначално ми отваря къса и дълга позиция. До тука ОК. Отварянето на следваща къса е добре, но дълги не ми отваря. Не мога да разбера каква е причината- не ми дава никаква грешка и никакво съобщение. Моля, за помощ.
//---- отварне на следващи поръчки ---------------------------------------------------------+
//================================================== ================================================== ===============
if(OrdersTotal()>=1)
{
if(MAS()<TotalProfit)
{
b=0;
s=0;
for(k=0; k<OrdersTotal() ; k++)
{
OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
b=b+OrderLots();
if(OrderType()==OP_SELL)
s=s+OrderLots();
}
Print("s - ", s);
Print("b - ", b);
ssum=s/(s+b);
bsum=b/(s+b);
//---------------------------------------------------------------------------------------------------------------------------------------------
if(iStochastic(NULL,0,15,3,3,MODE_SMA,1,MODE_MAIN, 1)<iStochastic(NULL,0,15,3,3,MODE_SMA,1,MODE_SIGNA L,1) &&
iStochastic(NULL,0,15,3,3,MODE_SMA,1,MODE_MAIN,0)> iStochastic(NULL,0,15,3,3,MODE_SMA,1,MODE_SIGNAL,0 ))
{
for(k=OrdersTotal(); k>=0; k--)
{
OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{
if(Ask<OrderOpenPrice()-20*Point)
{
OrderSend(Symbol(),OP_BUY,OrderLots()+0.01,Ask,1,0 ,0,NULL,0,0,clrGreen);
Print("OrderSend failed with error #",GetLastError());
return(0);
}
else
return(0);
}
}
}
//-----------------------------------------------------------------------------------------------------------------
if(iStochastic(NULL,0,15,3,3,MODE_SMA,1,MODE_MAIN, 1)>iStochastic(NULL,0,15,3,3,MODE_SMA,1,MODE_SIGNA L,1) &&
iStochastic(NULL,0,15,3,3,MODE_SMA,1,MODE_MAIN,0)< iStochastic(NULL,0,15,3,3,MODE_SMA,1,MODE_SIGNAL,0 ))
{
for(k=OrdersTotal(); k>=0; k--)
{
OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_SELL)
{
if(Bid>OrderOpenPrice()+20*Point)
{
OrderSend(Symbol(),OP_SELL,OrderLots()+0.01,Bid,1, 0,0,NULL,0,0,clrRed);
return(0);
}
else
return(0);
}
}
}
}
}
Благодаря предварително за съветите!