عرض مشاركة واحدة
قديم 24-08-2016, 01:47 PM   المشاركة رقم: 2
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

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

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

كاتب الموضوع : shivaa المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: طلب كيف اكتب كود خاص من الاستاذى اسلام

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


1- فتح امرين مركت بيع و شراء بدون ستب ولا تك
2- عند تحرك السوق يوجد واحد خاسر والاخر يتجه الى المكسب
مثلا يكون شراء هو المكسب المطلب عند تحرك10 نقات
((10 نقطه ممكن التعديل عليها ))
يفعل Trailing Stop يكون مخفى
3- عند تفعيل TrailingStop يضع امر معلق buystop اسفل خط الطلب 30 نقطه ((30 نقطه ممكن التعديل عليها ))
شكر استاذى
اريد كود فقط وليس اكسبيرت
ثانى شى ممكن اعرف اذى احدد ان صفقه بعنها كسبانه او خسرانه
بمعنى اخر اى دله تفيد طلبى
اكون شاكر وجزاك الله خيرا



،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،يجب اولا عمل وظيفة لحساب عدد الصفقات المفتوحة،،،

كود:
  int orderscnt(){
 int cnt=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()){
         cnt++;
       }
     }
   }
    return(cnt);
  }
،،،بعد ذلك يتم كتابة كود فتح الصفقتين،،،

كود:
  if(orderscnt()==0){
  bool b = OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"",0,0,clrNONE);
  bool s = OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"",0,0,clrNONE);
}
،،،بعد ذلك كود التريلينج المخفي ونقوم بعمل وظيفة لمعرفة الصفقات التي تخطت قيمة التريلينج وعمل متغير داخلي لكل صفقة لحفظ القيمة،،،

كود:
void HiddenTrailingStop()
{
   for(int i=OrdersTotal()-1;i>=0;i--)
   {
     bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
     if(OrderType()<=OP_SELL&&HiddenTrailingStop>0)
     {     
      if(OrderType()==OP_BUY)
      {
       if(Bid>=OrderOpenPrice()+HiddenTrailingStop*Point&&(GlobalVariableGet("TrailingStop"+OrderTicket())<Bid-HiddenTrailingStop*Point||GlobalVariableGet("TrailingStop"+OrderTicket())==0))  
       {                 
        GlobalVariableSet("TrailingStop"+OrderTicket(),Bid-HiddenTrailingStop*Point);   
       }
      }
      else 
      {
       if(Ask<=OrderOpenPrice()-HiddenTrailingStop*Point&&(GlobalVariableGet("TrailingStop"+OrderTicket())>Ask+HiddenTrailingStop*Point||GlobalVariableGet("TrailingStop"+OrderTicket())==0))  
       {                 
        GlobalVariableSet("TrailingStop"+OrderTicket(),Ask+HiddenTrailingStop*Point);      
       }
      }
      
     }
   }
}
،،،ونقوم بعمل وظيفة لتفعيل الاغلاق عند وصول السعر للتريلينج،،،

كود:
void CloseOrders()
{
  for(int i=OrdersTotal()-1;i>=0;i--)
  {
   bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
   if(OrderSymbol()==Symbol())
   {
    if(OrderType()==OP_BUY&&GlobalVariableGet("TrailingStop"+OrderTicket())!=0)
    {
     if(Bid<=GlobalVariableGet("TrailingStop"+OrderTicket()))
     {
      bool closeB=OrderClose(OrderTicket(),OrderLoTrailingStop(),Bid,3);
      GlobalVariableDel("TrailingStop"+OrderTicket());
     }
    }
    if(OrderType()==OP_SELL&&GlobalVariableGet("TrailingStop"+OrderTicket())!=0)
    {
     if(Ask>=GlobalVariableGet("TrailingStop"+OrderTicket()))
     {
      bool closeS=OrderClose(OrderTicket(),OrderLoTrailingStop(),Ask,3);
      GlobalVariableDel("TrailingStop"+OrderTicket());
     }
    }
   }
  }
}
،،،بالنسبة لمعرفة اذا كانت صفقة بعينها رابحة ام خاسرة يتم البحث عنها بشئ مميز ممكن برقم ماجيك نمبر او بكومنت،،،

،،،تحياتي،،،



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #2  
قديم 24-08-2016, 01:47 PM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: طلب كيف اكتب كود خاص من الاستاذى اسلام

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


1- فتح امرين مركت بيع و شراء بدون ستب ولا تك
2- عند تحرك السوق يوجد واحد خاسر والاخر يتجه الى المكسب
مثلا يكون شراء هو المكسب المطلب عند تحرك10 نقات
((10 نقطه ممكن التعديل عليها ))
يفعل Trailing Stop يكون مخفى
3- عند تفعيل TrailingStop يضع امر معلق buystop اسفل خط الطلب 30 نقطه ((30 نقطه ممكن التعديل عليها ))
شكر استاذى
اريد كود فقط وليس اكسبيرت
ثانى شى ممكن اعرف اذى احدد ان صفقه بعنها كسبانه او خسرانه
بمعنى اخر اى دله تفيد طلبى
اكون شاكر وجزاك الله خيرا



،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،يجب اولا عمل وظيفة لحساب عدد الصفقات المفتوحة،،،

كود:
  int orderscnt(){
 int cnt=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()){
         cnt++;
       }
     }
   }
    return(cnt);
  }
،،،بعد ذلك يتم كتابة كود فتح الصفقتين،،،

كود:
  if(orderscnt()==0){
  bool b = OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"",0,0,clrNONE);
  bool s = OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"",0,0,clrNONE);
}
،،،بعد ذلك كود التريلينج المخفي ونقوم بعمل وظيفة لمعرفة الصفقات التي تخطت قيمة التريلينج وعمل متغير داخلي لكل صفقة لحفظ القيمة،،،

كود:
void HiddenTrailingStop()
{
   for(int i=OrdersTotal()-1;i>=0;i--)
   {
     bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
     if(OrderType()<=OP_SELL&&HiddenTrailingStop>0)
     {     
      if(OrderType()==OP_BUY)
      {
       if(Bid>=OrderOpenPrice()+HiddenTrailingStop*Point&&(GlobalVariableGet("TrailingStop"+OrderTicket())<Bid-HiddenTrailingStop*Point||GlobalVariableGet("TrailingStop"+OrderTicket())==0))  
       {                 
        GlobalVariableSet("TrailingStop"+OrderTicket(),Bid-HiddenTrailingStop*Point);   
       }
      }
      else 
      {
       if(Ask<=OrderOpenPrice()-HiddenTrailingStop*Point&&(GlobalVariableGet("TrailingStop"+OrderTicket())>Ask+HiddenTrailingStop*Point||GlobalVariableGet("TrailingStop"+OrderTicket())==0))  
       {                 
        GlobalVariableSet("TrailingStop"+OrderTicket(),Ask+HiddenTrailingStop*Point);      
       }
      }
      
     }
   }
}
،،،ونقوم بعمل وظيفة لتفعيل الاغلاق عند وصول السعر للتريلينج،،،

كود:
void CloseOrders()
{
  for(int i=OrdersTotal()-1;i>=0;i--)
  {
   bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
   if(OrderSymbol()==Symbol())
   {
    if(OrderType()==OP_BUY&&GlobalVariableGet("TrailingStop"+OrderTicket())!=0)
    {
     if(Bid<=GlobalVariableGet("TrailingStop"+OrderTicket()))
     {
      bool closeB=OrderClose(OrderTicket(),OrderLoTrailingStop(),Bid,3);
      GlobalVariableDel("TrailingStop"+OrderTicket());
     }
    }
    if(OrderType()==OP_SELL&&GlobalVariableGet("TrailingStop"+OrderTicket())!=0)
    {
     if(Ask>=GlobalVariableGet("TrailingStop"+OrderTicket()))
     {
      bool closeS=OrderClose(OrderTicket(),OrderLoTrailingStop(),Ask,3);
      GlobalVariableDel("TrailingStop"+OrderTicket());
     }
    }
   }
  }
}
،،،بالنسبة لمعرفة اذا كانت صفقة بعينها رابحة ام خاسرة يتم البحث عنها بشئ مميز ممكن برقم ماجيك نمبر او بكومنت،،،

،،،تحياتي،،،




رد مع اقتباس