عرض مشاركة واحدة
قديم 05-12-2013, 09:43 AM   المشاركة رقم: 87
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

البيانات
تاريخ التسجيل: Apr 2012
رقم العضوية: 9148
الدولة: alexandria - egypt
المشاركات: 6,086
بمعدل : 1.38 يوميا

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

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

المشاركة الأصلية كتبت بواسطة ابو سمر نقره لعرض الصورة في صفحة مستقلة
شكرا اخى اسلام
جربت الكود كما شرحت ولكنه لايغلق الصفقات
اكيد انا ركبت الاكواد غلط

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

كود:
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);
،،،اولا يجب ان تتأكد من قيمة اندكس او اشارة المؤشر عند ظهورها على الشارت،،،

،،،بعد ذلك تقوم بوضع هذا المتغير فى global area ،،،

كود:

extern bool CloseOppisite = false;

،،،بعد ذلك تقوم بوضع الكود التالى،،،


كود:

int start()
  {
//----
bool buysignal,sellsignal;
   double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)
{
buysignal=true;
sellsignal=false;
}
if(sell<10000)sell=true;
{
buysignal=false;
sellsignal=true;
}

if(buysignal==true&&CloseOppisite = True)CloseSellOrders();
if(sellsignal==true&&CloseOppisite = True)CloseBuyOrders();



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

if (sellsignal==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Red);
//----
   return(0);
  }
//+------------------------------------------------------------------+

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)
      {
        OrderClose(OrderTicket(),OrderLots(),Bid,3);
      }
    }
  }
  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)
      {
       OrderClose(OrderTicket(),OrderLots(),Ask,3);
      }
     }
    }
  return(0);
}



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #87  
قديم 05-12-2013, 09:43 AM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة ابو سمر نقره لعرض الصورة في صفحة مستقلة
شكرا اخى اسلام
جربت الكود كما شرحت ولكنه لايغلق الصفقات
اكيد انا ركبت الاكواد غلط

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

كود:
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);
،،،اولا يجب ان تتأكد من قيمة اندكس او اشارة المؤشر عند ظهورها على الشارت،،،

،،،بعد ذلك تقوم بوضع هذا المتغير فى global area ،،،

كود:

extern bool CloseOppisite = false;

،،،بعد ذلك تقوم بوضع الكود التالى،،،


كود:

int start()
  {
//----
bool buysignal,sellsignal;
   double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)
{
buysignal=true;
sellsignal=false;
}
if(sell<10000)sell=true;
{
buysignal=false;
sellsignal=true;
}

if(buysignal==true&&CloseOppisite = True)CloseSellOrders();
if(sellsignal==true&&CloseOppisite = True)CloseBuyOrders();



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

if (sellsignal==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Red);
//----
   return(0);
  }
//+------------------------------------------------------------------+

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)
      {
        OrderClose(OrderTicket(),OrderLots(),Bid,3);
      }
    }
  }
  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)
      {
       OrderClose(OrderTicket(),OrderLots(),Ask,3);
      }
     }
    }
  return(0);
}




رد مع اقتباس