السلام عليكم ورحمة الله وبركاته
اخى الفاضل صممت اكسيبرت يفتح صفقات بيع وشراء ويغلق الشراء على ربح وايضا يغلق على الربح الاجمالى لو شغلته على عمله واحده يعمل بطريقة سليمه وعند تشغيله على اكثر من عمله يحدث خطا فى اغلاق الصفقات هذه هى الشرورط
if(USD!=0&&ChartProfit()>=USD){CA();}//اغلاق كل الصفقات على ربح
if(USD2!=0&&BuyProfit()>=USD2){CB();}//اغلاق صفقات الشراء فقط على ربح


double ChartProfit(){
double p= 0 ;
for(cnt=0;cnt<OrdersTotal();cnt++){
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNamber){
p=p+OrderProfit()+OrderCommission()+OrderSwap();
}


}return(p);
}


//----------------------------------------------------------------------------------------
// ربح الشراء
//----------------------------------------------------------------------------------------


double BuyProfit(){
double p= 0 ;
for(cnt=0;cnt<OrdersTotal();cnt++){
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNamber){
if (OrderType()==OP_BUY)
p=p+OrderProfit()+OrderCommission()+OrderSwap();
}


}return(p);
}
//----------------------------------------------------------------------------------------
// ربح البيع
//----------------------------------------------------------------------------------------




double SellProfit(){
double p= 0 ;
for(cnt=0;cnt<OrdersTotal();cnt++){
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNamber)
if(OrderType()==OP_SELL){
p=p+OrderProfit()+OrderCommission()+OrderSwap();
}


}return(p);
}
//----------------------------------------------------------------------------------------
// اغلاق جميع الصفقات
//----------------------------------------------------------------------------------------
void CA() {


for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
if(OrderSelect(SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNamber)
if (OrderType()==OP_BUY){
zs=OrderClose(OrderTicket(),OrderLots(),Bid,3,N);
} else if (OrderType()==OP_SELL){
zs=OrderClose(OrderTicket(),OrderLots(),Ask,3,N);
}else{
zs=OrderDelete(OrderTicket(),N);


}
}
//----------------------------------------------------------------------------
// اغلاق صفقات الشراء
//----------------------------------------------------------------------------
void CB(){
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNamber&&OrderType()==OP_BUY)
{
bool close_b=OrderClose(OrderTicket(),OrderLots(),Bid,3 ,clrGoldenrod);
}
}
//-------------------------------------------------------------------
// اغلاق صفقات البيع
//-------------------------------------------------------------------
void CS(){


for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNamber&&OrderType()==OP_SELL)
{
bool close_s=OrderClose(OrderTicket(),OrderLots(),Ask,3 ,clrAzure);
}
}
اريده يحسب ربح وخسارة كل عمله على حده ويخرج واجمالى ربح او خسارة كل عمله على حده مع العلم عند تشغيله على عمله واحده يعمل بشكل طبيعى وعند اضافه عمله اخرى تحدث اخطاء