صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 30
  1. #1
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي ------مكتبات(libraries) مفيدة للمبرمجين------




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

    أود أن أشارككم في هذا الموضوع بمكتبات عثرت عليها خلال بحثي عن الجديد في لغة MQL4 و بما أن قدرات MQL4 محدودة
    لذلك هم أتاحوا للمبرمجين عمل المكتبات التي تلبي احتياجاتهم ومن ثم إضافتها إلى الكود في MQL4

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

    بسم الله توكلنا على الله

    -1-
    MQL4 File Functions Library

    هي مكتبة تشبه في دوالها الدوال الموجودة في لغة MQL4 الأساسية.

    نحن نعلم أن عند الكتابة على الملفات في الميتاتريدر لا يخرج عن 3 أماكن

    HISTORY/<current broker> - especially for the FileOpenHistory function;
    /EXPERTS/FILES - common case;
    /TESTER/FILES - especially for testing.

    وهنا يأتي دور المكتبة في تخطي هذه الحدود لكي يكون الكتابة على الملفات في أي مكان على الجهاز

    محتويات المكتبة(الملف المرفق) :
    تحتوي على :
    1 - mtguru1.dll ويوضع في مجلد "\experts\libraries"
    2 - gFiles.mqh ويوضع في مجلد "\experts\include"
    3 - FilesDemo.mq4 وهو مؤشر عبارة عن مثال لاستخدام المكتبة يوضع في "\experts\indicators"
    4 - ملف للكود مفتوح المصدر للمكتبة

    وهي تحتوي على الدوال التالية :

    كود:
    int gFileOpen(string file_name,int mode); bool gFileWrite(int handle,string data); bool gFileClose(int handle); string gFileRead(int handle,int length=0); void gFileSeek(int handle,int offset, int mode); bool gFileDelete(string file_name); int gFileSize(int handle);
    ملاحظة هامة : يجب أن يكون خيار "Allow DLL Import" مفعل.


    أرجو من الله أن أكون وفقت في عملي هذا

    وإلى اللقاء مع مكتبة أخرى إن شاء الله
    الملفات المرفقة الملفات المرفقة

  2. #2
    الصورة الرمزية turkm
    turkm غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    المشاركات
    1,626

    افتراضي

    الله يجزيك الخير استاذ بروجمان عن جد موضوع مهم جدا جدا

  3. #3
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي


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

    -2-
    MQL4 Http Client Library

    هي مكتبة لإرسال متغيرات إلى المواقع باستخدام GET أو POST و أيضا استخدمته في قراءة ملفات بصيغة json ولا أعلم إن كان يقرأ ملفات بصيغ أخرى

    محتويات المكتبة(الملف المرفق) :
    تحتوي على ثلاثة ملفات :
    1 - http51.dll ويوضع في مجلد "\experts\libraries"
    2 - http51.mqh ويوضع في مجلد "\experts\include"
    3 sample_http51.mq4 وهو اكسبرت عبارة عن مثال لاستخدام المكتبة "\experts"

    وهي تحتوي على الدوال التالية :

    كود:
    string httpGET (string URL, int status []); string httpDELETE (string URL, int status []); string httpPUT (string URL, string RequestBody, int status []); string httpPOST (string URL, string RequestBody, int status []); string httpTRACE (string URL, string RequestBody, int status []); string URLEncode(string toCode) {...} string ArrayEncode(string &array[][]) {...} void addParam(string key, string val, string&array[][]) {...} string hex(int i) {...}
    ملاحظة هامة : يجب أن يكون خيار "Allow DLL Import" مفعل.


    أرجو من الله أن أكون وفقت في عملي هذا
    وإلى اللقاء مع مكتبة أخرى
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة Prog_Man ، 18-04-2012 الساعة 01:29 AM

  4. #4
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي

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

    وإن شاء الله يكون مانطرح هنا مفيد للجميع

  5. #5
    الصورة الرمزية urlsaver
    urlsaver غير متواجد حالياً موقوف
    تاريخ التسجيل
    Nov 2010
    الإقامة
    المملكة العربية السعودية
    المشاركات
    203

    افتراضي

    بارك الله فيك ,
    بالنسبة للمكتبة الأولى أين أكتب رابط الملف الذي أرغب في فتحه والتعديل عليه
    في أي ملف ؟
    مجهود رائع

  6. #6
    الصورة الرمزية urlsaver
    urlsaver غير متواجد حالياً موقوف
    تاريخ التسجيل
    Nov 2010
    الإقامة
    المملكة العربية السعودية
    المشاركات
    203

    افتراضي

    شكرا جزيلا
    تم تجربة المكتبة الأولى ممتازة جدا وشكرا

  7. #7
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة urlsaver مشاهدة المشاركة
    شكرا جزيلا
    تم تجربة المكتبة الأولى ممتازة جدا وشكرا
    بارك الله فيك

  8. #8
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

    افتراضي

    جزاك الله خير أخى Prog_Man , وجاري الاطلاع بإذن الله

  9. #9
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي


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

    -3-
    MQL4 Excel Library

    هي مكتبة رائعة لربط الميتاتريدر بالإكسل

    محتويات المكتبة(الملف المرفق) :
    تحتوي على ثلاثة ملفات :
    1 - mt4excel.dll ويوضع في مجلد "\experts\libraries"
    2 - excel.mqh ويوضع في مجلد "\experts\include"
    3 sample_excel.mq4 وهو عبارة عن مؤشر مثال لاستخدام المكتبة "experts\indicators"

    وهي تحتوي على الدوال التالية :

    كود:
    bool ExcelOpen(); bool ExcelClose(); bool ExcelOpenPattern(int NumPatt); bool ExcelOpenFile(string FileName); bool ExcelSave(); bool ExcelSaveAs(string FileName); bool ExcelAddSheet(string Name); bool ExcelSetFormulaCell(int X,int Y,string Value); double ExcelGetValueCell(int X,int Y); string ExcelGetTextCell(int X,int Y); string ExcelGetFormulaCell(int X,int Y); bool ExcelSetDiagramma(int TypeD,string Title,string XRange,string YRange,int Left,int Top,int Riht,int Bottom); bool ExcelDiagrammaAddRange(); bool ExcelSetValueCell(int X,int Y,double Value); bool ExcelSetTextCell(int X,int Y,string Value); bool ExcelSetRange(string Range); string ExcelGetFormat(); bool ExcelSetFormat(string Format); bool ExcelSetFormula(string Formula); bool ExcelIsFormula(); int ExcelRangeCount(); string ExcelRangeAdress(); bool ExcelRangeColumnWidth(int Width); bool ExcelRangeRowHeight(int Height); bool ExcelRangeInteriorColor(int Color); bool ExcelRangeFontColor(int Color); int ExcelGetLastErrorCode(); string ExcelGetLastErrorText();
    لمزيد من المعلومات عن المكتبة واستخدامها هنا رابط لشرح المكتبة للأستاذ وضاح عطار جزاه الله خير

    ملاحظة هامة : يجب أن يكون خيار "Allow DLL Import" مفعل.


    أرجو من الله أن أكون وفقت في عملي هذا
    وإلى اللقاء مع مكتبة أخرى
    الملفات المرفقة الملفات المرفقة

  10. #10
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Prog_Man مشاهدة المشاركة

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

    -2-
    MQL4 Http Client Library

    هي مكتبة لإرسال متغيرات إلى المواقع باستخدام GET أو POST و أيضا استخدمته في قراءة ملفات بصيغة json ولا أعلم إن كان يقرأ ملفات بصيغ أخرى

    محتويات المكتبة(الملف المرفق) :
    تحتوي على ثلاثة ملفات :
    1 - http51.dll ويوضع في مجلد "\experts\libraries"
    2 - http51.mqh ويوضع في مجلد "\experts\include"
    3 sample_http51.mq4 وهو اكسبرت عبارة عن مثال لاستخدام المكتبة "\experts"

    وهي تحتوي على الدوال التالية :

    كود:
    string httpGET (string URL, int status []); string httpDELETE (string URL, int status []); string httpPUT (string URL, string RequestBody, int status []); string httpPOST (string URL, string RequestBody, int status []); string httpTRACE (string URL, string RequestBody, int status []); string URLEncode(string toCode) {...} string ArrayEncode(string &array[][]) {...} void addParam(string key, string val, string&array[][]) {...} string hex(int i) {...}
    ملاحظة هامة : يجب أن يكون خيار "Allow DLL Import" مفعل.


    أرجو من الله أن أكون وفقت في عملي هذا
    وإلى اللقاء مع مكتبة أخرى
    وعليكم السلام ورحمة الله وبركاته
    جزاك الله خير هذه المكتبه مفيده جدا لمن يحتاجها و يتقن إستخدامها
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  11. #11
    الصورة الرمزية mercury_man
    mercury_man غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jul 2007
    الإقامة
    روسيا - سانت بطرسبورغ
    المشاركات
    1,975

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Prog_Man مشاهدة المشاركة

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

    -2-
    MQL4 Http Client Library

    هي مكتبة لإرسال متغيرات إلى المواقع باستخدام GET أو POST و أيضا استخدمته في قراءة ملفات بصيغة json ولا أعلم إن كان يقرأ ملفات بصيغ أخرى

    محتويات المكتبة(الملف المرفق) :
    تحتوي على ثلاثة ملفات :
    1 - http51.dll ويوضع في مجلد "\experts\libraries"
    2 - http51.mqh ويوضع في مجلد "\experts\include"
    3 sample_http51.mq4 وهو اكسبرت عبارة عن مثال لاستخدام المكتبة "\experts"

    وهي تحتوي على الدوال التالية :

    كود:
    string httpGET (string URL, int status []); string httpDELETE (string URL, int status []); string httpPUT (string URL, string RequestBody, int status []); string httpPOST (string URL, string RequestBody, int status []); string httpTRACE (string URL, string RequestBody, int status []); string URLEncode(string toCode) {...} string ArrayEncode(string &array[][]) {...} void addParam(string key, string val, string&array[][]) {...} string hex(int i) {...}
    ملاحظة هامة : يجب أن يكون خيار "Allow DLL Import" مفعل.


    أرجو من الله أن أكون وفقت في عملي هذا
    وإلى اللقاء مع مكتبة أخرى
    ممكن شرح اكثر على هذه المكتبة بارك الله فيك

  12. #12
    الصورة الرمزية mercury_man
    mercury_man غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jul 2007
    الإقامة
    روسيا - سانت بطرسبورغ
    المشاركات
    1,975

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Prog_Man مشاهدة المشاركة

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

    -2-
    MQL4 Http Client Library

    هي مكتبة لإرسال متغيرات إلى المواقع باستخدام GET أو POST و أيضا استخدمته في قراءة ملفات بصيغة json ولا أعلم إن كان يقرأ ملفات بصيغ أخرى

    محتويات المكتبة(الملف المرفق) :
    تحتوي على ثلاثة ملفات :
    1 - http51.dll ويوضع في مجلد "\experts\libraries"
    2 - http51.mqh ويوضع في مجلد "\experts\include"
    3 sample_http51.mq4 وهو اكسبرت عبارة عن مثال لاستخدام المكتبة "\experts"

    وهي تحتوي على الدوال التالية :

    كود:
    string httpGET (string URL, int status []); string httpDELETE (string URL, int status []); string httpPUT (string URL, string RequestBody, int status []); string httpPOST (string URL, string RequestBody, int status []); string httpTRACE (string URL, string RequestBody, int status []); string URLEncode(string toCode) {...} string ArrayEncode(string &array[][]) {...} void addParam(string key, string val, string&array[][]) {...} string hex(int i) {...}
    ملاحظة هامة : يجب أن يكون خيار "Allow DLL Import" مفعل.


    أرجو من الله أن أكون وفقت في عملي هذا
    وإلى اللقاء مع مكتبة أخرى
    اخي الكريم ممكن شرح اكثر للضرورة

  13. #13
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    جزاك الله خير أخى Prog_Man , وجاري الاطلاع بإذن الله
    بارك الله فيك أخي وإن شاء الله تجد ما يفيدك فيها

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    جزاك الله خير هذه المكتبه مفيده جدا لمن يحتاجها و يتقن إستخدامها
    بارك الله فيك أستاذ أسامة أسعدني مرورك
    اقتباس المشاركة الأصلية كتبت بواسطة mercury_man مشاهدة المشاركة
    اخي الكريم ممكن شرح اكثر للضرورة
    إن شاء الله أخي وآسف على التأخير سأجهز الشرح في مشاركة قادمة بإذن الله

  14. #14
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي

    شرح مكتبة Http Client بناء على طلب الأخ mercury_man
    وسأشرح إن شاء الله المثال الموجود مع المكتبة
    في البداية تم استدعاء المكتبة عن طريق الأمر التالي
    كود PHP:
    #include <http51.mqh> 
    بعدها في دالة start() تم التالي

    عرف متغير عبارة عن مصفوفة لحفظ البارامترات التي يريد ارسالها إلى الموقع وهي توضع هكذا دون تغيير
    كود PHP:
    string params [0,2]; //paramArray 
    ثم قام بالتأكد من خلو المصفوفة من الداتا وبعدها عرف متغير لمعرفة حالة الاتصال
    كود PHP:
    ArrayResizeparams0); // Flush old data
       
    int status[1];           // HTTP Status code 
    ثم قام بإضافة البارمترات المراد إرسالها وهي تكون بصيغة key,value باستخدام الدالة
    كود PHP:
    // Setup parameters 
    //addParam(Key,Value,paramArray)
     
    addParam("Bid",Bid,params);
     
    addParam("Ask",Ask,params); 
    وبالإمكان إضافة أكثر من بارامتر بهذه الطريقة

    بعدها قام بعمل إنكود للبارمترات URLEncoded
    كود PHP:
    //create URLEncoded string from parameters array
       
    string req ArrayEncode(params); 
    ثم أخيرا قام بإرسال الطلب وهي تكون إما عن طريق GET أو POST مع ملاحظة الفرق بين الدالتين المسخدمة لهما
    كود PHP:
    //Send Request 
       //string res = httpGET("http://127.0.0.1/test?"+ req, status);
       
    string res httpPOST("http://127.0.0.1/test"reqstatus); 
    حيث تستبدل "http://127.0.0.1/test" برابط الصفحة في الموقع المراد الإرسال لها وهو هنا استخدم سيرفر محلي كمثال
    العائد من الدالتين سيكون الحالة للإتصال وهي مخزنة في status و أيضا نص الملف المرسل إليه وهو مخزن في المتغير res
    بالنسبة لحالة الاتصال status يجب أن تعطي رقم 200 وذلك يدل على نجاح الاتصال

    طبعا سيتم التعامل مع البارمترات المرسلة وذلك من خلال برمجة الصفحة المستقبلة لها و هذا مجال برمجة الويب بإمكانك البحث فيه.

    هذا ما أستطعت أن أشرحه حاليا وإذا كان هناك إستفسار محدد أرجو أن توضحه

    والله أعلم
    آخر تعديل بواسطة Prog_Man ، 19-04-2012 الساعة 03:20 AM

  15. #15
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي


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

    -4-
    MT4GUI Toolbox Addon for Metatrader v.01.08

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

    محتويات المكتبة(الملف المرفق) :
    تحتوي على أربعة ملفات :
    1 - mt4gui.dll ويوضع في مجلد "\experts\libraries"
    2 - mt4gui2.dll ويوضع في المجلد الأساسي للميتاتريدر وهو المجلد الذي يوجد به terminal.exe
    3 - libvisual.mqh ويوضع في مجلد "\experts\include"
    4 - Fast_Trade_EA_V1.mq4 وهو عبارة عن إكسبرت مثال لاستخدام المكتبة "\experts"

    وهي تحتوي على الدوال التالية :

    كود:
    string tbVersion(); // لتوضيح نسخة البرنامج // objects "button","checkbox","list","label","text" int tbPutObject(int,string,int,int,int,int,string); // hwnd,type,x,y,w,h,label وهي الدالة الأساسية لوضع الأدوات على الشارت // colors int tbSetBgColor(int,int,int); // hwnd,object,bgcolor لتغير الألوان للخلفية للأدوات int tbSetTextColor(int,int,int); // hwnd,object,color لتغيير لون النص // removing objects int tbRemove(int,int); // hwnd,handle لحذف أداة واحدة int tbRemoveAll(int); // hwnd لحذف جميع الأدوات على النافذة // events bool tbIsClicked( int,int ); // hwnd,object تعمل عند الضغط على الزر bool tbIsChecked(int,int); // hwnd,object تعمل عند تحديد الخيارات // properties int tbSetText(int,int,string,int,string); // hwnd,object,text,fontsize,fontname لتغير النص على الأدوات string tbGetText(int,int); // hwnd,object لمعرفة قيمة النص على الأدوات int tbSetChecked(int,int,bool); // hwnd,object,true|false لجعل الخيار مفعل برمجيا int tbEnable(int,int,int); // hwnd, object, 0|1 لجعل الأداة قابلة للإستجابة أو لا // listbox int tbAddListItem(int,int,string); // hwnd,object,item لإضافة عنصر إلى القائمة int tbGetListSel(int,int); // hwnd,object لمعرفة العنصر المختار int tbSetListSel(int,int,int); // hwnd,object,index لوضع الاختيار على عنصر محدد برمجيا
    إن شاء الله المثال سيوضح أكثر لطريقة الاستخدام وهو مثال بسيط عملته لدخول الصفقات وإغلاقها مع القدرة على اختيار عدد النقاط للاستوب والتيك بروفيت وكذلك قيمة اللوت

    اضغط على الصورة لعرض أكبر

الاســـم:	mt4gui.png
المشاهدات:	158
الحجـــم:	12.7 كيلوبايت
الرقم:	318979

    وأي استفسار أنا حاضر إن شاء الله

    ملاحظة هامة : يجب أن يكون خيار "Allow DLL Import" مفعل.


    أرجو من الله أن أكون وفقت في عملي هذا
    وإلى اللقاء مع مكتبة أخرى

    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة Prog_Man ، 19-04-2012 الساعة 05:15 AM

صفحة 1 من 2 12 الأخيرةالأخيرة

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