النتائج 1 إلى 15 من 30
- 17-04-2012, 11:55 PM #1
------مكتبات(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);
أرجو من الله أن أكون وفقت في عملي هذا
وإلى اللقاء مع مكتبة أخرى إن شاء الله
- 18-04-2012, 01:01 AM #2
الله يجزيك الخير استاذ بروجمان عن جد موضوع مهم جدا جدا
- 18-04-2012, 01:26 AM #3
السلام عليكم ورحمة الله وبركاته
-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) {...}
أرجو من الله أن أكون وفقت في عملي هذا
وإلى اللقاء مع مكتبة أخرى
آخر تعديل بواسطة Prog_Man ، 18-04-2012 الساعة 01:29 AM
- 18-04-2012, 01:35 AM #4
- 18-04-2012, 08:58 AM #5
بارك الله فيك ,
بالنسبة للمكتبة الأولى أين أكتب رابط الملف الذي أرغب في فتحه والتعديل عليه
في أي ملف ؟
مجهود رائع
- 18-04-2012, 11:39 AM #6
شكرا جزيلا
تم تجربة المكتبة الأولى ممتازة جدا وشكرا
- 18-04-2012, 01:51 PM #7
- 18-04-2012, 01:56 PM #8
جزاك الله خير أخى Prog_Man , وجاري الاطلاع بإذن الله
- 18-04-2012, 02:01 PM #9
السلام عليكم ورحمة الله وبركاته
-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" مفعل.
أرجو من الله أن أكون وفقت في عملي هذا
وإلى اللقاء مع مكتبة أخرى
- 18-04-2012, 05:37 PM #10
- 18-04-2012, 05:52 PM #11
- 18-04-2012, 10:30 PM #12
- 19-04-2012, 02:26 AM #13
- 19-04-2012, 03:09 AM #14شرح مكتبة Http Client بناء على طلب الأخ mercury_manفي البداية تم استدعاء المكتبة عن طريق الأمر التالي
وسأشرح إن شاء الله المثال الموجود مع المكتبة
كود PHP:#include <http51.mqh>
عرف متغير عبارة عن مصفوفة لحفظ البارامترات التي يريد ارسالها إلى الموقع وهي توضع هكذا دون تغيير
كود PHP:string params [0,2]; //paramArray
كود PHP:ArrayResize( params, 0); // Flush old data
int status[1]; // HTTP Status code
كود 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);
كود PHP://Send Request
//string res = httpGET("http://127.0.0.1/test?"+ req, status);
string res = httpPOST("http://127.0.0.1/test", req, status);
العائد من الدالتين سيكون الحالة للإتصال وهي مخزنة في status و أيضا نص الملف المرسل إليه وهو مخزن في المتغير res
بالنسبة لحالة الاتصال status يجب أن تعطي رقم 200 وذلك يدل على نجاح الاتصال
طبعا سيتم التعامل مع البارمترات المرسلة وذلك من خلال برمجة الصفحة المستقبلة لها و هذا مجال برمجة الويب بإمكانك البحث فيه.
هذا ما أستطعت أن أشرحه حاليا وإذا كان هناك إستفسار محدد أرجو أن توضحه
والله أعلم
آخر تعديل بواسطة Prog_Man ، 19-04-2012 الساعة 03:20 AM
- 19-04-2012, 05:07 AM #15
السلام عليكم ورحمة الله وبركاته
-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 لوضع الاختيار على عنصر محدد برمجيا
وأي استفسار أنا حاضر إن شاء الله
ملاحظة هامة : يجب أن يكون خيار "Allow DLL Import" مفعل.
أرجو من الله أن أكون وفقت في عملي هذا
وإلى اللقاء مع مكتبة أخرى
آخر تعديل بواسطة Prog_Man ، 19-04-2012 الساعة 05:15 AM