النتائج 1 إلى 6 من 6
الموضوع: تحويل الدوال من mql4 الى mql5
- 16-04-2024, 08:28 AM #1
تحويل الدوال من mql4 الى mql5
السلام عليكم و رحمة الله و بركاته
اخوانى الاعزاء من المهتمين بالبرمجة ، دارسين و ممارسين …
بعد موضوعنا السابق عن مناقشة المفاهيم فى تحويل الاصدار من mql4 الى mql5 فى الهدف و فلسفه التطوير ، فقد جعلنا موضوع مناقشة المفاهيم هذا للأسئله العامه فى اللغة وتطورها لإكمال الفهم العميق للمادة …
وقد خصصنا هذا الموضوع لتحويل الاكواد و الدوال الاساسيه فى mql4 الى نظيرتها فى mql5 ، ليكون شبه مرجع مختصر بقدر الإمكان بحيث قد يساعد الاخوة المبرمجين الراغبين فى التحويل حديثا لبرامجهم القديمة التى يعتمدون عليها فى التداول …
فالنبدأ بسم الله ,,,
- 16-04-2024, 08:41 AM #2
بسم الله الرحمن الرحيم
— فترات الرسم البيانى …
تغيرت ثوابت التعويض عن فترة الرسم البياني ، فأصبح التمثيل بالقيمه "سترينج" فقط ، وتمت إضافة بعض الفترات الزمنية الجديدة …
عن التعويض من الخارج بمتغيرات "اكستيرن" و التى اصبحت "انبوت" بقيمه "انت" خارجيه بالشكل التالى ……
اولا : فى المنطقه جلوبال سوف نعرف المتغير الخارجى كما العاده …
كود PHP:input int _PERIOD;
ثانيا : فى الوظيفه "انيت" نعوض مصفوفه الفترات ثم نترجم الاختيار الخارجى للبرنامج كما يلى …
كود PHP://+------------------------------------------------------------------+
ENUM_TIMEFRAMES tf;
switch(_PERIOD)
{
case 0: tf = PERIOD_CURRENT;
case 1: tf = PERIOD_M1;
case 5: tf = PERIOD_M5;
case 15: tf = PERIOD_M15;
case 30: tf = PERIOD_M30;
case 60: tf = PERIOD_H1;
case 240: tf = PERIOD_H4;
case 1440: tf = PERIOD_D1;
case 10080: tf = PERIOD_W1;
case 43200: tf = PERIOD_MN1;
case 2: tf = PERIOD_M2;
case 3: tf = PERIOD_M3;
case 4: tf = PERIOD_M4;
case 6: tf = PERIOD_M6;
case 10: tf = PERIOD_M10;
case 12: tf = PERIOD_M12;
case 16385: tf = PERIOD_H1;
case 16386: tf = PERIOD_H2;
case 16387: tf = PERIOD_H3;
case 16388: tf = PERIOD_H4;
case 16390: tf = PERIOD_H6;
case 16392: tf = PERIOD_H8;
case 16396: tf = PERIOD_H12;
case 16408: tf = PERIOD_D1;
case 32769: tf = PERIOD_W1;
case 49153: tf = PERIOD_MN1;
default: tf = PERIOD_CURRENT;
}
//+------------
- 18-04-2024, 09:26 AM #3
Account Information
يتم سحب بيانات الحساب من مصفوفات "AccountInfo"
التالى يبين التعويض عن اكثر معلومات الحساب شيوعا طلبا للمبرمجين : …..
كود PHP:double AccountInfoDouble(ACCOUNT_BALANCE)
double AccountInfoDouble(ACCOUNT_CREDIT)
string AccountInfoString(ACCOUNT_COMPANY)
string AccountInfoString(ACCOUNT_CURRENCY)
double AccountInfoDouble(ACCOUNT_EQUITY)
double AccountInfoDouble(ACCOUNT_FREEMARGIN)
int AccountInfoInteger(ACCOUNT_LEVERAGE)
double AccountInfoDouble(ACCOUNT_MARGIN)
string AccountInfoString(ACCOUNT_NAME)
int AccountInfoInteger(ACCOUNT_LOGIN)
double AccountInfoDouble(ACCOUNT_PROFIT)
string AccountInfoString(ACCOUNT_SERVER)
- 21-04-2024, 01:23 PM #4
Conversion Functions
كود PHP:
string CharToString(int char_code)
string DoubleToString(double value, int digits=8)
double StringToDouble(string value)
long StringToInteger(string value)
datetime StringToTime(string value)
string TimeToString(datetime value, int mode=TIME_DATE|TIME_MINUTES)
- 24-05-2024, 12:15 AM #5
موضوع و تعليمي مهم جدا استاذنا...
ممكن بعض الأمثلة ان تاتي باي مؤشر mt4 تحوله أمامنا إلى mt5 لكي نتعلم ونرى الاختلاف
يا ريت تحويل بعض المؤشرات هنا لكي نتعلم أكثر بما انه الهدف تعليمي..
بدنا عملي وشكرا لكآخر تعديل بواسطة Asil_ali ، 24-05-2024 الساعة 12:17 AM
- 24-05-2024, 12:45 PM #6
برنامج "كامل" صعب تحويله عزيزى المتابع الا على صاحبه ...
لأن يوجد اكواد فى كثير من الاحيان يكون ليس لها هدف مباشر فى فكره البرنامج و تكون بالنسبه اللذى يقوم بالتحويل صعبه فى وضعها فى البناء الجديد
يمكن ان تكون هذه النصوص موضوعه لسبب خفى كتأمينى للصفقات او حتى نوعيه وحيده من الصفقات التى يتعامل معها البرنامج مثلا او اى سبب اخر غير مباشر فى الفكره، يصعب اصلا قرائه الكود كامل و تفسيره ، و اقصد بالكامل يعنى كود البرنامج كاملا مكملا ...
يسهل تفسير الدوال كل على حده
انما برنامج كامل صعب ... لماذا؟
لأن يوجد الكثير من التطبيقات او الافكار عندما تنفذ وجب وضع اجزاء منها و توزيع اذنابها فى اماكن متفرقه من الكود الكامل بالاضافه الى تضمين بعض الوظائف داخل و خلال بعض الدوال و الوظائف الاخرى و هذا لكى تعمل بشكل صحيح و ليست فى مكان واحد كالبلوك ... فالبناء غالبا ما يكون معقد لكى يعمل بشكل يظهر لك انه صحيح ...
كالذراع فى الانسان ، يحتاج الى القلب لامداده بالدماء و هو خارج الذراع ، و يحتاج الجهاز الهضمى لامداده بالمغذيات و هو خارج الذراع ، و يحتاج الى المخ لأرسال الاوامر له و هو خارج الذراع ، و يحتاج الى الجهاز العصبى لتوصيل الاوامر و الاحساس ، و يحتاج الى الجهاز المناعى لاصلاح الاضرار عند الجروح ، كل هذا خارج الذراع ...
فعلى سبيل المثال ان نريد ان نحدث اسلوب المضاعفات فى برنامج معين فعلينا ان نبحث فى اماكن متفرقه من الكود ...
1) مكان المتغيرات الخاصه بأداره رأسمال
2) مكان الوظيفه التى تعدل فى الوتات و دراسه طريقه عملها و فهمها و متى تعدل و تعدل الى كم و متى تثبت و الى متى ...الخ
3) مكان الوظيفه التى تحسب حجم اللوت المتغير اصلا و فهم طريقه الحساب فى الظروف المختلفه
4) ثم كيفيه الربط بين مهرجان الوظائف و الدوال و المتغيرات هذا
4) ثم التجارب و مما ادراك بالوقت المهدر فى التجارب و فك طلاسم الاخطاء ... و لأنك تعمل فى بناء غيرك ... فيمكن ان تؤثر اشياء كثيره متفرقه على عمل الوظائف و من الوارد ايضا ان تنسى او تزيد حرف او رمز هنا او هناك نتيجه لزحمه و فوضى الافكار و الروابط و المتغيرات الحادثه نتيجه على انك لست المصمم و المنظم الاول للبناء ...
لذالك نقول دائما التحويل الكامل لبرنامج صعب الا على صاحبه ...
هذا نحن كنا نتكلم فقط عن تطبيق واحد كالمضاعفات داخل برنامج يحوى الكثير من التطبيقات فى مكان واحد و بشكل "متداخل و متشابك" و ليس بشكل منفصل او بشكل متتابع
البناء من جديد اسهل من التعديل على برنامج انت ليس بمصممه ...
ففى موضوعنا هذا نحن نحاول تحويل الوظائف و الدوال و فهم فلسفه التغيير و التحديث الذى طرأ على اللغه من خلال فهم التغير الذى قد حدث فى الدوال و هياكل البناء ...
نحن نتناوال و نستعرض هنا الموارد المتاحه فى اللغه لنا للقيام بعمليه بناء للبرامج
و قد بدأنا فى هذا الموضوع و لم نلحظ تفاعل من الاعضاء عليه و لذلك ترك و اهمل
ففى هذا السياق اشكرك اخى الغالى على احياء هذا الموضوع مره اخرى و ادعوك الى استعراض دوال محدده مع بيان فهمك لها و سوف نتجاوب معك بشرح تحويلها و تفسيره بقدر الامكان طبعا مع مزيد من المناقشات العلميه حولها
شكرا لك و جمعه مباركه للجميع,,,,آخر تعديل بواسطة Algo_Master ، 24-05-2024 الساعة 11:42 PM