Что тут надо изменить?
/////////////////////////////////////////////////
// Close the order but only if it is in profit //
/////////////////////////////////////////////////
void CloseIfInProfit(string symb , int index)
{
for (int i = 0;i <= OrdersTotal();i++)
{
if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )
{
if( OrderSymbol() == symb )
{
double profit = ( OrderProfit() - OrderCommission () - OrderSwap() );
if( ( OrderType() == OP_BUY || OrderType() == OP_SELL) && ( profit >= 0 ) && (OrderMagicNumber() == MAGIC) )
{
OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // Close any open orders
ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
}
if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket()); // Delete any pending orders
ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
}
}
}
}
partial[index] = false;
}
/////////////////////////////////////////////////
// Close the order but only if it is in profit //
/////////////////////////////////////////////////
void CloseIfInProfit(string symb , int index)
{
for (int i = 0;i <= OrdersTotal();i++)
{
if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )
{
if( OrderSymbol() == symb )
{
double profit = ( OrderProfit() - OrderCommission () - OrderSwap() );
if( ( OrderType() == OP_BUY || OrderType() == OP_SELL) && ( profit >= 0 ) && (OrderMagicNumber() == MAGIC) )
{
OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // Close any open orders
ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
}
if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket()); // Delete any pending orders
ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
}
}
}
}
partial[index] = false;
}