رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة 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);
}
   
			 
		   
  
    
		
		
		
		
		
			
			
			
			
				 
			
			
			
			
			
			
			
				
			
		
		 
	
	 |