1 مرفق
كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
في هذا الموضوع سنشرح بالتفصيل كيفية انشاء تقارير فنية فوركسية عالية الجودة والاحترافية بواسطة لغة MQL4
سوف تحتاج المكتبة الرائعة mt4excel.dll والمرفقة مع نفس الموضوع .
يجب أن تكون خبيرا في البرمجة بلغة MQL4 وأن تكون خبيرا أيضا ببرنامج الاكسيل لحد ما .
يمكن عمل التقارير بواسطة المؤشرات أو الاسكريبتات أو حتى الاكسبيرتات .
فمن الجميل مثلا أن يقوم الاكسبيرت بعمل تقرير عن صفقاته بطريقة لا يوفرها برنامج الميتاتيدر نفسه .
أو يمكنك عمل مؤشر يقوم بصنع تقرير يضم معلومات كثيرة تظهر في صفحة واحدة .
نبدأ على بركة الله
أولا يجب أن يضم البرنامج هذا الكود في القسم العام .
وهو يحتوي على أسماء الوظائف الموجودة في المكتبة والتي يمكننا استدعائها من خلال برنامجنا .
كود PHP:
#include <WinUser32.mqh>
#import "mt4excel.dll"
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();
#import
يتبع ...
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
سنقوم الآن بشرح الوظائف وكيفية استخدامها
تقوم هذه الوظيفة بتشغيل برنامج الإكسيل وفتح ملف اكسيل جديد .
تستخدم الوظيفة على الشكل التالي :
كود PHP:
if (ExcelOpen())
{
Print("Excel Open");
}
else
{
Print("Excel Open Error ",ExcelGetLastErrorText());
}
في حال نجحت الوظيفة فإنها تعود بقيمة true وفي حال فشلت لأي سبب فإنها تعود بقيمة false
لاحظوا أننا استخدمنا الوظيفة ExcelGetLastErrorText التي تعود لنا برسالة الخطأ الحاصل والتي قمنا بطباعتها للمستخدم ليعلم نوع الخطأ الحاصل .
تقوم بإغلاق برنامج الإكسيل دون حفظ الملف الأخير .
كود PHP:
ExcelSaveAs(FileName)
تقوم بحفظ الملف الحالي ويجب تحديد المسار الكامل للملف مع اسمه .
تقوم بحفظ الملف الحالي بنفس اسمه المحدد سلفا ولا داعي لتحديد اسم أو مسار .
كود PHP:
ExcelOpenFile(FileName)
تقوم هذه الوظيفة بفتح الملف الموجود مسبقا ومن ثم تستطيع
التعديل فيه كما تريد .
يتبع ...
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
السلام عليكم و رحمة الله
متابعين معك أخي وضاح
تحياتي و تقديري
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
وأنا في الصف الأمامي
جزاك الله كل خير
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
اقتباس:
المشاركة الأصلية كتبت بواسطة forex_manager
السلام عليكم و رحمة الله
متابعين معك أخي وضاح
تحياتي و تقديري
اقتباس:
المشاركة الأصلية كتبت بواسطة wajdyss
وأنا في الصف الأمامي
جزاك الله كل خير
بارك الله فيكم
نريد تقارير قوية على الاكسيل فالمجال أصبح مفتوحا الآن .
نتابع شرح الوظائف
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
كود PHP:
ExcelAddSheet(SheetName)
تقوم هذه الوظيفة بإضافة صفحة جديدة للملف الحالي بالاسم المحدد .
كود PHP:
ExcelGetValueCell(X,Y)
تقوم هذه الوظيفة بقراءة محتوى الخلية الرقمي ذات الاحداثيات X Y .
حيث X تمثل رقم العمود .
و Y تمثل رقم السطر .
والخلية التي تسمى في الاكسيل A1 لها الاحداثيات 1,1
كود PHP:
ExcelGetTextCell(X,Y)
تقوم هذه الوظيفة بقراءة محتوى الخلية النصي ذات الاحداثيات X Y .
كود PHP:
ExcelSetValueCell(int X,int Y,double Value)
تقوم هذه الوظيفة بكتابة قيمة رقمية في خلية محددة .
كود PHP:
ExcelSetTextCell(int X,int Y,string Value)
تقوم هذه الوظيفة بكتابة قيمة نصية في خلية محددة .
يتبع ...
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
درس قيم أخي وضاح بارك الله بك
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
اقتباس:
المشاركة الأصلية كتبت بواسطة محمود عامر
درس قيم أخي وضاح بارك الله بك
أهلا بأخي محمود عامر كبير المبرمجين :015:
نريد الآن إغراق السوق :asvc: بتقارير اكسيل محترمة .
ما رأيك
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
اخ وضاح يعطيك العافية على مجهودك
هل هناك من وسيلة لتصدير قراءات مؤشر بشكل مباشر الى اكسل؟
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
اقتباس:
المشاركة الأصلية كتبت بواسطة old_man
اخ وضاح يعطيك العافية على مجهودك
هل هناك من وسيلة لتصدير قراءات مؤشر بشكل مباشر الى اكسل؟
الله يعافيك أخي الكريم
نعم يمكن ذلك بسهولة
تابع هذا الموضوع حتى نهايته
https://forum.arabictrader.com/t48405.html
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
ماشاء الله .. الله يوفقك اخوي ويجزاك الف خير ..
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
اقتباس:
المشاركة الأصلية كتبت بواسطة TRIDER
ماشاء الله .. الله يوفقك اخوي ويجزاك الف خير ..
أهلا بك أخي العزيز وشكرا لك
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
كود PHP:
ExcelSetRange(Range)
تقوم هذه الوظيفة بتحديد مجال خلايا اكسيل معين كي نقوم بعمل معين على هذا المجال
كتغيير اللون أو العرض أو الارتفاع وخلافه .
مثلا لتحديد المجال من الخلية A1 إلى الخلية A10 فإننا نكتب ما يلي :
كود PHP:
ExcelSetRange("A1:A10");
وهذا المثال يعني كأننا حددنا العشرة خلايا في برنامج الاكسيل بواسطة الماوس .
كود PHP:
ExcelSetFormat(Format)
تقوم هذه الوظيفة بتغيير طريقة عرض المعلومات ضمن الخلايا المحددة .
مثلا نريد عرض الأرقام لمجال معين نختاره لكي يظهر بأربع خانات بعد الفاصلة فإن الكود لهذه العملية كما يلي :
كود PHP:
ExcelSetRange("A1:A10");
ExcelSetFormat("0.0000");
أولا حددنا المجال المراد تغيير طريقة الإظهار له
ثم حددنا طريقة الإظهار المطلوبة .
ما يمكننا كتابته في البارامتر Format يعود لإمكانيات الاكسيل نفسها وهو موضوع مستقل بذاته
يمكنك مراجعة وثائق برنامج الاكسيل للحصول على هذه التركيبات الغريبة والعجيبة لطرق إظهار المعلومات .
يتبع ...
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
ما شاء الله اخى الحبيب وضاح
موضوع يستحق المتابعه والتدقيق والجلوس صامتين ومنتبهين على طاولات الفصل :015:
متابع معك ولكن اسمحلى لن يكون بصمت فى حاله وجود تساؤلات :eh_s(7):
جزاك الله كل الخير
رد: كيف تنشيء تقارير عالية الجودة لبرنامج الاكسيل
اقتباس:
المشاركة الأصلية كتبت بواسطة Amro
ما شاء الله اخى الحبيب وضاح
موضوع يستحق المتابعه والتدقيق والجلوس صامتين ومنتبهين على طاولات الفصل :015:
متابع معك ولكن اسمحلى لن يكون بصمت فى حاله وجود تساؤلات :eh_s(7):
جزاك الله كل الخير
حياك الله أخي عمرو
وإن شاء الله أكون قد أفدتك ولو قليلا بهذا الموضوع