hsansalhh
11-08-2019, 12:02 AM
السلام عليكم
هذه المشاركة الثانية لي في المنتدى واشكر جميع الاعضاء
يرجى التعديل على هذا الكود انه يقوم بغلق صفقات البيع على جانب وغلق صفقات الشراء على جانب
اريد ان يغلق جميع الصفقات سواء كانت بيع او شراء على ربح معين مثلا 10 دولار
void CheckForClose()
{
double q1=iCustom(NULL,0,"auto recommended",3,1);
double q2=iCustom(NULL,0,"auto recommended",2,1);
//--- go trading only for first tiks of new bar
if(Volume[0]>1) return;
//---
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false ) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
//--- check order type
if(OrderType()==OP_BUY)
{
if(q2 > q1)
{
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Whi te))
Print("OrderClose error ",GetLastError());
}
break;
}
if(OrderType()==OP_SELL)
{
if(q1 > q2 )
{
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,Whi te))
Print("OrderClose error ",GetLastError());
}
break;
}
}
}
هذه المشاركة الثانية لي في المنتدى واشكر جميع الاعضاء
يرجى التعديل على هذا الكود انه يقوم بغلق صفقات البيع على جانب وغلق صفقات الشراء على جانب
اريد ان يغلق جميع الصفقات سواء كانت بيع او شراء على ربح معين مثلا 10 دولار
void CheckForClose()
{
double q1=iCustom(NULL,0,"auto recommended",3,1);
double q2=iCustom(NULL,0,"auto recommended",2,1);
//--- go trading only for first tiks of new bar
if(Volume[0]>1) return;
//---
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false ) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
//--- check order type
if(OrderType()==OP_BUY)
{
if(q2 > q1)
{
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Whi te))
Print("OrderClose error ",GetLastError());
}
break;
}
if(OrderType()==OP_SELL)
{
if(q1 > q2 )
{
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,Whi te))
Print("OrderClose error ",GetLastError());
}
break;
}
}
}