النتائج 1 إلى 3 من 3
  1. #1
    الصورة الرمزية mostafa400
    mostafa400 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    360

    افتراضي موضوع مخصص للأكواد والأوامر وشرحها

    بسم الله الرحمن الرحيم

    الاخوة الكــرام
    أرجو أن يكون هذا الموضوع للمساعدة فى تعلم بعض الأكواد وشرحها للإستفادة منها فى البرمجة
    أرجو بشدة عدم وضع مشاركات بالشكر والترحيب لأى عضو وعدم طرح أى أسئلة فى هذا الموضوع حتى يسهل على الذى يريد الحصول على أكواد أن يحصل عليها سريعا ولا يقلب فى صفحات كثيرة وبرجاء الإلتزام بهذا .
    وأى سؤال هناك موضوع ( موضوع مخصص للأسئلة البرمجبة ) للأستاذ/ أسامة ( مستر دولار )
    https://forum.arabictrader.com/t37612.html
    أنا لست خبيرا فى البرمجة ولن أكون متواجدا باستمرار ولكنى كنت أجد مشقة فى الحصول على أى معلومة والحمد لله أستاذ/ أسامة لا يتأخر عن أحد فى الإجابة عن أى سؤال .
    كل واحد لديه معلومة أو كود يشارك بها مع شرحها جيدا

    والله ولى التوفيق
    آخر تعديل بواسطة mostafa400 ، 02-03-2013 الساعة 07:37 PM

  2. #2
    الصورة الرمزية mostafa400
    mostafa400 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    360

    افتراضي

    الأمر
    MarketInfo(Symbol(),MODE_STOPLEVEL)
    هذا الأمر للحصول على أقل عدد من النقاط المسموح لك عمل أمر SELL LIMIT أو BUY LIMIT من السعر الحالى
    مثلا انت تضع الإكسيبرت على عملة اليورو والليمت على بعد 5 نقاط والشركة تسمح ب 3 نقاط ليميت بيع من السعر الحالى فلن يكون هناك مشكلة أما إذا وضعت الإكسيبرت بنفس الإعدادت على عملة GBPCHF والشركة تسمح ب 7 نقاط من السعر الحالى فلن ينفذ الأمر للتغلب على هذا نستخدم هذا الأمر .
    انا جعلت Step يساوى 1 والبروفت يساوى 1 حتى نجعل الإكسيبرت يختار أقل مسافة مسموح بها وأضفت نقطة زيادة إحتياطى Step=Low_Point+1
    نكتب الأمر كالتالى
    كود:
    static int Stop=0;
    double LimitLot=0.1;
    int Ok=1;       int Step=1, Profit_Inc=1;
    double Low_Point=MarketInfo(Symbol(),MODE_STOPLEVEL);
    if ( Low_Point>Step  ) { Step=Low_Point+1; }
    if ( Low_Point>Profit_Inc ) { Profit_Inc=Low_Point; }
    double SellTP=(Bid+Step*Point)-Profit_Inc*Point, BuyTP=(Ask-Step*Point)+Profit_Inc*Point ;
    if ( Ok==1 && Stop==0 )
     {OrderSend(Symbol(),OP_SELLLIMIT,LimitLot,Bid+Step*Point,3,0,SellTP,0,0,0,Red);
       Stop=1; }
    if ( Ok==1 && Stop==0 )
     {OrderSend(Symbol(),OP_BUYLIMIT,LimitLot,Ask-Step*Point,3,0,BuyTP,0,0,0,Green);
       Stop=1; }
    آخر تعديل بواسطة mostafa400 ، 02-03-2013 الساعة 07:31 PM

  3. #3
    الصورة الرمزية mostafa400
    mostafa400 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    360

    افتراضي

    هذه الدالة لعمل Label على الشارت تضع فيه قيمة لأى متغير على الشارت مثلا ستختار وضع قيمة السعر الحالى لل Bid و السعر الحالى لل Ask ونظهرهم فى الجانب الأعلى من اليسار على الشارت .
    شرح price1 و price2 اسم ال Label ونختار اى اسم المهم ان لا تكون اسمائهم متشابهة
    ثم نضع الفاصلة ونكتب المتغيرات التى ستظهر على الشارت ونضيف + لإضافة المزيد من المتغيرات ونضع علامة التنصيص وبها مسافة فارغة حتى لا تلتصق القيم ببعضها ثم فاصلة ونكتب رقم 1 وهو بعد المسافة من الجانب الأيسر ثم فاصلة ونكتب 15 وهو بعد المسافة من الأعلى أو الأسفل ثم فاصلة ونحدد نوع الخط "Arial" ثم فاصلة ونكتب 14 وهو حجم الخط ثم فاصلة ونكتب 4 وهو الكورنر الأعلى شمال ثم فاصلة ونكتب لون الخط .
    الكورنر 4 هو الأعلى شمال - 2 الأسفل شمال - 1 الأعلى يمين - 2 الأسفل يمين .
    انا وضعت فى ال Label الثانى DoubleToStr(Ask,Digits) حتى نتخلص من الأصفار الزائدة .

    كود:
    int start()
      {
    SetLabel("price1",Ask+"   "+Bid+"   ",1,15,"Arial",14,4,Red);
    SetLabel("price2",DoubleToStr(Ask,Digits)+"   "+DoubleToStr(Bid,Digits)+"   ",1,15,"Arial",14,2,Lime);
       return(0);
      }
    //+------------------------------------------------------------------+
    void SetLabel(string name, string txt, int x, int y, string font, int size, int cor, color clr)
      {
       int idx=0;
      if(ObjectFind(name) == -1)
       {
        ObjectCreate(name, OBJ_LABEL, idx, 0, 0);
        ObjectSetText(name, txt, size, font, clr);
        ObjectSet(name, OBJPROP_XDISTANCE, x);
        ObjectSet(name, OBJPROP_YDISTANCE, y);
        ObjectSet(name, OBJPROP_CORNER, cor);
        ObjectSet(name, OBJPROP_WIDTH,2);
       }
       else
       {
        ObjectSet(name, OBJPROP_XDISTANCE, x);
        ObjectSet(name, OBJPROP_YDISTANCE, y);
        ObjectSetText(name, txt, size, font, clr);
        ObjectSet(name, OBJPROP_CORNER, cor);
        ObjectSet(name, OBJPROP_WIDTH,2);
       } 
      }


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17