 |
 |
|
 |
|
،،،جرب الوظيفة التالية فقط،،،
كود:
void CloseMaxProfit()
{
int ticket;
double profit ;
for (int i =1 ;i<OrdersTotal();i++)
{
for (int x = OrdersTotal()-1;x>0;x--)
{
OrderSelect(x,SELECT_BY_POS);
if (OrderProfit() >= profit && OrderProfit()>0) ticket = OrderTicket();
}
OrderSelect(ticket,SELECT_BY_TICKET);
if (OrderType() == OP_BUY)
OrderClose(ticket,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),NULL);
if (OrderType() == OP_SELL)
OrderClose(ticket,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),NULL);
}
}
|
|
 |
|
 |
سلام عليكم استاذى الكريم اسلام
اولا : جزاك الله تعالى خيرا اخى الكريم على تعبك معنا هنا
واسف لتأخرى فى الرد على حضرتك لانشغالى فقط الايام الماضيه
ثانيا : بخصوص الداله هذه ففيها مشكله
الداله تغلق ايضا اخر لوت اذا كان رابح
سأعيد شرح الفكرة على حضرتك لكى تصل اليك بشكل افضل .. فربما لم استطيع ان الشرح الوافى للفكرة ..
الفكرة انى اريد داله اركبها على اى اكسبيرت فكرتها
اذا فتح الاكسبيرت اخر صفقه بيع ينظر اذا كان هناك صفقات شراء موجبه او رابحه يقوم بالنظر الى اكبر لوت شراء فقط رابح ويغلقه وفقط ويترك الباقى
و اذا فتح الاكسبيرت اخر صفقه شراء ينظر اذا كان هناك صفقات بيع موجبه او رابحه يقوم بالنظر الى اكبر لوت بيع فقط رابح ويغلقه وفقط ويترك الباقى
أرجوا ان تكون الفكرة وصلت اليك استاذى الحبيب اسلام
لكن الكود على حالته الحاليه هذه اذا فتح الاكسبيرت صفقه بيع مثلا ثم فتح صفقه اخرى بعدها .. فأنه يغلق صفقه البيع السابقه الموجبه .. وهذا خطأ
الداله فى حاله الاردتداد فقط ينفذ الداله
أرجوا ان تكون الفكرة وضحت استاذى الحبيب
الكود بشكل عام اريده لكى اجربه على اكثر من اكسبيرت .. لان الفكرة هذه ممكن تكون مربحه اذا وضعت فى بعض الاكسبيرتات
منتظر ردك استاذى الكريم