النتائج 1 إلى 3 من 3
- 23-12-2015, 10:57 AM #1
أريد Trailing Stop يعمل على كل الصفقات المفتوحه عدا صفقات ب Lot معين يتم تحديدها
أخوانى اريد برنامج Trailing Stop يعمل على كل الصفقات المفتوحه ماعدا الصفقتان التى تحتوى على2 Lot أو 1 Lot يتم كتابها فى الأعدادات
مثال:اذا وجد صفقات مفتوحه على Lot :2 او Lot :2.2 لا يقوم البرنامج بعمل Trailing لها ولكن يعمل على كل الصفقات الأخرى
هل يمكن اضافه هذا التعديل على برنامج ٍSwing Army EA
- 23-12-2015, 06:59 PM #2
الإكسبرت مغلق لا يمكن التعديل عليه
لكن كشرح للفكره نعم يمكن يكفي أن تضع شرط المقارنه
مثال
كود PHP:void MoveTrailingStop()
{
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
bool select=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderLots()!=Lot1&&OrderLots()!=Lot2)
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0&&NormalizeDouble(Ask,Digits)>NormalizeDouble(OrderOpenPrice()+TrailingStop*point,Digits))
{
if((NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(Bid-TrailingStop*point,Digits))||(OrderStopLoss()==0))
{
bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,Digits),OrderTakeProfit(),0,Blue);
}
}
}
else
{
if(TrailingStop>0&&NormalizeDouble(Bid,Digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,Digits))
{
if((NormalizeDouble(OrderStopLoss(),Digits)>(NormalizeDouble(Ask+TrailingStop*point,Digits)))||(OrderStopLoss()==0))
{
bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point,Digits),OrderTakeProfit(),0,Red);
}
}
}
}
}
}
- 23-12-2015, 07:34 PM #3
جزاك الله خير مستر دولار ولكن يمكنك عمل هذا البرنامج البسيط و يحتوى على
1. ٍStop Trailing Act
2.Stop Trailing Step
3. Lot1 which not need to act
4. Lot2 which not need to act
ليس عندى خبره فى البرمجه