النتائج 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
ليس عندى خبره فى البرمجه
الأكثر زيارة
رد مع اقتباس