عرض مشاركة واحدة
قديم 05-12-2013, 02:08 AM   المشاركة رقم: 84
الكاتب
ابو سمر
عضو جديد
الصورة الرمزية ابو سمر

البيانات
تاريخ التسجيل: Oct 2011
رقم العضوية: 6309
العمر: 44
المشاركات: 194
بمعدل : 0.04 يوميا

الإتصالات
الحالة:
ابو سمر غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة العوامى نقره لعرض الصورة في صفحة مستقلة
،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
كود:
extern bool CloseOppisite = false;
بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
كود:
 if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
       
       CloseSellOrders();
      
       
       if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
    
     CloseBuyOrders();
وتقوم بعمل وظيفتين لغلق البيع او الشراء

كود:
int CloseBuyOrders()
{
  for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_BUY)
      {
        bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);
        while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);Sleep(1000);}
      }
    }
  }
  return(0);
}  

int CloseSellOrders()
{
 for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_SELL)
      {
       bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);
       while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);Sleep(1000);}
      }
     }
    }
  return(0);
}
شكرا اخى اسلام
جربت الكود كما شرحت ولكنه لايغلق الصفقات
اكيد انا ركبت الاكواد غلط

يا ريت حضرتك تظبطلى الاكواد بحيث يغلق عند الاشارة العكسيه

كود:
double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)buy=true;
if(sell<10000)sell=true;

if (buy<10000&&buy==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);

if (sell<10000&&sell==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Blue);



التوقيع

الغرب يساندون الفاشل حتى ينجح
والعرب يحاربون الناجح حتى يفشل

عرض البوم صور ابو سمر  
رد مع اقتباس
  #84  
قديم 05-12-2013, 02:08 AM
ابو سمر ابو سمر غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة العوامى نقره لعرض الصورة في صفحة مستقلة
،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
كود:
extern bool CloseOppisite = false;
بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
كود:
 if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
       
       CloseSellOrders();
      
       
       if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
    
     CloseBuyOrders();
وتقوم بعمل وظيفتين لغلق البيع او الشراء

كود:
int CloseBuyOrders()
{
  for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_BUY)
      {
        bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);
        while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);Sleep(1000);}
      }
    }
  }
  return(0);
}  

int CloseSellOrders()
{
 for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_SELL)
      {
       bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);
       while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);Sleep(1000);}
      }
     }
    }
  return(0);
}
شكرا اخى اسلام
جربت الكود كما شرحت ولكنه لايغلق الصفقات
اكيد انا ركبت الاكواد غلط

يا ريت حضرتك تظبطلى الاكواد بحيث يغلق عند الاشارة العكسيه

كود:
double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)buy=true;
if(sell<10000)sell=true;

if (buy<10000&&buy==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);

if (sell<10000&&sell==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Blue);




رد مع اقتباس