 |
 |
|
 |
|
شوف استاذى اسلام
انا كنت اعمل بهذه الداله لاغلاق كل الصفقات الرابحه عندما يرتد السعر
كود:
void }CloseProfitOnly(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
if(OrderType()==OP_BUY&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
}
if(OrderType()==OP_SELL&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
}
}
}
}
فأذا وضعت امر الشراء
كود:
OrderSend(Symbol(),OP_Buy,Lot,Ask,3,0,0,"Sunegypt",MagicNumber,0);
كنت اضع تحتها مباشرة
كود:
CloseProfitOnly(OP_Sell);
واذا وضعت امر بيع
كود:
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Sunegypt",MagicNumber,0);
كنت اضع تحتها مباشرة
كود:
CloseProfitOnly(OP_Buy);
وكان بمجرد ان يفتح صفقه الشراء يغلق صفقات البيع الرابحه مباشرة
واذا فتح صفقه بيع يقوم بأغلاق صفقات الشراء الرابحه فقط مباشرة ايضا
ولكن هذا يسبب بعض الفجوات بين الايكوتى والرصيد الفعلى
فحاولت ان اغلق الصفقه الرابحه الاكبر حجما فقط لعلها تقلل من تلك الفجوة
أرجوا ان تكون فهمت ما أريد استاذى الحبيب اسلام
يعنى لو تم عمل الداله التى تغلق اكبر لوت رابح فقط
فسوف اضع اسم الداله فقط تحت امر الشراء والبيع وفقط
وبجد اسف انى بتقل على حضرتك استاذى الكريم |
|
 |
|
 |
،،،فضلا قم بارفاق الاكسبيرت الذى تريد وضع الكود الجديد به،،،