Logic orderstotal() dlm hub dg martingale

nu master, tentang orderstotal(). begini bunyi master "jika jumlah order > 5 
maka isi TP menjadi 1 point. 
tujuannya untuk menyelamatkan balance agar tdk lama floatingnya saat martingale  . mohon bantuannya master...





 int   iTrade=0;

if (OrdersTotal()>=5 ) // Periksa apakah jumlah order sudah lebih atau sama dengan 5
{

for(iTrade=0;iTrade<OrdersTotal();iTrade++) // Jika ya, lakukan looping untuk memeriksa semua OP.
{
OrderSelect(iTrade,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol()) // Kalau OP-nya buy maka masuk ke function
{
// Set TP= OrderOpenPrice+1
if(OrderTakeProfit()=!OrderOpenPrice()+1*Point) // Check kalau TP-nya bukan 1
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+1*Point,0,CLR_NONE); // Ubah TP menjadi 1
return(0);
}

}
else if(OrderType()==OP_SELL && OrderSymbol()==Symbol()) // Kalau OP-nya sell maka masuk ke function
{
// Set TP= OrderOpenPrice-1
if(OrderTakeProfit()=!OrderOpenPrice()-1*Point) // Check kalau TP-nya bukan 1
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()-1*Point,0,CLR_NONE); // Ubah TP menjadi 1
return(0);
}

}

}
}
}